Grundlagen und erste Schritte
+libs
gespeichert werden
import
eingebunden
werden
(Prepared)Statement
instanziiert
ResultSet
Alle Datenbankoperationen müssen aus Gründen der Fehlerbehandlung
in try
-catch
-Blöcken ausgeführt werden.
public void connect(String DBUri) {
try {
DBConnection = DriverManager.getConnection(DBUri);
System.out.println("Verbindung hergestellt");
}
catch (SQLException e) {
System.out.println(e.getMessage());
}
}
try
-Block wir die gewünschte Operation
programmiert
try
-Block ein Fehler auf, wird eine
Exception
ausgelöst, die im
catch
-Block "aufgefangen" wird
Wichtig: Die Fehlerbehandlung ist vor allem deswegen nötig weil ein Teil der Funktionalität außerhalb der Kontrolle des Java Compilers ist.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Adressen {
Connection DBConnection;
public Adressen() {
System.out.print('\u000C');
String uri = "jdbc:sqlite:schueler.db";
connect(uri);
try {
Statement statement = DBConnection.createStatement();
String query = "SELECT * FROM schuler";
ResultSet result = statement.executeQuery(query);
while(result.next()) {
String nachname = result.getString("SNachname");
String vorname = result.getString("SVorname");
System.out.print(String.format("%-12s", nachname) + "\t");
System.out.print(String.format("%-12s", vorname) + "\t");
System.out.println();
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
public void connect(String DBUri) {
try {
DBConnection = DriverManager.getConnection(DBUri);
System.out.println("Verbindung mit " + DBUri + " erfolgreich hergestellt");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
ResultSet
ResultSet
vor.
Standardmäßig ist es vom Typ "FORWARD_ONLY" und kann wie ein
Iterator der Reihe nach durchlaufen werden:
while(result.next()) {
// [... TU WAS ...]
}
ResultSet
's kann man sich als
eine Zeile des Abfrageergebnisses vorstellen.
ResultSet
hat typabhängige Methoden, um die
Attributwerte auszulesen