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

语法

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

参数

catalog

包含目录名称的 String

schema

包含架构名称的 String

table

包含表名称的 String

scope

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

bestRowTemporary (0)

bestRowTransaction (1)

bestRowSession (2)

nullable

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

返回值

SQLServerResultSet 对象。

异常

SQLServerException

备注

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

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

名称 类型 说明

SCOPE

short

返回结果的范围。可以是下列值之一:

bestRowTemporary (0)

bestRowTransaction (1)

bestRowSession (2)

COLUMN_NAME

String

列的名称。

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 方法返回 SQL Server 2005 AdventureWorks 示例数据库中的 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 成员