java.lang.Object
javax.sql.rowset.RowSetMetaDataImpl
- 所有已实现的接口:
-
Serializable
,ResultSetMetaData
,Wrapper
,RowSetMetaData
提供了设置和获取有关
RowSet
对象列的元数据信息的方法实现。一个RowSetMetaDataImpl
对象跟踪行集中的列数,并维护每列的内部列属性数组。
RowSet
对象在内部创建一个RowSetMetaDataImpl
对象,以便设置和检索有关其列的信息。
注意: 在RowSet
对象包含数据之前,RowSetMetaDataImpl
对象中的所有元数据应被视为不可用。因此,在RowSet
对象包含数据之前调用任何检索信息的RowSetMetaDataImpl
方法被定义为具有未指定的行为。
- 自从:
- 1.5
- 参见:
-
Field Summary
Fields declared in interface java.sql.ResultSetMetaData
columnNoNulls, columnNullable, columnNullableUnknown
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetCatalogName
(int columnIndex) 检索指定列的值来自的表的目录名称。getColumnClassName
(int columnIndex) 检索指定列中的值将映射到的Java编程语言中的类的完全限定名称。int
检索为此RowSetMetaDataImpl
对象创建的RowSet
对象中的列数。int
getColumnDisplaySize
(int columnIndex) 检索指定列的正常最大字符宽度。getColumnLabel
(int columnIndex) 检索用于打印和显示的指定列的建议列标题。getColumnName
(int columnIndex) 检索指定列的名称。int
getColumnType
(int columnIndex) 检索存储在指定列中的值的SQL类型的类型代码(java.sql.Types
常量之一)。getColumnTypeName
(int columnIndex) 检索存储在指定列中的值的特定于DBMS的类型名称。int
getPrecision
(int columnIndex) 检索存储在指定列中的值的总位数。int
getScale
(int columnIndex) 检索存储在指定列中的值的小数点右侧的位数。getSchemaName
(int columnIndex) 检索指定列的值来自的表的模式名称。getTableName
(int columnIndex) 检索指定列的值来自的表的名称。boolean
isAutoIncrement
(int columnIndex) 指示存储在指定列中的值是否自动编号,因此只读。boolean
isCaseSensitive
(int columnIndex) 指示指定列名称的大小写是否重要。boolean
isCurrency
(int columnIndex) 指示存储在指定列中的值是否为现金值。boolean
isDefinitelyWritable
(int columnIndex) 指示对指定列的写操作是否肯定成功。int
isNullable
(int columnIndex) 检索一个常量,指示是否可能在指定列中存储NULL
值。boolean
isReadOnly
(int columnIndex) 指示指定列是否绝对不可写,因此只读。boolean
isSearchable
(int columnIndex) 指示存储在指定列中的值是否可用于WHERE
子句。boolean
isSigned
(int columnIndex) 指示存储在指定列中的值是否为有符号数。boolean
isWrapperFor
(Class<?> interfaces) 如果此对象实现接口参数或直接或间接地是对象的包装器,则返回true。boolean
isWritable
(int columnIndex) 指示对指定列的写操作是否可能成功。void
setAutoIncrement
(int columnIndex, boolean property) 将指定列是否自动编号(因此只读)设置为给定的boolean
值。void
setCaseSensitive
(int columnIndex, boolean property) 将指定列的名称是否区分大小写设置为给定的boolean
。void
setCatalogName
(int columnIndex, String catalogName) 将指定列的表的目录名称设置为指定的catalogName。void
setColumnCount
(int columnCount) 将为此RowSetMetaDataImpl
对象创建的RowSet
对象中的列数设置为给定的数字。void
setColumnDisplaySize
(int columnIndex, int size) 将指定列中的正常最大字符数设置为给定的数字。void
setColumnLabel
(int columnIndex, String label) 将用于打印和显示的指定列标签(如果有)设置为label。void
setColumnName
(int columnIndex, String columnName) 将指定列的列名设置为给定的名称。void
setColumnType
(int columnIndex, int SQLType) 将存储在指定列中的值的SQL类型代码设置为来自类java.sql.Types
的给定类型代码。void
setColumnTypeName
(int columnIndex, String typeName) 将数据源用于存储在指定列中的值的类型名称设置为给定的类型名称。void
setCurrency
(int columnIndex, boolean property) 将存储在指定列中的值是否为现金值设置为给定的boolean
。void
setNullable
(int columnIndex, int property) 将存储在指定列中的值是否可以设置为NULL
设置为来自接口ResultSetMetaData
的给定常量。void
setPrecision
(int columnIndex, int precision) 将存储在指定列中的值的十进制位数总数设置为给定的数字。void
setScale
(int columnIndex, int scale) 将存储在指定列中的值的小数点右侧的位数设置为给定的数字。void
setSchemaName
(int columnIndex, String schemaName) 将指定列的表的模式名称(如果有)设置为schemaName。void
setSearchable
(int columnIndex, boolean property) 将存储在指定列中的值是否可以在WHERE
子句中使用设置为给定的boolean
值。void
setSigned
(int columnIndex, boolean property) 将存储在指定列中的值是否为有符号数设置为给定的boolean
。void
setTableName
(int columnIndex, String tableName) 将指定列的值来自的表的名称设置为给定的表名称。<T> T
返回一个实现给定接口的对象,以允许访问非标准方法或代理未公开的标准方法。
-
Constructor Details
-
RowSetMetaDataImpl
public RowSetMetaDataImpl()构造一个RowSetMetaDataImpl
对象。
-
-
Method Details
-
setColumnCount
将为此RowSetMetaDataImpl
对象创建的RowSet
对象中的列数设置为给定的数字。- 指定者:
-
setColumnCount
在接口RowSetMetaData
中 - 参数:
-
columnCount
- 一个int
,表示RowSet
对象中的列数 - 抛出:
-
SQLException
- 如果给定的数字等于或小于零
-
setAutoIncrement
将指定列是否自动编号(因此只读)设置为给定的boolean
值。- 指定者:
-
setAutoIncrement
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和行集中的列数之间,包括边界值 -
property
- 如果给定列自动递增,则为true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的索引超出范围
-
setCaseSensitive
将指定列的名称是否区分大小写设置为给定的boolean
。- 指定者:
-
setCaseSensitive
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和行集中的列数之间,包括边界值 -
property
-true
表示列名区分大小写;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
setSearchable
将存储在指定列中的值是否可用于WHERE
子句设置为给定的boolean
值。- 指定者:
-
setSearchable
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和行集中的列数之间,包括边界值 -
property
-true
表示列值可用于WHERE
子句;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
setCurrency
将存储在指定列中的值是否为现金值设置为给定的boolean
。- 指定者:
-
setCurrency
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
property
- 如果值是现金价值,则为true;否则为false。 - 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
setNullable
设置指定列中存储的值是否可以设置为接口ResultSetMetaData
中的给定常量NULL
。- 指定者:
-
setNullable
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
property
- 下列ResultSetMetaData
常量之一:columnNoNulls
、columnNullable
或columnNullableUnknown
- 抛出:
-
SQLException
- 如果发生数据库访问错误,给定的列号超出范围,或为property参数提供的值不是下列常量之一:ResultSetMetaData.columnNoNulls
、ResultSetMetaData.columnNullable
或ResultSetMetaData.columnNullableUnknown
-
setSigned
设置指定列中存储的值是否为带符号数字为给定的boolean
。- 指定者:
-
setSigned
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
property
-true
表示列值为带符号数字;false
表示不是 - 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
setColumnDisplaySize
设置指定列中存储的值的正常最大字符数为给定的数字。- 指定者:
-
setColumnDisplaySize
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
size
- 列中的最大字符数;必须为0
或更多 - 抛出:
-
SQLException
- 如果发生数据库访问错误,给定的列号超出范围,或size小于0
-
setColumnLabel
设置用于打印和显示的建议列标签(如果有)为label。如果label为null
,则列标签设置为空字符串("")。- 指定者:
-
setColumnLabel
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
label
- 用于打印和显示的列标签;如果列标签为null
,则设置为空的String
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列索引超出范围
-
setColumnName
设置指定列的列名为给定的名称。- 指定者:
-
setColumnName
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
columnName
- 指示列名的String
对象;如果给定名称为null
,则设置为空的String
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列索引超出范围
-
setSchemaName
设置指定列的表模式名称(如果有)为schemaName。如果schemaName为null
,则模式名称设置为空字符串("")。- 指定者:
-
setSchemaName
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
schemaName
- 指定列值来源表的模式名称;可以是空的String
或null
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
setPrecision
设置存储在指定列中的值的十进制数字总位数为给定的数字。- 指定者:
-
setPrecision
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
precision
- 十进制数字的总位数;必须为0
或更多 - 抛出:
-
SQLException
- 如果发生数据库访问错误,columnIndex超出范围,或precision小于0
-
setScale
设置存储在指定列中的值的小数点右侧的数字位数为给定的数字。- 指定者:
-
setScale
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
scale
- 小数点右侧的数字位数;必须为零或更多 - 抛出:
-
SQLException
- 如果发生数据库访问错误,columnIndex超出范围,或scale小于0
-
setTableName
设置指定列来源的表的名称为给定的表名。- 指定者:
-
setTableName
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
tableName
- 列的表名;可以是null
或空字符串 - 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
setCatalogName
设置指定列来源的表的目录名称为catalogName。如果catalogName为null
,则目录名称设置为空字符串。- 指定者:
-
setCatalogName
在接口RowSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在列数之间,包括1
和列数之间 -
catalogName
- 列的表的目录名称;如果catalogName为null
,则设置为空的String
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
setColumnType
将存储在指定列中的值的SQL类型代码设置为来自类java.sql.Types
的给定类型代码。- 指定者:
-
setColumnType
在接口RowSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 -
SQLType
- 指定列的SQL类型,必须是类java.sql.Types
中的常量之一 - 抛出:
-
SQLException
- 如果发生数据库访问错误,给定的列号超出范围,或指定的列类型不是java.sql.Types
中的常量之一 - 参见:
-
setColumnTypeName
将数据源用于存储在指定列中的值的类型名称设置为给定的类型名称。- 指定者:
-
setColumnTypeName
在接口RowSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 -
typeName
- 数据源特定的类型名称;如果typeName为null
,则设置为空的String
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnCount
检索创建此RowSetMetaDataImpl
对象的RowSet
对象中的列数。- 指定者:
-
getColumnCount
在接口ResultSetMetaData
- 返回:
- 列数
- 抛出:
-
SQLException
- 如果发生错误确定列数
-
isAutoIncrement
检索存储在指定列中的值是否自动编号,因此为只读。- 指定者:
-
isAutoIncrement
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
-
如果列自动编号,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isCaseSensitive
指示指定列名的大小写是否敏感。- 指定者:
-
isCaseSensitive
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
-
如果列名区分大小写,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isSearchable
指示存储在指定列中的值是否可以在WHERE
子句中使用。- 指定者:
-
isSearchable
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
-
如果指定列中的值可以在
WHERE
子句中使用,则为true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isCurrency
指示存储在指定列中的值是否为现金值。- 指定者:
-
isCurrency
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
-
如果指定列中的值为现金值,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isNullable
检索指定列中是否可以存储NULL
值的常量。- 指定者:
-
isNullable
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
-
来自
ResultSetMetaData
接口的常量;columnNoNulls
、columnNullable
或columnNullableUnknown
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isSigned
指示存储在指定列中的值是否为有符号数。- 指定者:
-
isSigned
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
-
如果指定列中的值为有符号数,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnDisplaySize
检索指定列的正常最大字符宽度。- 指定者:
-
getColumnDisplaySize
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
- 可在指定列中显示的最大字符数
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnLabel
检索用于打印和显示的指定列的建议列标题。- 指定者:
-
getColumnLabel
在接口ResultSetMetaData
- 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须介于1
和列数之间,包括边界值 - 返回:
- 用于打印和显示的建议列名称
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnName
检索指定列的名称。- 指定者:
-
getColumnName
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
- 指定列的列名
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getSchemaName
从指定列派生的值的表的模式名称。- 指定者:
-
getSchemaName
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
模式名称或如果没有模式名称可用则为空的
String
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getPrecision
检索存储在指定列中的值的数字总位数。- 指定者:
-
getPrecision
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
- 指定列中存储的值的精度
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getScale
检索存储在指定列中的值的小数点右侧的数字位数。- 指定者:
-
getScale
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
- 指定列中存储的值的比例
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getTableName
检索存储在指定列中的值的表的名称。- 指定者:
-
getTableName
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
表名或如果没有表名可用则为空的
String
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getCatalogName
检索存储在指定列中的值的表的目录名称。- 指定者:
-
getCatalogName
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
列的表的目录名称或如果没有目录名称可用则为空的
String
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnType
检索存储在指定列中的值的SQL类型的类型代码(java.sql.Types
常量之一)。- 指定者:
-
getColumnType
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
代表指定列中存储的值的SQL类型的
int
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围 - 参见:
-
getColumnTypeName
检索存储在指定列中的值的特定于DBMS的类型名称。- 指定者:
-
getColumnTypeName
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
- 数据源使用的类型名称
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isReadOnly
指示指定列绝对不可写,因此只读。- 指定者:
-
isReadOnly
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
true
如果此RowSet
对象是只读的,因此不可更新;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isWritable
指示指定列是否可能成功进行写操作。返回值为true
表示写操作可能成功也可能不成功。- 指定者:
-
isWritable
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
true
如果对指定列的写操作可能成功;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
isDefinitelyWritable
指示指定列的写操作是否一定会成功。- 指定者:
-
isDefinitelyWritable
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
true
如果对指定列的写操作一定会成功;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
getColumnClassName
检索指定列中的值将映射到的Java编程语言类的完全限定名称。例如,如果值是一个int
,则此方法返回的类名将是java.lang.Integer
。如果指定列中的值具有自定义映射,则此方法返回实现
SQLData
的类的名称。当调用方法ResultSet.getObject
从指定列中检索值时,它将创建此类或其子类的实例。- 指定者:
-
getColumnClassName
在接口ResultSetMetaData
中 - 参数:
-
columnIndex
- 第一列为1,第二列为2,依此类推;必须在1
和列数之间,包括边界值 - 返回值:
-
Java编程语言中方法
RowSet.getObject
用于检索指定列中的值时将使用的类的完全限定名称。这是在存在自定义映射时用于自定义映射的类名。 - 抛出:
-
SQLException
- 如果发生数据库访问错误或给定的列号超出范围
-
unwrap
返回一个实现给定接口的对象,以允许访问非标准方法或代理未公开的标准方法。结果可以是发现实现接口的对象或该对象的代理。如果接收者实现了接口,则该对象是接收者。如果接收者是包装器且被包装的对象实现了接口,则该对象是被包装的对象。否则,对象是在被包装的对象上递归调用unwrap
的结果。如果接收者不是包装器且未实现接口,则会抛出SQLException
。- 指定者:
-
unwrap
在接口Wrapper
中 - 类型参数:
-
T
- 由此Class对象建模的类的类型 - 参数:
-
iface
- 定义结果必须实现的接口的Class - 返回值:
- 实现接口的对象。可能是实际实现对象的代理。
- 抛出:
-
SQLException
- 如果未找到实现接口的对象 - 自:
- 1.6
-
isWrapperFor
如果此对象实现了接口参数或直接或间接地是包装器以包装实现了接口的对象,则返回true。否则返回false。如果此对象实现了接口,则返回true,否则如果此对象是包装器,则返回递归调用被包装对象的isWrapperFor
的结果。如果此对象既不实现接口又不是包装器,则返回false。此方法应该作为与unwrap
相比成本较低的操作实现,以便调用者可以使用此方法避免可能失败的昂贵unwrap
调用。如果此方法返回true,则使用相同参数调用unwrap
应该成功。- 指定者:
-
isWrapperFor
在接口Wrapper
中 - 参数:
-
interfaces
- 定义一个接口的Class - 返回值:
- 如果此对象实现了接口或直接或间接地包装了一个实现了接口的对象,则返回true。
- 抛出:
-
SQLException
- 如果在确定此对象是否是具有给定接口的对象的包装器时发生错误 - 自:
- 1.6
-