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
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetCatalogName(int columnIndex) 检索指定列的值来自的表的目录名称。getColumnClassName(int columnIndex) 检索指定列中的值将映射到的Java编程语言中的类的完全限定名称。int检索为此RowSetMetaDataImpl对象创建的RowSet对象中的列数。intgetColumnDisplaySize(int columnIndex) 检索指定列的正常最大字符宽度。getColumnLabel(int columnIndex) 检索用于打印和显示的指定列的建议列标题。getColumnName(int columnIndex) 检索指定列的名称。intgetColumnType(int columnIndex) 检索存储在指定列中的值的SQL类型的类型代码(java.sql.Types常量之一)。getColumnTypeName(int columnIndex) 检索存储在指定列中的值的特定于DBMS的类型名称。intgetPrecision(int columnIndex) 检索存储在指定列中的值的总位数。intgetScale(int columnIndex) 检索存储在指定列中的值的小数点右侧的位数。getSchemaName(int columnIndex) 检索指定列的值来自的表的模式名称。getTableName(int columnIndex) 检索指定列的值来自的表的名称。booleanisAutoIncrement(int columnIndex) 指示存储在指定列中的值是否自动编号,因此只读。booleanisCaseSensitive(int columnIndex) 指示指定列名称的大小写是否重要。booleanisCurrency(int columnIndex) 指示存储在指定列中的值是否为现金值。booleanisDefinitelyWritable(int columnIndex) 指示对指定列的写操作是否肯定成功。intisNullable(int columnIndex) 检索一个常量,指示是否可能在指定列中存储NULL值。booleanisReadOnly(int columnIndex) 指示指定列是否绝对不可写,因此只读。booleanisSearchable(int columnIndex) 指示存储在指定列中的值是否可用于WHERE子句。booleanisSigned(int columnIndex) 指示存储在指定列中的值是否为有符号数。booleanisWrapperFor(Class<?> interfaces) 如果此对象实现接口参数或直接或间接地是对象的包装器,则返回true。booleanisWritable(int columnIndex) 指示对指定列的写操作是否可能成功。voidsetAutoIncrement(int columnIndex, boolean property) 将指定列是否自动编号(因此只读)设置为给定的boolean值。voidsetCaseSensitive(int columnIndex, boolean property) 将指定列的名称是否区分大小写设置为给定的boolean。voidsetCatalogName(int columnIndex, String catalogName) 将指定列的表的目录名称设置为指定的catalogName。voidsetColumnCount(int columnCount) 将为此RowSetMetaDataImpl对象创建的RowSet对象中的列数设置为给定的数字。voidsetColumnDisplaySize(int columnIndex, int size) 将指定列中的正常最大字符数设置为给定的数字。voidsetColumnLabel(int columnIndex, String label) 将用于打印和显示的指定列标签(如果有)设置为label。voidsetColumnName(int columnIndex, String columnName) 将指定列的列名设置为给定的名称。voidsetColumnType(int columnIndex, int SQLType) 将存储在指定列中的值的SQL类型代码设置为来自类java.sql.Types的给定类型代码。voidsetColumnTypeName(int columnIndex, String typeName) 将数据源用于存储在指定列中的值的类型名称设置为给定的类型名称。voidsetCurrency(int columnIndex, boolean property) 将存储在指定列中的值是否为现金值设置为给定的boolean。voidsetNullable(int columnIndex, int property) 将存储在指定列中的值是否可以设置为NULL设置为来自接口ResultSetMetaData的给定常量。voidsetPrecision(int columnIndex, int precision) 将存储在指定列中的值的十进制位数总数设置为给定的数字。voidsetScale(int columnIndex, int scale) 将存储在指定列中的值的小数点右侧的位数设置为给定的数字。voidsetSchemaName(int columnIndex, String schemaName) 将指定列的表的模式名称(如果有)设置为schemaName。voidsetSearchable(int columnIndex, boolean property) 将存储在指定列中的值是否可以在WHERE子句中使用设置为给定的boolean值。voidsetSigned(int columnIndex, boolean property) 将存储在指定列中的值是否为有符号数设置为给定的boolean。voidsetTableName(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
-