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

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


Category

  신훈재(2004-06-18 14:00:09, Hit : 6492, Vote : 1673
 [자바] Insert 예제

[ Data Insert ]


/*******************************************************
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 jdbc2 {
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. insert
   try {
    // a. 매개변수가 없는 경우
    // 한글 변환
    strRet = new String("자료1".toString().getBytes("8859_1"), "KSC5601" );
    ps = conn.prepareStatement(
      "insert into test values ( '" +
      strRet +
      "', 1) "
      );
    ps.execute();

    // b. 매개변수를 사용하는 경우
    // 한글 변환
    strRet = new String("자료2".toString().getBytes("8859_1"), "KSC5601" );
    ps = conn.prepareStatement(
      "insert into test values ( ?,? )"
      );
    intRet = 2;
    ps.setString(1,strRet);
    ps.setInt(2,intRet);
    ps.execute();
  
   // 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.insert
  
  a. 실행을 원하는 문장을 conn.prepareStatement의 인자값으로 넘긴후
     ps.execute()를 실행하면 DB문자이 실행됩니다.
  
  ps = conn.prepareStatement("insert 문장" );
  ps.execute();

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

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

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

      
      





23   [Java/PHP] [자바] DB 컨넥션 풀  신훈재 2004/06/18 9511 1857
22   [Java/PHP] [자바] JDBC-ODBC 연결 예제  신훈재 2004/06/18 9046 1672
21   [Java/PHP] [자바] 시스템 프로퍼티를 이용한 드라이버 로드  신훈재 2004/06/18 5487 1425
20   [Java/PHP] [자바] 오라클 각종 에러  신훈재 2004/06/18 6489 1671
19   [Java/PHP] [자바] 활용팁(오라클)  신훈재 2004/06/18 5997 1603
18   [Java/PHP] [자바] ResultSet 질의결과  신훈재 2004/06/18 6111 1317
17   [Java/PHP] [자바] Select예제  신훈재 2004/06/18 6249 1562
16   [Java/PHP] [자바] Update예제  신훈재 2004/06/18 5414 1333
  [Java/PHP] [자바] Insert 예제  신훈재 2004/06/18 6492 1673
14   [Java/PHP] [자바] Query Statement  신훈재 2004/06/18 7763 1468
13   [Java/PHP] [자바] JDBC Connect  신훈재 2004/06/18 6717 1489
12   [Java/PHP] [자바] JDBC 코딩시 주위사항(jsp, servlet)  신훈재 2004/06/18 6137 1357
11   [Java/PHP] [자바] 여러종류의 데이타베이스 테스트 소스  신훈재 2004/06/18 6421 1457
10   [Java/PHP] [자바] JDBC 테스트 소스(오라클)  신훈재 2004/06/18 5436 1345
9   [Java/PHP] [소스] snmp 를 이용한 시스템 가용율 구하기 예제  김영대 2003/12/01 9569 2092
8   [Java/PHP] [소스] Oolong 언어를 이용한 Factorial 계산 프로그램 예제  김영대 2003/11/10 6633 1683
7   [Java/PHP] [문서] Java Web Services Development Pack (JWSDP) 1.0 tutorial  김영대 2003/03/24 5851 1457
6   [Java/PHP] [문서] Java Swing v1.1.1 도움말  김영대 2003/03/24 5782 1470
5   [Java/PHP] [문서] Java Servlet Development Kit (JSDK) v2.3 도움말  김영대 2003/03/24 5520 1454
4   [Java/PHP] [문서] Java 2 SDK, Enterprise Edition (J2EE) 1.3.1 도움말  김영대 2003/03/24 5617 1469

1 [2]
 

Copyright 1999-2017 Zeroboard / skin by zero