練習問題
2.8 練習問題
本章で習った内容を元に練習問題を解いて下さい。
問1 次の設問①~⑤について○か×で答えなさい。
設問
① データの検索を行う場合、executeUpdate()メソッドを利用する。
② SELECT文を実行した結果セットはStatement型のオブジェクトとして返される。
③ 例外が発生した場合、プログラムは終了するためリソースの開放は必要ない。
④ 更新系のSQLを実行するプログラムの場合、処理の中で異なるのはSQL文だけである。
⑤ executeUpdate()メソッドの戻り値はSQL文が成功したかどうかの真偽値である。
問2 次のソースコードの①~⑥の空欄に入るものを選択肢から選んで答えなさい。
選択肢
next() ResultSet smt close() con finally
package jp.co.f1.jdbc.ch02exercise; import java.sql.*; public class Practice0201 { //接続用の情報をフィールドに定数として定義 private static String RDB_DRIVE="org.mariadb.jdbc.Driver"; private static String URL="jdbc:mariadb://localhost/practice_db"; private static String USER="root"; private static String PASSWD="root123"; public static void main(String[] args) { Connection con = null; Statement smt = null; try { Class.forName(RDB_DRIVE); con = DriverManager.getConnection(URL,USER,PASSWD); smt = con.createStatement(); String sql = "SELECT * FROM bookinfo"; ① rs = smt.executeQuery(sql); while (rs. ② ) { System.out.println("isbn -> " + rs.getString("isbn") + " title -> " + rs.getString("title") + " price-> " + rs.getString("price")); } } catch (Exception e) { System.out.println("JDBCデータベース接続エラー" + e); } ③ { try { if ( ④ != null) { System.out.println("SQLステートメントをクローズしました。"); smt. ⑥ ; } if ( ⑤ != null) { System.out.println("DB接続をクローズしました。"); con. ⑥ ; } } catch (SQLException ignore) { //例外処理の無視 } } } }