관리 메뉴

nkdk의 세상

자바 Language 20일째 JDBC 본문

My Programing/JAVA

자바 Language 20일째 JDBC

nkdk 2008. 3. 8. 01:16
package db;
import java.sql.*;

public class OraDb2 {
Connection conn;
PreparedStatement pstmt; // 자료를 빨리 불러 올시 prepare스테이트 먼트를 자주 사용한다.
ResultSet rs;
public OraDb2() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch (Exception e) {
System.out.println("연결실패: "+e);
}finally {
System.out.println("연결성공");
}

try {
// DB연결 //odbc에서 추가 시켜 준다
conn=DriverManager.getConnection("jdbc:odbc:oradbs","SCOTT","TIGER");


// try {
// pstmt=conn.prepareStatement("insert into sangdata values(code_seq.nextval, ?,?,?)");
// pstmt.setString(1,"스캐노");
// pstmt.setInt(2,11);
// pstmt.setInt(3,49293);
// pstmt.executeUpdate();
// }catch (Exception e) {
// System.out.println("입력오류"+e);
// }
// ResultsetMetaData: 테이블 관련 정보를 얻을 때 사용한다.


pstmt=conn.prepareStatement("SELECT * FROM SANGDATA where code > 1 ORDER BY CODE"); // ASC 소트 방식
// pstmt=conn.prepareStatement("SELECT * FROM SANGDATA where code > ? ORDER BY CODE"); // ASC 소트 방식
// pstmt.setInt(1,1); // 위에 있는 첫번째 물음표에 2라는 값을 넣어 주었다라는 말과 같음 prepare에서만 가능
// pstmt.setString(2,"마우스");
// state 에서는 변수를 사용한다.
//미리 값을 준다.
rs=pstmt.executeQuery();
ResultSetMetaData rmeta=rs.getMetaData();
int count=rmeta.getColumnCount();
for (int i=1;i<=count;i++) {
System.out.print(rmeta.getColumnName(i) + " ");
}
System.out.println();
while(rs.next()) {
String code=rs.getString("CODE");
String sang=rs.getString("SANG");
String su=rs.getString("SU");
String dan=rs.getString("DAN");
System.out.println(code+" " +sang + " " +dan+ " " + su);
}
rs.close(); pstmt.close(); conn.close();
} catch (Exception e) {
System.out.println(e);
}
}

public static void main(String arg[]) {
new OraDb2();
}
}