❓ 문제 (SID, NAME, TEL을 입력받아 데이터베이스에 데이터 넣어주기!)
/*===================
Test004.java
====================*/
// 실행 예)
// 번호를 입력하세요(-1 종료) : 3
// 이름을 입력하세요 : 박나영
// 전화번호를 입력하세요 : 010-3333-3333
// >> 데이터베이스 연결 성공~!!!
// >> 회원 정보가 입력되었습니다.
// 번호를 입력하세요(-1 종료) : 4
// 이름을 입력하세요 : 정현욱
// 전화번호를 입력하세요 : 010-4444-4444
// >> 데이터베이스 연결 성공~!!!
// >> 회원 정보가 입력되었습니다.
// 번호를 입력하세요(-1 종료) : 5
// 이름을 입력하세요 : 김민지
// 전화번호를 입력하세요 : 010-5555-5555
// >> 데이터베이스 연결 성공~!!!
// >> 회원 정보가 입력되었습니다.
// >> 데이터베이스 연결 성공~!!!
// >> 회원 정보가 입력되었습니다.
// 번호를 입력하세요(-1 종료) : -1
// >> 데이터베이스 연결 닫힘~!!!
// >> 프로그램 종료됨~!!!
❗ 풀이
package com.test;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import com.util.DBConn;
public class Test004
{
public static void main(String[] args) throws ClassNotFoundException, SQLException
{
Scanner sc = new Scanner(System.in);
Connection conn = DBConn.getConnection();
// 번호를 입력하세요는 계속 나와야 하니 do~while문 사용!
do
{
System.out.print("번호를 입력하세요(-1 종료) : ");
String sid = sc.next();
if (sid.contentEquals("-1"))
break;
System.out.print("이름을 입력하세요 : ");
String name = sc.next();
System.out.print("전화번호를 입력하세요 : ");
String tel = sc.next();
if (conn != null)
{
System.out.println("데이터베이스 연결 성공~!!!");
try
{
// 작업 객체 준비
Statement stmt = conn.createStatement();
// createStatement()메소드는 java.sql.Connection 인터페이스를 구현한
// 클래스의 인스턴스를 통해 호출 가능한 메소드
//String sql = "INSERT INTO TBL_MEMBER(SID, NAME, TEL) VALUES(\" + sid + \",'\" + name + \"','\" + tel + \"')";
String sql = String.format("INSERT INTO TBL_MEMBER(SID, NAME, TEL) VALUES(%s, '%s', '%s')", sid, name, tel);
// ''확인하기! '' 없이 넘기면 오라클에서는 number로 인식!
int result = stmt.executeUpdate(sql);
//-- executeUpdate() 메소드는 적용된 행의 갯수를 반환함.
if (result > 0)
{
System.out.println(">> 회원 정보가 입력되었습니다.\n");
}
else
{
System.out.println(">> 회원 정보 입력 실패~!!!\n");
}
} catch (Exception e)
{
System.out.println(e.toString());
}
}
else
{
System.out.println(">> 데이터베이스 연결 실패~!!!");
break;
}
} while (true);
// 리소스 반납
sc.close();
DBConn.close();
System.out.println(">> 데이터베이스 연결 닫힘~!!!");
System.out.println(">> 프로그램 종료됨~!!!");
}
}
✔️ 데이터 베이스에 데이터 입력하는 쿼리문 작성 시 ' ' 잊지 말자! 잊어버리면 오라클에서는 number로 인식합니다~!
❓ 문제 (SID, NAME, TEL을 입력받아 데이터베이스에 데이터 넣어주기!)
/*=================== Test004.java ====================*/ // 실행 예) // 번호를 입력하세요(-1 종료) : 3 // 이름을 입력하세요 : 박나영 // 전화번호를 입력하세요 : 010-3333-3333 // >> 데이터베이스 연결 성공~!!! // >> 회원 정보가 입력되었습니다. // 번호를 입력하세요(-1 종료) : 4 // 이름을 입력하세요 : 정현욱 // 전화번호를 입력하세요 : 010-4444-4444 // >> 데이터베이스 연결 성공~!!! // >> 회원 정보가 입력되었습니다. // 번호를 입력하세요(-1 종료) : 5 // 이름을 입력하세요 : 김민지 // 전화번호를 입력하세요 : 010-5555-5555 // >> 데이터베이스 연결 성공~!!! // >> 회원 정보가 입력되었습니다. // >> 데이터베이스 연결 성공~!!! // >> 회원 정보가 입력되었습니다. // 번호를 입력하세요(-1 종료) : -1 // >> 데이터베이스 연결 닫힘~!!! // >> 프로그램 종료됨~!!!
❗ 풀이
package com.test; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner; import com.util.DBConn; public class Test004 { public static void main(String[] args) throws ClassNotFoundException, SQLException { Scanner sc = new Scanner(System.in); Connection conn = DBConn.getConnection(); // 번호를 입력하세요는 계속 나와야 하니 do~while문 사용! do { System.out.print("번호를 입력하세요(-1 종료) : "); String sid = sc.next(); if (sid.contentEquals("-1")) break; System.out.print("이름을 입력하세요 : "); String name = sc.next(); System.out.print("전화번호를 입력하세요 : "); String tel = sc.next(); if (conn != null) { System.out.println("데이터베이스 연결 성공~!!!"); try { // 작업 객체 준비 Statement stmt = conn.createStatement(); // createStatement()메소드는 java.sql.Connection 인터페이스를 구현한 // 클래스의 인스턴스를 통해 호출 가능한 메소드 //String sql = "INSERT INTO TBL_MEMBER(SID, NAME, TEL) VALUES(\" + sid + \",'\" + name + \"','\" + tel + \"')"; String sql = String.format("INSERT INTO TBL_MEMBER(SID, NAME, TEL) VALUES(%s, '%s', '%s')", sid, name, tel); // ''확인하기! '' 없이 넘기면 오라클에서는 number로 인식! int result = stmt.executeUpdate(sql); //-- executeUpdate() 메소드는 적용된 행의 갯수를 반환함. if (result > 0) { System.out.println(">> 회원 정보가 입력되었습니다.\n"); } else { System.out.println(">> 회원 정보 입력 실패~!!!\n"); } } catch (Exception e) { System.out.println(e.toString()); } } else { System.out.println(">> 데이터베이스 연결 실패~!!!"); break; } } while (true); // 리소스 반납 sc.close(); DBConn.close(); System.out.println(">> 데이터베이스 연결 닫힘~!!!"); System.out.println(">> 프로그램 종료됨~!!!"); } }
✔️ 데이터 베이스에 데이터 입력하는 쿼리문 작성 시 ' ' 잊지 말자! 잊어버리면 오라클에서는 number로 인식합니다~!