PreparedStatement の execute メソッドを使用して SQL データ修正を実行できます。PreparedStatement は、データベースに対してユーザー定義の SQL 文を実行します。
PreparedStatement に SQL 文を適用するときは、? 文字でクエリパラメーターを指定します。INSERT 文、UPDATE 文、DELETE 文では、文での順序位置に従ってそれぞれの ? パラメーターが参照されます。たとえば、最初の ? はパラメーター 1、2 番目の ? はパラメーター 2、のようになります。
新しい SQL 文を String として準備します。
String sql_string = "INSERT INTO Department(dept_no, name) VALUES( ?, ? )"; |
String を PreparedStatement に渡します。
PreparedStatement inserter = conn.prepareStatement(sql_string); |
set メソッドを使用して、入力値を PreparedStatement に渡します。
この例では、パラメーター 1 として参照している dept_no に 101 を設定し、パラメーター 2 として参照している name に "Electronics" を設定しています。
inserter.set(1, 101); inserter.set(2, "Electronics"); |
文を実行します。
inserter.execute(); |
PreparedStatement を閉じてリソースを解放します。
inserter.close(); |
データベースへのすべての変更をコミットします。
conn.commit(); |
手順 (3) と (4) は、必要に応じて何回でも繰り返すことができます。
あるいは、次の例に示すように、単一エントリだけを挿入する必要がある場合は、1 つの INSERT 文を準備し、実行して、終了できます。
INSERT INTO Department(dept_no, name) VALUES(2, 'Electronics'); |
文は、Java String を連結させて作成することもできます。
新しい SQL 文を String として準備します。
String sql_string = "UPDATE Department SET dept_no = ? WHERE dept_no = ?"; |
String を PreparedStatement に渡します。
PreparedStatement updater = conn.prepareStatement(sql_string); |
set メソッドを使用して、入力値を PreparedStatement に渡します。
updater.set(1, 102); updater.set(2, 101); |
上記の例は、次の SQL 文の実行と同じです。
UPDATE Department SET dept_no = 102 WHERE dept_no = 101; |
文を実行します。
updater.execute(); |
PreparedStatement を閉じてリソースを解放します。
updater.close(); |
データベースへのすべての変更をコミットします。
conn.commit(); |
手順 (3) と (4) は、必要に応じて何回でも繰り返すことができます。
あるいは、単一の更新だけを実行する場合は、次の文を準備し、実行して、終了できます。
UPDATE Department SET dept_no = 102 WHERE dept_no = 101; |
この文は、Java String を連結させて作成することもできます。
新しい SQL 文を String として準備します。
String sql_string = "DELETE FROM Department WHERE dept_no = ?"; |
String を PreparedStatement に渡します。
PreparedStatement deleter = conn.prepareStatement(sql_string); |
set メソッドを使用して、入力値を PreparedStatement に渡します。
deleter.set(1, 102); |
上記の例は、次の SQL 文の実行と同じです。
DELETE FROM Department WHERE dept_no = 102; |
文を実行します。
deleter.execute(); |
PreparedStatement を閉じてリソースを解放します。
deleter.close(); |
データベースへのすべての変更をコミットします。
conn.commit(); |
手順 (3) と (4) は、必要に応じて何回でも繰り返すことができます。
あるいは、前述したように、単一の削除だけを実行する場合は、次の文を準備し、実行して、終了できます。
DELETE FROM Department WHERE dept_no = 102; |
この文は、Java String を連結させて作成することもできます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |