为了查询结果集以获取有关它所包含的列的信息,Microsoft SQL Server JDBC 驱动程序 实现了 SQLServerResultSetMetaData 类。该类包含很多以单个值的形式返回信息的方法。

若要创建 SQLServerResultSetMetaData 对象,可以使用 SQLServerResultSet 类的 getMetaData 方法。

在下面的实例中,将向此函数传递 SQL Server 2005 AdventureWorks 示例数据库的打开连接,使用 SQLServerResultSet 类的 getMetaData 方法返回 SQLServerResultSetMetaData 对象,然后使用 SQLServerResultSetMetaData 对象的各种方法显示有关结果集中所包含列的名称和数据类型的信息。

public static void getResultSetMetaData(Connection con) {
   try {
      String SQL = "SELECT TOP 10 * FROM Person.Contact";
      Statement stmt = con.createStatement();
      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));
      }
      rs.close();
      stmt.close();
   }
   catch (Exception e) {
      e.printStackTrace();
   }
}

请参阅

使用 JDBC 驱动程序处理元数据