package query;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import oracle.jdbc.pool.OracleDataSource;

public class Query4 {
 
 OracleDataSource ds;
 
 public Query4() {
  try {
   ds = new OracleDataSource();
   ds.setURL("jdbc:oracle:thin:@211.234.53.67:1521:orcl");
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
 
 private void execute() {
  Connection conn = null;
  PreparedStatement pstmt = null;

  // 사용자한테 이름하고 주소를 입력받는다.
  //유동적으로 변하는 값에 "?"를 사용.
  //ps. 값만 가능하다.
  //미리 준비를 하기때문에 문법검사를 미리하는것.
  //나중에 값을 원하는 값을 셋팅해주는 것.

  StringBuffer sql = new StringBuffer();
  sql.append("INSERT into test (no, name, addr)              \n");
  sql.append("values(                                                   \n");
  sql.append(" (SELECT NVL(MAX(no),0)+1 FROM test),  \n");
  sql.append(" ?, ?)                                                      \n");
  try {
   conn = ds.getConnection("scott", "tiger");
   pstmt = conn.prepareStatement(sql.toString());
   pstmt.setString(1, "전완진");
   pstmt.setString(2, "다리밑");
   pstmt.executeUpdate();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   try {
    if(pstmt != null) pstmt.close();
    if(conn != null) conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  new Query4().execute();
 }


}

다른 카테고리의 글 목록

웹 개발/JDBC 기초 카테고리의 포스트를 톺아봅니다