練習問題

2.8 練習問題

 本章で習った内容を元に練習問題を解いて下さい。

問1 次の設問①~⑤について○か×で答えなさい。

設問
① データの検索を行う場合、executeUpdate()メソッドを利用する。
② SELECT文を実行した結果セットはStatement型のオブジェクトとして返される。
③ 例外が発生した場合、プログラムは終了するためリソースの開放は必要ない。
④ 更新系のSQLを実行するプログラムの場合、処理の中で異なるのはSQL文だけである。
⑤ executeUpdate()メソッドの戻り値はSQL文が成功したかどうかの真偽値である。

問2 次のソースコードの①~⑥の空欄に入るものを選択肢から選んで答えなさい。

選択肢
 next()  ResultSet  smt  close()  con  finally

➢ Practice0201.java
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) {
 				//例外処理の無視
 			}
 		}
 	}
 }

NEXT>> 2.9 練習問題 解答