检索表中唯一标识一行的最佳列集的说明。
语法
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。
返回值
异常
注释
此 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 2005AdventureWorks 示例数据库中的 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(); } }