/** JDBC 2ed p.28, Sun Microsystems (2000/7) Let's Begin Java Lesson 4 (JAVA PRESS Vol.21, 2001/12) JDBC 最初の一歩 (2002/1/11) Select a record from Access *.mdb by T.katayama */ import java.sql.*; import java.io.*; // 省略可能 public class JdbcSelectSample2 { public static void main (String args[]) { String myurl = "jdbc:odbc:FRIENDS"; String myuser = "user01", mypword = "passwd01"; Connection mycon = null; // Type1(JDBC-ODBC Bridge)ドライバの登録 try { Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ex) { System.err.println("Error: the JDBC driver is not found!"); ex.printStackTrace(); System.exit(1); } // Database接続(Connectionオブジェクトの取得) try { mycon = DriverManager.getConnection (myurl,myuser,mypword); } catch (SQLException ex) { System.err.println("Error: the DB connection cannot open! "); ex.printStackTrace(); System.exit(1); } // 検索の実行と結果の受取り Statement mystmt = null; ResultSet myrs = null; try { // SQLコンテナの作成 mystmt = mycon.createStatement(); // SQLの実行 String mysql = "SELECT * FROM FRIENDS_DT WHERE ID =" + args[0]; myrs = mystmt.executeQuery(mysql); System.out.println("SQL: " + mysql); } catch(SQLException ex) { System.err.println("Error: the SQL cannot execute! "); ex.printStackTrace(); // DB切断 mycon.close(); System.exit(1); } // 検索結果の表示 long xid; String xname, xmail, xnic; try { if (myrs.next()) { xid = myrs.getLong("ID"); xname = myrs.getString("NAME"); xmail = myrs.getString("MAIL"); xnic = myrs.getString("NICKNAME"); System.out.println("/ " + xid + "/ " + xname + "/ " + xmail + "/ " + xnic); } else { System.out.println("Error: 該当するレコードはありません"); } // オブジェクトの削除 myrs.close(); mystmt.close(); } catch(SQLException ex) { System.err.println("Error: 検索結果の表示ができません"); ex.printStackTrace(); // SQL実行時エラーの表示 while(ex != null) { System.err.println(ex.getMessage()); System.err.println("SQL state:"+ex.getSQLState()); System.err.println("Erro Code:"+ex.getErrorCode()); System.out.println(""); ex = ex.getNextException(); } } catch(Exception ex) { ex.printStackTrace(); System.out.println("例外エラー:" + ex); // 最後に必ず実行されるブロック } finally { // Database切断 try { mycon.close(); } catch(SQLException ex) { System.err.println("Error : DB close."); ex.printStackTrace(); System.exit(1); } } } // end of main }