練習問題
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) {
//例外処理の無視
}
}
}
}