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 eine INSERT-Anweisung vorbereiten, ausführen und schließen, wenn Sie nur einen einzigen Eintrag einfügen müssen, wie im folgenden Beispiel dargestellt:
INSERT INTO Department(dept_no, name) VALUES(2, 'Electronics'); |
Die Anweisung kann auch 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 Beispiel oben entspricht dem Ausführen der folgenden SQL-Anweisung:
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 die folgende Anweisung vorbereiten, ausführen und schließen, wenn nur eine einzige Aktualisierung durchgeführt werden soll:
UPDATE Department SET dept_no = 102 WHERE dept_no = 101; |
Diese Anweisung kann auch 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 Beispiel oben entspricht dem Ausführen der folgenden SQL-Anweisung:
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 die folgende Anweisung wie oben beschrieben vorbereiten, ausführen und schließen, wenn nur ein einziger Löschvorgang durchgeführt werden soll:
DELETE FROM Department WHERE dept_no = 102; |
Diese Anweisung kann auch unter Verwendung der Java-Zeichenfolgenverkettung erstellt werden.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |