getXXX()
Methoden an, um die Werte in den Spalten zu erhalten
(Argument entweder case-insensitiver Spaltenname oder Spaltennummer, von 1 beginnend);
Index kann über findColumn(name)
erhalten werden; Datentypen werden
gemäß Kapitel 4
konvertiert
next()
weiterbewegt wird;
wenn DBMS positioned Update oder Delete unterstützt
(DatabaseMetaData.supportsPositionedUpdate/Delete()
), muss Cursorname zur
Verfügung gestellt werden (getCursorName()
)
Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery( "SELECT anInt, aString, aFloat FROM Table1"); while (resultSet.next()) { int anInt = resultSet.getInt("anInt"); String aString = resultSet.getString("aString"); float aFloat = resultSet.getFloat("aFloat"); System.out.println("Zeile: " + anInt + " | " + aString + " | " + aFloat); } |
ResultSet.getMetaData()
ein ResultSetMetaData
Objekt, welches Informationen über Anzahl, Typen und Eigenschaften der Spalten
enthält
String query = "select * from Table2"; Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query); ResultSetMetaData metaData = resultSet.getMetaData(); int columnCount = metaData.getColumnCount(); for (int i=1; i<=columnCount; i++) { String s = metaData.getColumnTypeName(i); System.out.println ("Spalte " + i + " hat den Typ " + s); } |
getBytes()
und getString()
können zwar sehr lange Werte
zurückliefern (bis zu Statement.getMaxFieldSize()
), aber nur alles
auf einmal
getXXX()
automatisch geschlossen werden
getBinaryStream()
liefert Stream, der reinen Bytestrom enthält
getAsciiStream()
für ASCII-Zeichenstrom (1 Byte)
getUnicodeStream()
für Unicode-Zeichenstrom (2 Byte)
Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT x FROM Table3"); // Resultate in 4K-Stuecken erhalten byte[] buffer = new byte[4096]; while (resultSet.next()) { java.io.InputStream fin = resultSet.getAsciiStream(1); for (;;) { int size = fin.read(buffer); if (size == -1) break; // am Stream-Ende // buffer an einen ASCII-OutputStream senden output.write(buffer, 0, size); } } |
NULL
zurückgeliefert wurde, muss erst die
Spalte gelesen und dann mit ResultSet.wasNull()
überprüft werden
getXXX()
liefert null
wenn Java-Objekte zurückgeben
werden, 0
bei primitiven Rückgabewerten und false
bei
getBoolean()