使用結果集中繼資料
為了查詢結果集內有關資料行的資訊,Microsoft JDBC Driver for SQL Server 實作了 SQLServerResultSetMetaData 類別。 此類別包含數種以單一值形式傳回資訊的方法。
若要建立 SQLServerResultSetMetaData 物件,您可以使用 SQLServerResultSet 類別的 getMetaData 方法。
下列範例會將對 AdventureWorks2022 範例資料庫的有效連線傳遞給函數,再使用 SQLServerResultSet 類別的 getMetaData 方法,傳回 SQLServerResultSetMetaData 物件,然後使用 SQLServerResultSetMetaData 物件的各種方法,顯示結果集內有關資料行名稱和資料類型的資訊。
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();
}
}