PreparedStatement オブジェクトで標準のパラメーター・マーカーの代わりに名前付きパラメーター・マーカーを使用して、パラメーター・マーカーに値を割り当てることができます。
名前付きパラメーター・マーカーを PreparedStatement オブジェクトで使用するには、以下の手順に従います。
以下のコードでは、名前付きパラメーター・マーカーを使用して、従業員番号「000010」の従業員の電話番号を「4657」に更新します。 選択されたステートメントの右にある番号は、以前に説明されたステップに対応しています。
Connection con;
PreparedStatement pstmt;
int numUpd;
…
pstmt = con.prepareStatement(
"UPDATE EMPLOYEE SET PHONENO=:phonenum WHERE EMPNO=:empnum");
// Create a PreparedStatement object 1
((com.ibm.db2.jcc.DB2PreparedStatement)pstmt).setJccStringAtName
("phonenum", "4567");
// Assign a value to phonenum parameter 2
((com.ibm.db2.jcc.DB2PreparedStatement)pstmt).setJccStringAtName
("empnum", "000010");
// Assign a value to empnum parameter
numUpd = pstmt.executeUpdate(); // Perform the update 3
pstmt.close(); // Close the PreparedStatement object
以下のコードでは、名前付きパラメーター・マーカーを使用して、PL/SQL ブロックの値を更新します。 選択されたステートメントの右にある番号は、以前に説明されたステップに対応しています。
Connection con;
PreparedStatement pstmt;
int numUpd;
…
String sql =
"BEGIN " +
" UPDATE EMPLOYEE SET PHONENO = :phonenum WHERE EMPNO = :empnum; " +
"END;";
pstmt = con.prepareStatement(sql); // Create a PreparedStatement object 1
((com.ibm.db2.jcc.DB2PreparedStatement)pstmt).setJccStringAtName
("phonenum", "4567");
// Assign a value to phonenum parameter 2
((com.ibm.db2.jcc.DB2PreparedStatement)pstmt).setJccStringAtName
("empnum", "000010");
// Assign a value to empnum parameter
numUpd = pstmt.executeUpdate(); // Perform the update 3
pstmt.close(); // Close the PreparedStatement object