18.5.1 | Grundlagen |
Die Arbeit mit einfachem SQL ist in Abbildung 18.10 zu sehen. Für die Ausführung muss zunächst ein Statement-Exemplar erzeugt werden.Zu diesem Zweck wird die Methode createStatement() über das Connection-Exemplar aufgerufen. Über ein Exemplar der Klasse Statement kann man anschließend Abfragen sowie DDL- und DML-Operationen durchführen:
Da man einem Statement-Exemplar auf Client-Seite den SQL-String erst bei der Ausführung übergibt, kann man mit einem einzigen Exemplar im Prinzip verschiedene Typen von SQL-Anweisungen ausführen:
- Abfragen werden durch Aufruf von executeQuery() ausgeführt. Als Parameter muss eine gültige SELECT-Anweisung übergeben werden. executeQuery() liefert ein Exemplar der Klasse ResultSet zurück, über das auf die Ergebnismenge zugegriffen werden kann.
- executeUpdate() wird für die Ausführung von DDL- und DML-Operationen benötigt. Als Parameter muss executeQuery eine gültige INSERT, UPDATE, DELETE oder CREATE-Anweisung enthalten. Bei der Ausführung von DDL- und DML-Operationen wird die Anzahl der in der Datenbank von der Anweisung betroffenen Zeilen zurückgeliefert. Bei der Ausführung einer UPDATE-Anweisung würde es sich hier z. B. um die Anzahl der aktualisierten Zeilen handeln.
Connection con; ... String select = "SELECT * FROM titel"; String update = "UPDATE titel SET lager = 2 WHERE tit_id = 1"; Statement stmt = con.creatStatement(); ... ResultSet rs = stmt.executeQuery(select); ... rs.close(); stmt.executeUpdate(update); ... stmt.close();Im obigen Beispiel wird eine SELECT und eine UPDATE-Anweisung über dasselbe Statement-Exemplar ausgeführt. Die Ausführung von SQL-Anweisungen funktioniert allerdings nur so lange, bis das Statement-Exemplar geschlossen wird. Die Ausführung von executeQuery() oder executeUpdate() nach dem Aufruf von close() löst eine SQLException aus.