Hitachi

Hitachi Advanced Data Binder AP開発ガイド


7.4.2 ?パラメタの使用方法

?パラメタを使用してデータを検索する場合,次に示す順序で処理を実行します。

〈この項の構成〉

(1) PreparedStatementオブジェクトの生成

PreparedStatementオブジェクトを生成して,?パラメタを指定したSELECT文をHADBサーバに送ります。

なお,HADBサーバへの接続がすでに確立されている場合は,ConnectionオブジェクトのprepareStatementメソッドを使用してPreparedStatementオブジェクトを生成できます。

PreparedStatementオブジェクトの生成例を次に示します。

 // HADBサーバへ接続します
 Connection con = DriverManager.getConnection(url, info);
 
 // PreparedStatementオブジェクトを生成します
 PreparedStatement pstmt = 
 con.prepareStatement("SELECT * FROM \"SAMPLE\" WHERE \"CODE\" = ? AND \"STATE\" = ?");

prepareStatementメソッドの引数にSELECT文を指定すると,このSELECT文が前処理されてPreparedStatementオブジェクトが生成されます。

SQL文に?パラメタを指定している場合,SQL文の実行前に各?パラメタの値を設定する必要があります。?パラメタに値を設定するには,setXXXメソッドを使用します。

(2) SELECT文の実行

引数指定なしのexecuteQueryメソッドを使用してSELECT文を実行します。?パラメタを使用したSELECT文の実行例を次に示します。

 PreparedStatement pstmt = 
 con.prepareStatement("SELECT * FROM \"SAMPLE\" WHERE \"CODE\" = ? AND \"STATE\" = ?");
 
 // 1番目の?パラメタに値を設定します
 pstmt.setInt(1, 12345);
 // 2番目の?パラメタに値を設定します
 pstmt.setString(2, "Boston");
 
 // 前処理済みのSQL文を実行して,ResultSetオブジェクトを取得します
 ResultSet rs = pstmt.executeQuery();

SELECT文を実行すると,ResultSetオブジェクトに検索結果が格納されます。

(3) 検索結果の取得

検索結果の取得方法については,「7.4.1 データの検索方法」の「(3) 検索結果の取得」を参照してください。