Mithilfe der execute-Methode eines PreparedStatement-Objekts können Sie eine SQL-Datenänderung durchführen. Ein PreparedStatement-Objekt fragt die Datenbank mittels einer benutzerdefinierten SQL-Anweisung ab.
Wenn eine SQL-Anweisung an einem PreparedStatement-Objekt angewendet wird, werden Abfrageparameter durch das ?-Zeichen angegeben. Bei einer INSERT-, UPDATE- oder DELETE-Anweisung wird jeder ?-Parameter entsprechend seiner Ordinalposition in der Anweisung referenziert. Das erste ? wird z.B. als Parameter eins referenziert und das zweite als Parameter zwei.
Bereiten Sie eine neue SQL-Anweisung als Zeichenfolge vor.
String sql_string = "INSERT INTO Department(dept_no, name) VALUES( ?, ? )"; |
Übergeben Sie die Zeichenfolge an das PreparedStatement-Objekt.
PreparedStatement inserter = conn.prepareStatement(sql_string); |
Übergeben Sie die Eingabewerte mit der set-Methode an das PreparedStatement-Objekt.
Dieses Beispiel setzt 101 für dept_no, referenziert als Parameter 1, und "Electronics" für den Namen, referenziert als Parameter 2.
inserter.set(1, 101); inserter.set(2, "Electronics"); |
Führen Sie die Anweisung aus.
inserter.execute(); |
Schließen Sie das PreparedStatement-Objekt, um Ressourcen freizugeben.
inserter.close() |
Schreiben Sie alle Änderungen in der Datenbank fest.
conn.commit(); |
Die Schritte (3) und (4) können so oft wiederholt werden wie erforderlich.
Alternativ dazu können Sie auch, wenn nur ein einzelner INSERT-Vorgang durchgeführt werden soll, die Anweisung INSERT INTO Department(dept_no, name) VALUES(2, 'Electronics') mithilfe der Anweisungen PREPARE, EXECUTE und CLOSE ausführen.
Die Anweisung könnte unter Verwendung der Java-Zeichenfolgenverkettung erstellt werden.
Bereiten Sie eine neue SQL-Anweisung als Zeichenfolge vor.
String sql_string = "UPDATE Department SET dept_no = ? WHERE dept_no = ?"; |
Übergeben Sie die Zeichenfolge an das PreparedStatement-Objekt.
PreparedStatement updater = conn.prepareStatement(sql_string); |
Übergeben Sie die Eingabewerte mit der set-Methode an das PreparedStatement-Objekt.
updater.set(1, 102); updater.set(2, 101); |
Das obenstehende Beispiel ist mit der Angabe der folgenden SQL-Anweisung gleichwertig:
UPDATE Department SET dept_no = 102 WHERE dept_no = 101 |
Führen Sie die Anweisung aus.
updater.execute(); |
Schließen Sie das PreparedStatement-Objekt, um Ressourcen freizugeben.
updater.close() |
Schreiben Sie alle Änderungen in der Datenbank fest.
conn.commit(); |
Die Schritte (3) und (4) können so oft wiederholt werden wie erforderlich.
Alternativ dazu können Sie auch, wenn nur ein einzelner INSERT-Vorgang durchgeführt werden soll, die Anweisung INSERT INTO Department(dept_no, name) VALUES(2, 'Electronics') mithilfe der Anweisungen PREPARE, EXECUTE und CLOSE ausführen.
Die Anweisung könnte unter Verwendung der Java-Zeichenfolgenverkettung erstellt werden.
Bereiten Sie eine neue SQL-Anweisung als Zeichenfolge vor.
String sql_string = "DELETE FROM Department WHERE dept_no = ?"; |
Übergeben Sie die Zeichenfolge an das PreparedStatement-Objekt.
PreparedStatement deleter = conn.prepareStatement(sql_string); |
Übergeben Sie die Eingabewerte mit der set-Methode an das PreparedStatement-Objekt.
deleter.set(1, 102); |
Das obenstehende Beispiel ist mit der Angabe der folgenden SQL-Anweisung gleichwertig:
DELETE FROM Department WHERE dept_no = 102 |
Führen Sie die Anweisung aus.
deleter.execute(); |
Schließen Sie das PreparedStatement-Objekt, um Ressourcen freizugeben.
deleter.close() |
Schreiben Sie alle Änderungen in der Datenbank fest.
conn.commit(); |
Die Schritte (3) und (4) können so oft wiederholt werden wie erforderlich.
Alternativ dazu können Sie auch, wenn nur ein einzelner INSERT-Vorgang durchgeführt werden soll, die Anweisung INSERT INTO Department(dept_no, name) VALUES(2, 'Electronics') mithilfe der Anweisungen PREPARE, EXECUTE und CLOSE ausführen, wie oben beschrieben.
Die Anweisung könnte unter Verwendung der Java-Zeichenfolgenverkettung erstellt werden.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |