java.sql

接口
异常
所有超级接口:
Wrapper
所有已知子接口:
RowSetMetaData
所有已知实现类:
RowSetMetaDataImpl

public interface ResultSetMetaData
     
extends Wrapper

可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。以下代码片段创建 ResultSet 对象 rs,创建 ResultSetMetaData 对象 rsmd,并使用 rsmd 查找 rs 有多少列,以及 rs 中的第一列是否可以在 WHERE 子句中使用。


     ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
     ResultSetMetaData rsmd = rs.getMetaData();
     int numberOfColumns = rsmd.getColumnCount();
     boolean b = rsmd.isSearchable(1);

 


字段摘要
static int columnNoNulls
          指示列不允许使用 NULL 值的常量。
static int columnNullable
          指示列允许使用 NULL 值的常量。
static int columnNullableUnknown
          指示不知道列的值是否可为 null 的常量。
 
方法摘要
 String getCatalogName(int column)
          获取指定列的表目录名称。
 String getColumnClassName(int column)
          如果调用方法 ResultSet.getObject 从列中获取值,则返回构造其实例的 Java 类的完全限定名称。
 int getColumnCount()
          返回此 ResultSet 对象中的列数。
 int getColumnDisplaySize(int column)
          指示指定列的最大标准宽度,以字符为单位。
 String getColumnLabel(int column)
          获取用于打印输出和显示的指定列的建议标题。
 String getColumnName(int column)
          获取指定列的名称。
 int getColumnType(int column)
          获取指定列的 SQL 类型。
 String getColumnTypeName(int column)
          获取指定列的数据库特定的类型名称。
 int getPrecision(int column)
          获取指定列的指定列宽。
 int getScale(int column)
          获取指定列的小数点右边的位数。
 String getSchemaName(int column)
          获取指定列的表模式。
 String getTableName(int column)
          获取指定列的名称。
 boolean isAutoIncrement(int column)
          指示是否自动为指定列进行编号。
 boolean isCaseSensitive(int column)
          指示列的大小写是否有关系。
 boolean isCurrency(int column)
          指示指定的列是否是一个哈希代码值。
 boolean isDefinitelyWritable(int column)
          指示在指定的列上进行写操作是否明确可以获得成功。
 int isNullable(int column)
          指示指定列中的值是否可以为 null。
 boolean isReadOnly(int column)
          指示指定的列是否明确不可写入。
 boolean isSearchable(int column)
          指示是否可以在 where 子句中使用指定的列。
 boolean isSigned(int column)
          指示指定列中的值是否带正负号。
 boolean isWritable(int column)
          指示在指定的列上进行写操作是否可以获得成功。
 
从接口 java.sql.Wrapper 继承的方法
isWrapperFor, unwrap
 

字段详细信息

columnNoNulls

static final int columnNoNulls
指示列不允许使用 NULL 值的常量。

另请参见:
常量字段值

columnNullable

static final int columnNullable
指示列允许使用 NULL 值的常量。

另请参见:
常量字段值

columnNullableUnknown

static final int columnNullableUnknown
指示不知道列的值是否可为 null 的常量。

另请参见:
常量字段值
方法详细信息

getColumnCount

int getColumnCount()
                   throws SQLException
返回此 ResultSet 对象中的列数。

返回:
列数
抛出:
SQLException - 如果发生数据库访问错误

isAutoIncrement

boolean isAutoIncrement(int column)
                        throws SQLException
指示是否自动为指定列进行编号。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

isCaseSensitive

boolean isCaseSensitive(int column)
                        throws SQLException
指示列的大小写是否有关系。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

isSearchable

boolean isSearchable(int column)
                     throws SQLException
指示是否可以在 where 子句中使用指定的列。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

isCurrency

boolean isCurrency(int column)
                   throws SQLException
指示指定的列是否是一个哈希代码值。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

isNullable

int isNullable(int column)
               throws SQLException
指示指定列中的值是否可以为 null。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
给定列的状态是否可以为 null 的判断,此状态值是 columnNoNullscolumnNullablecolumnNullableUnknown 之一
抛出:
SQLException - 如果发生数据库访问错误

isSigned

boolean isSigned(int column)
                 throws SQLException
指示指定列中的值是否带正负号。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getColumnDisplaySize

int getColumnDisplaySize(int column)
                         throws SQLException
指示指定列的最大标准宽度,以字符为单位。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
允许作为指定列宽度的最大标准字符数
抛出:
SQLException - 如果发生数据库访问错误

getColumnLabel

String getColumnLabel(int column)
                      throws SQLException
获取用于打印输出和显示的指定列的建议标题。建议标题通常由 SQL AS 子句来指定。如果未指定 SQL AS,则从 getColumnLabel 返回的值将和 getColumnName 方法返回的值相同。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
建立列标题
抛出:
SQLException - 如果发生数据库访问错误

getColumnName

String getColumnName(int column)
                     throws SQLException
获取指定列的名称。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
列名称
抛出:
SQLException - 如果发生数据库访问错误

getSchemaName

String getSchemaName(int column)
                     throws SQLException
获取指定列的表模式。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
模式名称;如果没有可应用的名称,则返回 ""
抛出:
SQLException - 如果发生数据库访问错误

getPrecision

int getPrecision(int column)
                 throws SQLException
获取指定列的指定列宽。对于数值型数据,是指最大精度。对于字符型数据,是指字符串长度。对于日期时间的数据类型,是指 String 表示形式的字符串长度(假定为最大允许的小数秒组件)。对于二进制型数据,是指字节长度。对于 ROWID 数据类型,是指字节长度。对于其列大小不可用的数据类型,则返回 0。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
精度
抛出:
SQLException - 如果发生数据库访问错误

getScale

int getScale(int column)
             throws SQLException
获取指定列的小数点右边的位数。对于其标度不可用的数据类型,则返回 0。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
标度
抛出:
SQLException - 如果发生数据库访问错误

getTableName

String getTableName(int column)
                    throws SQLException
获取指定列的名称。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
表名称;如果没有可应用的名称,则返回 ""
抛出:
SQLException - 如果发生数据库访问错误

getCatalogName

String getCatalogName(int column)
                      throws SQLException
获取指定列的表目录名称。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
在其中显示给定列的表的目录名称;如果可应用的名称,则返回 ""
抛出:
SQLException - 如果发生数据库访问错误

getColumnType

int getColumnType(int column)
                  throws SQLException
获取指定列的 SQL 类型。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
来自 java.sql.Types 的 SQL 类型
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
Types

getColumnTypeName

String getColumnTypeName(int column)
                         throws SQLException
获取指定列的数据库特定的类型名称。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
数据库使用的类型名称。如果列类型是用户定义的类型,则返回完全限定的类型名称。
抛出:
SQLException - 如果发生数据库访问错误

isReadOnly

boolean isReadOnly(int column)
                   throws SQLException
指示指定的列是否明确不可写入。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

isWritable

boolean isWritable(int column)
                   throws SQLException
指示在指定的列上进行写操作是否可以获得成功。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

isDefinitelyWritable

boolean isDefinitelyWritable(int column)
                             throws SQLException
指示在指定的列上进行写操作是否明确可以获得成功。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getColumnClassName

String getColumnClassName(int column)
                          throws SQLException

如果调用方法 ResultSet.getObject 从列中获取值,则返回构造其实例的 Java 类的完全限定名称。ResultSet.getObject 可能返回此方法所返回的类的子类。

参数:
column - 第一列是 1,第二个列是 2,……
返回:
Java 编程语言中类的完全限定名称,方法 ResultSet.getObject 将使用该名称获取指定列中的值。此名称为用于自定义映射关系的类名称。
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2