Verwenden von Resultsetmetadaten
Zum Abfragen eines Resultsets nach Informationen zu den enthaltenen Spalten ist im Microsoft JDBC-Treiber für SQL Server die Klasse SQLServerResultSetMetaData implementiert. Diese Klasse enthält eine Vielzahl von Methoden, die Informationen in der Form eines einzelnen Werts zurückgeben.
Sie können die getMetaData-Methode der SQLServerResultSet-Klasse verwenden, um ein SQLServerResultSetMetaData-Objekt zu erstellen.
Im folgenden Beispiel wird eine offene Verbindung mit der AdventureWorks2022-Beispieldatenbank an die Funktion übergeben, mit der getMetaData-Methode der SQLServerResultSet-Klasse wird ein SQLServerResultSetMetaData-Objekt zurückgegeben, und verschiedene Methoden des SQLServerResultSetMetaData-Objekts werden zum Anzeigen von Informationen über den Namen und Datentyp der im Resultset enthaltenen Spalten verwendet.
public static void getResultSetMetaData(Connection con) {
try(Statement stmt = con.createStatement();) {
String SQL = "SELECT TOP 10 * FROM Person.Contact";
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));
}
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}