Использование метаданных результирующего набора
В драйвере Microsoft JDBC для SQL Server реализован класс SQLServerResultSetMetaData, позволяющий запрашивать в результирующем наборе сведения о содержащихся в нем столбцах. Этот класс содержит многочисленные методы, которые возвращают сведения в виде одного значения.
Чтобы создать объект SQLServerResultSetMetaData, можно использовать метод getMetaData класса SQLServerResultSet.
В следующем примере открытое подключение к образцу базы данных AdventureWorks2022 передается в функцию, метод getMetaData класса SQLServerResultSet используется для возврата объекта 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();
}
}