::: 강좌/소스/문서 :::

강좌/소스/문서 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  신훈재(2004-06-18 14:00:56, Hit : 5772, Vote : 1427
 [자바] Update예제

[ Data update ]


/*******************************************************
create table test(
name varchar2(20),
no  number(8)
)
*******************************************************/

import db.*;
import java.io.*;
import java.text.*;
import java.util.*;
import java.io.IOException;
import java.sql.*;
import java.sql.SQLException;

public class jdbc3 {
public static void main(String[] args) {
   Connection conn= null;
   PreparedStatement ps =null;
   ResultSet rs =null;
   String stmt = null;
   String strRet = null;
   int    intRet = 0;

   // 1. jdbc driver 를 등록한다.
   try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
   } catch (ClassNotFoundException e ) {
    System.out.println(e);
   }

   // 2. DB와 연결한다.
   try{
    conn = DriverManager.getConnection(
           "jdbc:oracle:oci8:@","id","passwd");
   } catch (SQLException e) {
    System.out.println(e);
   }

  // 3. update
   try {
    // a. 매개변수가 없는 경우
    // 한글 변환
    strRet = new String("자료a".toString().getBytes("8859_1"), "KSC5601" );
    ps = conn.prepareStatement(
      "update test set " +
      "name = '" + strRet + "' " +
      "where no  = 1"
      );
    ps.executeUpdate();

    // b. 매개변수를 사용하는 경우
    // 한글 변환
    strRet = new String("자료b".toString().getBytes("8859_1"), "KSC5601" );
    ps = conn.prepareStatement(
      "update test set " +
      "name = ? " +
      "where no  = ?"
      );
    intRet = 2;
    ps.setString(1,strRet);
    ps.setInt(2,intRet);
    ps.executeUpdate();
  
    //4.db를 닫는다.
    ps.close();
    conn.close();
    System.out.println("자료저장");
   } catch (SQLException e) {
     System.out.println(e);
   } catch (UnsupportedEncodingException e) {
     System.out.println(e);
   }
}
}


  
--------------------------------------------------
설명.
제가 사용하고 있는 DB는 oracle8i입니다.

1.jdbc driver 를 등록한다.
2.DB와 연결한다.
3.update
  
  a. 실행을 원하는 문장을 conn.prepareStatement의 인자값으로 넘긴후
     ps.executeUpdate()를 실행하면 DB문자이 실행됩니다.
  
  ps = conn.prepareStatement("insert 문장" );
  ps.executeUpdate();

  
  b. sql문장에 있는 ?는 jdbc에 argument(인자)로 인식됩니다.
    인자를 넘겨주는 방법은
    ps.setString(1,strRet);
    ps.setInt   (2,intRet);
    참고 :       ?는 순서대로 1,2,...
  
  ps = conn.prepareStatement("update 문장" );
  ps.setXXX(1,strRet); => XXX는 자료형( Int, String ...)
  ps.executeUpdate();

4.db를 닫는다.
  ps.close();
  conn.close();
  
참고:한글문제
현재 제가 사용하고 있는 DB의 language setting이 KSC5601이라 아래와 같이
자료를 컨버젼합니다.

strRet = new String("자료1".toString().getBytes("8859_1"), "KSC5601" );

      
      





183   [네트워크/보안] [참고] 다중연결(multiple sockets) 서버의 구현방법 종류  김영대 2003/07/17 10414 2177
182   [네트워크/보안] [참고] TCP 에서 사용되는 효율향상 알고리즘  김영대 2004/07/16 10229 2032
181   [네트워크/보안] [참고] TCP 에서 사용되는 내부 타이머  김영대 2004/07/13 10099 1861
180   [Java/PHP] [자바] 활용팁(오라클)  신훈재 2004/06/18 6360 1679
179   [Java/PHP] [자바] 오라클 각종 에러  신훈재 2004/06/18 6918 1926
178   [Java/PHP] [자바] 여러종류의 데이타베이스 테스트 소스  신훈재 2004/06/18 7029 1550
177   [Java/PHP] [자바] 시스템 프로퍼티를 이용한 드라이버 로드  신훈재 2004/06/18 5845 1511
  [Java/PHP] [자바] Update예제  신훈재 2004/06/18 5772 1427
175   [Java/PHP] [자바] Select예제  신훈재 2004/06/18 8477 1640
174   [Java/PHP] [자바] ResultSet 질의결과  신훈재 2004/06/18 6485 1392
173   [Java/PHP] [자바] Query Statement  신훈재 2004/06/18 8210 1571
172   [Java/PHP] [자바] JDBC-ODBC 연결 예제  신훈재 2004/06/18 10467 1779
171   [Java/PHP] [자바] JDBC 테스트 소스(오라클)  신훈재 2004/06/18 5797 1423
170   [Java/PHP] [자바] JDBC 코딩시 주위사항(jsp, servlet)  신훈재 2004/06/18 8024 1451
169   [Java/PHP] [자바] JDBC Connect  신훈재 2004/06/18 11079 1583
168   [Java/PHP] [자바] Insert 예제  신훈재 2004/06/18 6858 1765
167   [Java/PHP] [자바] DB 컨넥션 풀  신훈재 2004/06/18 10324 1973
166   [Delphi] [소스] 한글이 들어있는 문자열에서 초성 음소로 검색하기  김영대 2004/10/23 10354 2198
165   [Delphi] [소스] 하루에 한번씩 자동으로 배경화면 바꾸기  김영대 2003/03/12 7467 1706
164   [Delphi] [소스] 폼의 내용을 그대로 저장하고 복원하는 콤포넌트  김영대 2003/03/12 7099 1741

1 [2][3][4][5][6][7][8][9][10]
 

Copyright 1999-2020 Zeroboard / skin by zero