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