Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


18.6.1

Grundlagen


Da der Typ ResultSet einen Datenbank-Cursor repräsentiert, besitzt er auch dessen Eigenschaften: Der Ablauf der Ergebnisabfrage ist in Abbildung 18.12 dargestellt.

Abbildung 18.12: Die Ergebnisabfrage in JDBC
Abbildung 18.12

Nach der Ausführung einer SQL-Abfrage befindet sich der des zurückgelieferten ResultSet zunächst vor dem ersten Datensatz. Durch Aufruf der Methode next() kann man den Satzzeiger des ResultSet um eine Position weiterrücken. next() liefert hierbei einen booleschen Wert zurück, der anzeigt, ob noch weitere Datensätze verfügbar sind. Dadurch, dass sich der Satzzeiger zunächst vor dem ersten Satz befindet, ist ein initialer Aufruf von next() erforderlich, um ihn auf den ersten Datensatz zu positionieren. Liefert die Abfrage keinen einzigen Datensatz zurück, liefert bereits dieser initiale Aufruf false. Dadurch können auch leere Ergebnismengen mit einem ResultSet dargestellt werden.

  Connection con;
  ...
  Statement stmt = con.createStatement();
  String sql = "SELECT titel, preis FROM titel";
  ResultSet rs = stmt.executeQuery(sql);
  // Abfrage der Daten. Falls keine Daten zurückgeliefert
  // werden, liefert der erste Aufruf von next() bereits
  // false und die Schleife wird komplett übersprungen
  while(rs.next()) {
    System.out.println("Titel: "+rs.getString("titel");
    System.out.println("Preis: "+rs.getFloat(2));
  }
  ...
Wenn sich der Satzzeiger auf einem gültigen Datensatz befindet, können die Daten über getXXX()-Methoden der Klasse ResultSet abgerufen werden. XXX steht hierbei für den Datentyp, der vom ResultSet zurückgeliefert werden soll. Im obigen Codeausschnitt werden die Methoden getString() und getFloat() benutzt. Sie extrahieren Daten aus der Ergebnismenge als String- bzw. float-Werte.

Die getXXX()-Methoden besitzen jeweils einen Parameter, der die Spalte in der Ergebnismenge identifiziert, deren Wert zurückgeliefert werden soll. Die Angabe der Spalte ist auf zwei unterschiedliche Arten möglich: Für beide Abfrage-Arten sind Beispiele im obigen Beispiel-Code und in Abbildung 18.12 angegeben.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.