結果セットのメタデータの使用
結果セットに格納されている列の情報をクエリするために、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();
}
}