getBestRowIdentifier 方法 (SQLServerDatabaseMetaData)

下载 JDBC 驱动程序

检索表中唯一标识一行的最佳列集的说明。

语法

  
public java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog,  
                                               java.lang.String schema,  
                                               java.lang.String table,  
                                               int scope,  
                                               boolean nullable)  

参数

catalog

一个包含目录名称的字符串 。

架构

一个包含架构名称的字符串

table

一个包含表名称的字符串

作用域

指示相关范围的 int。 可以包括下列值:

bestRowTemporary (0)

bestRowTransaction (1)

bestRowSession (2)

nullable

true 可包含可为 Null 的列。 否则为 false

返回值

一个 SQLServerResultSet 对象。

例外

SQLServerException

备注

此 getBestRowIdentifier 方法是由 java.sql.DatabaseMetaData 接口中的 getBestRowIdentifier 方法指定的。

由 getBestRowIdentifier 方法返回的结果集将包含以下信息:

名称 Type 描述
SCOPE short 返回结果的范围。 可以为下列值之一:

bestRowTemporary (0)

bestRowTransaction (1)

bestRowSession (2)
COLUMN_NAME 字符串 列的名称。
DATA_TYPE short 来自 java.sql.Types 的 SQL 数据类型。
TYPE_NAME String 数据类型的名称。
COLUMN_SIZE int 列的精度。
BUFFER_LENGTH int 缓冲区长度。
DECIMAL_DIGITS short 列的小数位数。
PSEUDO_COLUMN short 指示列是否为伪列。 可以为下列值之一:

bestRowUnknown (0)

bestRowNotPseudo (1)

bestRowPseudo (2)

示例

以下示例演示了如何使用 getBestRowIdentifier 方法返回 AdventureWorks2022 示例数据库中的 Person.Contact 表的最佳行标识符的信息。

public static void executeGetBestRowIdentifier(Connection con) {  
   try {  
      DatabaseMetaData dbmd = con.getMetaData();  
      ResultSet rs = dbmd.getBestRowIdentifier(null, "Person", "Contact", 0, true);  
      ResultSetMetaData rsmd = rs.getMetaData();  
  
      // Display the result set data.  
      int cols = rsmd.getColumnCount();  
      while(rs.next()) {  
         for (int i = 1; i <= cols; i++) {  
            System.out.println(rs.getString(i));  
         }  
      }  
      rs.close();  
   }  
  
   catch (Exception e) {  
      e.printStackTrace();  
   }  
}  

另请参阅

SQLServerDatabaseMetaData 方法
SQLServerDatabaseMetaData 成员
SQLServerDatabaseMetaData 类