Verwenden von Resultsetmetadaten
Zum Abfragen eines Resultsets nach Informationen zu den enthaltenen Spalten ist im Microsoft SQL Server JDBC Driver die SQLServerResultSetMetaData-Klasse implementiert. Diese Klasse enthält eine Vielzahl von Methoden, die Informationen in der Form eines einzelnen Werts zurückgeben.
Mit der getMetaData-Methode der SQLServerResultSet-Klasse können Sie ein SQLServerResultSetMetaData-Objekt erstellen.
Im folgenden Beispiel werden eine offene Verbindung zur SQL Server 2005 AdventureWorks-Beispieldatenbank an die Funktion übergeben, mit der getMetaData-Methode der SQLServerResultSet-Klasse ein SQLServerResultSetMetaData-Objekt zurückgegeben und dann mit den verschiedenen Methoden des SQLServerResultSetMetaData-Objekts Informationen zu Namen und Datentyp der im Resultset enthaltenen Spalten angezeigt.
public static void getResultSetMetaData(Connection con) {
try {
String SQL = "SELECT TOP 10 * FROM Person.Contact";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
ResultSetMetaData rsmd = rs.getMetaData();
// Display the column name and type.
int cols = rsmd.getColumnCount();
for (int i = 1; i <= cols; i++) {
System.out.println("NAME: " + rsmd.getColumnName(i) + " " + "TYPE: " + rsmd.getColumnTypeName(i));
}
rs.close();
stmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}