JDBC |
|
Datenbankzugriff mit
JAVA |
Der Class.forName() call kann verwendet werden um den JDBC-Treiber
zu laden. |
|
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
|
Um eine Verbindung zu einer bestimmten Datenbank aufzubauen wird folgendes
Format verwendet: |
|
jdbc:mysql://[hostname][:port]/
[dbname] [?user=...][password=...].....
Connection Conn =
DriverManager.getConnection("jdbc:mysql:///test"); |
Ganze Tabelle in der Datenbank löschen. |
|
Conn.setAutoCommit(true);
Statement Stmt = Conn.createStatement();
try {
Stmt.executeUpdate("DROP TABLE trans_test");
} catch (SQLException sqlEx) {
// handle connection or DB-Errors
}
|
Neue Tabelle anlegen und Zeilen einfügen.
(Bei den übergebenen Strings muss es sich um gültige SQL Befehle
handeln.) |
|
Stmt.executeUpdate("CREATE TABLE trans_test "+
"(id int not null primary key, decdata double) "+
"type=BDB");
Stmt.executeUpdate("INSERT INTO trans_test "+
"(id, decdata) VALUES (1, 1.0)"); |
Einfache Abfrage. |
|
ResultSet rs = Stmt.executeQuery(
"SELECT * from trans_test where id=2"); |
Inhalt verändern.
(Der Cursor kennzeichnet die Position im ResultSet.) |
|
rs.absolute(5); // set cursor position
rs.updateString("NAME", "AINSWORTH"); // der Inhalt
der Spalte mit "NAME" wird geändert.
rs.updateRow(); // die Zeile wird geändert |
Neuen Eintrag erstellen.
(Die Datenbank stellt dafür eine „InsertRow“ zur Verfügung.
Diese Zeile erlaubt die Eingabe von neuen Daten, wohingegen die anderen
Zeile eine Änderung der vorhandenen Daten erlauben.) |
|
// Cursor zur InsertRow
rs.moveToInsertRow();
// Die erste Spalte der InsertRow mit "AINS..".beschreiben
rs.updateString(1, "AINSWORTH");
// Die zweite Spalte mit 35 beschreiben
rs.updateInt(2,35); 35
// Die dritte Spalte mit treu beschreiben
rs.updateBoolean(3, true);
// die Zeile in die Datenbank einfügen
rs.insertRow();
// und zurück zur vorherigen Zeile
rs.moveToCurrentRow(); |
|
|