결과 집합 메타데이터 사용
SQL Server용 Microsoft JDBC 드라이버는 결과 집합에 포함된 열 관련 정보를 쿼리하기 위해 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();
}
}