Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Datenbankverbindung
Legt man in der SQL-IDE eine Datenbank an, so kann man von Java-Programmen in der Online-IDE aus lesend und schreibend darauf zugreifen. Dies ist leider nicht von den Programmierkästen der Embedded-IDE aus möglich, daher lassen sich die Beispiele unten nicht direkt auf dieser Seite ausführen, sondern nur, wenn man sie in die Online-IDE kopiert und den Code "XYZ" durch einen korrekten Datenbankzugriffscode aus der SQL-IDE ersetzt.
1. Schritt Verbindungscode in www.sql-ide.de besorgen
Dazu die Datenbank selektieren, dann Datenbank→Einstellungen auswählen. Dort - je nachdem, welche Rechte das Java-Programm bekommen soll - den Code zum "nur Lesen", "Lesen und Schreiben" oder "Lesen, schreiben und Struktur verändern" durch Klick auf den Button "Kopieren" in die Zwischenablage kopieren.
2. Daten aus der Datenbank lesen
Zum Vorgehen:
- Zunächst holt man sich mit
Connection c = DatabaseManager.getConnection("1Ts8qXH77X");
einConnection
-Objekt. Dieses repräsentiert die Verbindung zur Datenbank. Statement st = c.createStatement();
baut mit Hilfe dieser Datenbankverbindung einStatement
-Objekt, das es ermöglicht, Anweisungen an die Datenbank zu senden.ResultSet rs = st.executeQuery("select name from fluss where name = 'S%'");
schickt nun die als Zeichenkette übergebene SQL-Anweisungen an die Datenbank. Diese führt die Anweisung aus, baut einResultSet
-Objekt und verschafft diesem Zugriff auf die Ergebnistabelle. DasResultSet
-Objekt wird von derexecuteQuery
-Anweisung zurückgegeben.- Das
ResultSet
-Objekt kann nun die einzelnen Zeilen der Ergebnistabelle ( = "Datensätze") holen. Dazu besitzt es einen "Zeiger", der auf den aktuellen Datensatz zeigt. Anfangs zeigt er auf keinen Datensatz. - Die Methode "next()" des
ResultSet
-Objekts bewegt den "Zeiger" jeweils eins weiter und gibt genau danntrue
zurück, wenn das Ende der Tabelle noch nicht erreicht ist. - Mit den Methoden
getString(spaltenbezeichner)
,getInt(spaltenbezeichner)
usw. können nun die Zellinhalte des aktuellen Datensatzes geholt werden.
3. Daten in die Datenbank schreiben
Beim Schreiben geht man vor wie beim Lesen, nur dass jetzt die Methode executeUpdate
des Statement-Objekts verwendet wird.
Spezialfall: auto_increment
Fügt man einer Tabelle mittels insert into…
einen Datensatz hinzu und besitzt diese einen Integer-Primärschlüssel, der automatisch vergeben wird (SQL-Schlüsselwort autoincrement
), so gibt die Anweisung executeUpdate
den automatisch vergebenen Primärschlüssel zurück. Ansonsten gibt sie den Wert 0
zurück.