- 所有超接口:
-
Wrapper
- 所有已知子接口:
-
RowSetMetaData
- 所有已知实现类:
-
RowSetMetaDataImpl
一个可以用来获取
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);
- 自版本:
- 1.1
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
表示列不允许具有NULL
值的常量。static final int
表示列允许具有NULL
值的常量。static final int
表示列值的可空性未知的常量。 -
Method Summary
Modifier and TypeMethodDescriptiongetCatalogName
(int column) 获取指定列的表目录名称。getColumnClassName
(int column) 返回调用ResultSet.getObject
方法从列中检索值时,将实例化的Java类的完全限定名称。int
返回此ResultSet
对象中的列数。int
getColumnDisplaySize
(int column) 指示指定列的正常最大字符宽度。getColumnLabel
(int column) 获取指定列用于打印和显示的建议标题。getColumnName
(int column) 获取指定列的名称。int
getColumnType
(int column) 检索指定列的SQL类型。getColumnTypeName
(int column) 检索指定列的数据库特定类型名称。int
getPrecision
(int column) 获取指定列指定的列大小。int
getScale
(int column) 获取指定列小数点右侧的数字位数。对于不适用比例的数据类型,返回0。getSchemaName
(int column) 获取指定列的表模式。getTableName
(int column) 获取指定列的表名称。boolean
isAutoIncrement
(int column) 指示指定列是否自动编号。boolean
isCaseSensitive
(int column) 指示列的大小写是否敏感。boolean
isCurrency
(int column) 指示指定列是否为现金值。boolean
isDefinitelyWritable
(int column) 指示写入指定列是否一定成功。int
isNullable
(int column) 指示指定列值的可空性。boolean
isReadOnly
(int column) 指示指定列是否绝对不可写。boolean
isSearchable
(int column) 指示指定列是否可以在where子句中使用。boolean
isSigned
(int column) 指示指定列的值是否为有符号数字。boolean
isWritable
(int column) 指示写入指定列是否可能成功。Methods declared in interface java.sql.Wrapper
isWrapperFor, unwrap
-
Field Details
-
columnNoNulls
static final int columnNoNulls表示列不允许具有NULL
值的常量。- 参见:
-
columnNullable
static final int columnNullable表示列允许具有NULL
值的常量。- 参见:
-
columnNullableUnknown
static final int columnNullableUnknown表示列值的可空性未知的常量。- 参见:
-
-
Method Details
-
getColumnCount
返回此ResultSet
对象中的列数。- 返回:
- 列数
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isAutoIncrement
指示指定列是否自动编号。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
true
表示是;false
表示否 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isCaseSensitive
指示列的大小写是否敏感。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
true
表示是;false
表示否 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isSearchable
指示指定列是否可以在where子句中使用。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
true
表示是;false
表示否 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isCurrency
指示指定列是否为现金值。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
true
表示是;false
表示否 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isNullable
指示指定列值的可空性。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
给定列的可空性状态;其中之一为
columnNoNulls
、columnNullable
或columnNullableUnknown
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isSigned
指示指定列的值是否为有符号数字。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
true
表示是;false
表示否 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getColumnDisplaySize
指示指定列的正常最大字符宽度。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 指定列的最大字符宽度
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getColumnLabel
获取指定列用于打印和显示的建议标题。建议的标题通常由SQLAS
子句指定。如果未指定SQLAS
,则从getColumnLabel
返回的值将与getColumnName
方法返回的值相同。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 建议的列标题
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getColumnName
获取指定列的名称。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 列名
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getSchemaName
获取指定列的表模式。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 模式名称或""(如果不适用)
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getPrecision
获取指定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回0。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 精度
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getScale
获取指定列小数点右侧的数字位数。对于不适用比例的数据类型,返回0。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 比例
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getTableName
获取指定列的表名称。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 表名称或""(如果不适用)
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getCatalogName
获取指定列的表的目录名称。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 给定列所在表的目录名称,如果不适用则返回""
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getColumnType
检索指定列的SQL类型。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 来自java.sql.Types的SQL类型
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
-
getColumnTypeName
检索指定列的数据库特定类型名称。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
- 数据库使用的类型名称。如果列类型是用户定义类型,则返回完全限定的类型名称。
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isReadOnly
指示指定列是否绝对不可写。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isWritable
指示指定列是否可能成功写入。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isDefinitelyWritable
指示指定列的写入是否一定会成功。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getColumnClassName
返回调用方法
ResultSet.getObject
从列中检索值时,将制造其实例的Java类的完全限定名称。ResultSet.getObject
可能返回此方法返回的类的子类。- 参数:
-
column
- 第一列为1,第二列为2,... - 返回:
-
用于方法
ResultSet.getObject
检索指定列中的值的Java编程语言中的类的完全限定名称。这是用于自定义映射的类名。 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自1.2版本起:
- 1.2
-