javax.sql.rowset

接口
异常
java.lang.Object
  继承者 javax.sql.rowset.RowSetMetaDataImpl
所有已实现的接口:
Serializable, ResultSetMetaData, Wrapper, RowSetMetaData

public class RowSetMetaDataImpl
     
extends Object
implements RowSetMetaData, Serializable

为设置和获取关于 RowSet 对象列的元数据信息的方法提供实现。RowSetMetaDataImpl 对象跟踪 rowset 中的列并为每个列维持一个列属性的内部数组。

RowSet 对象在内部创建 RowSetMetaDataImpl 对象以设置和获取关于其列的信息。

注:在填充 RowSetMetaDataImpl 对象所描述的 RowSet 对象之前,该对象中的所有元数据都应视为不可用。因此,在 RowSet 对象包含数据之前调用任何获取信息的 RowSetMetaDataImpl 方法所导致的行为都被定义为是不确定的。

另请参见:
序列化表格

字段摘要
 
从接口 java.sql.ResultSetMetaData 继承的字段
columnNoNulls, columnNullable, columnNullableUnknown
 
构造方法摘要
RowSetMetaDataImpl()
           
 
方法摘要
 String getCatalogName(int columnIndex)
          获取派生指定列中值的表的类别名称。
 String getColumnClassName(int columnIndex)
          获取 Java 编程语言中一个类的完全限定名,该类是指定列中的值将映射到的那个类。
 int getColumnCount()
          获取为其创建此 RowSetMetaDataImpl 对象的 RowSet 对象中的列数。
 int getColumnDisplaySize(int columnIndex)
          获取以 char 为单位的指定列的正常最大宽度。
 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(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)
          将指定列中的正常最大 char 数设置为给定数。
 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)
          将指定列设置为 ResultSetMetaData 接口中的给定常量,以指示是否可以将存储在该列中的值设置为 NULL
 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(Class<T> iface)
          返回实现给定接口以允许访问非标准方法,或者代理未公开标准方法的的对象。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

RowSetMetaDataImpl

public RowSetMetaDataImpl()
方法详细信息

setColumnCount

public void setColumnCount(int columnCount)
                    throws SQLException
在为其创建此 RowSetMetaDataImpl 对象的 RowSet 对象中,将列数设置为给定数。

指定者:
接口 RowSetMetaData 中的 setColumnCount
参数:
columnCount - 给出 RowSet 对象中列数的 int
抛出:
SQLException - 如果给定数小于或等于零

setAutoIncrement

public void setAutoIncrement(int columnIndex,
                             boolean property)
                      throws SQLException
将指定列设置为给定 boolean 值,以指示是否为该列自动编号,从而变为只读。

指定者:
接口 RowSetMetaData 中的 setAutoIncrement
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
property - 如果给定列自动加 1,则为 true;否则为 false
抛出:
SQLException - 如果发生数据库访问错误或者给定索引超出限制
SQLException - 如果发生数据库访问错误

setCaseSensitive

public void setCaseSensitive(int columnIndex,
                             boolean property)
                      throws SQLException
将指定列设置为给定的 boolean 值,以指示该列的名称是否区分大小写。

指定者:
接口 RowSetMetaData 中的 setCaseSensitive
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
property - 为 true 指示列名称区分大小写;否则为 false
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

setSearchable

public void setSearchable(int columnIndex,
                          boolean property)
                   throws SQLException
将指定列设置为给定的 boolean 值,以指示存储在该列中的值是否可以在 WHERE 子句中使用。

指定者:
接口 RowSetMetaData 中的 setSearchable
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
property - 为 true 指示列值可以在 WHERE 子句中使用;否则为 false
抛出:
SQLException - 如果发生数据库访问错误或者给定的列数超出限制
SQLException - 如果发生数据库访问错误

setCurrency

public void setCurrency(int columnIndex,
                        boolean property)
                 throws SQLException
将指定列设置为给定的 boolean,以指示存储在该列中的值是否为缓存值。

指定者:
接口 RowSetMetaData 中的 setCurrency
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
property - 如果该值为缓存值,则为 true;否则为 false。
抛出:
SQLException - 如果发生数据库访问错误或者给定的列数超出限制
SQLException - 如果发生数据库访问错误

setNullable

public void setNullable(int columnIndex,
                        int property)
                 throws SQLException
将指定列设置为 ResultSetMetaData 接口中的给定常量,以指示是否可以将存储在该列中的值设置为 NULL

指定者:
接口 RowSetMetaData 中的 setNullable
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
property - 以下 ResultSetMetaData 常量之一: columnNoNullscolumnNullablecolumnNullableUnknown
抛出:
SQLException - 如果发生数据库访问错误、给定列数超出限制,或者提供给 property 参数的值不是以下常量之一: ResultSetMetaData.columnNoNullsResultSetMetaData.columnNullableResultSetMetaData.columnNullableUnknown
SQLException - 如果发生数据库访问错误

setSigned

public void setSigned(int columnIndex,
                      boolean property)
               throws SQLException
将指定列设置为给定的 boolean 值,以指示存储在该列中的值是否为有符号数。

指定者:
接口 RowSetMetaData 中的 setSigned
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
property - 为 true 指示列值为有符号数;为 false 指示其不是有符号数
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

setColumnDisplaySize

public void setColumnDisplaySize(int columnIndex,
                                 int size)
                          throws SQLException
将指定列中的正常最大 char 数设置为给定数。

指定者:
接口 RowSetMetaData 中的 setColumnDisplaySize
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
size - 以 char 表示的列的最大大小;必须大于等于 0
抛出:
SQLException - 如果发生数据库访问错误、给定列数超出限制,或者 size 小于 0

setColumnLabel

public void setColumnLabel(int columnIndex,
                           String label)
                    throws SQLException
将建议用于打印输出和显示的列标签(如果有)设置为给定的 label。如果 labelnull,则将列标签设置为空字符串 ("")。

指定者:
接口 RowSetMetaData 中的 setColumnLabel
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
label - 用于打印输出和显示的列标签;如果列标签为 null,则设置空 String
抛出:
SQLException - 如果发生数据库访问错误或者给定列索引超出限制

setColumnName

public void setColumnName(int columnIndex,
                          String columnName)
                   throws SQLException
将指定列的列名称设置为给定的名称。

指定者:
接口 RowSetMetaData 中的 setColumnName
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
columnName - 指示列名称的 String 对象;如果给定名称为 null,则设置空 String
抛出:
SQLException - 如果发生数据库访问错误或者给定索引超出限制

setSchemaName

public void setSchemaName(int columnIndex,
                          String schemaName)
                   throws SQLException
将指定列的表的模式名称(如果有)设置为 schemaName。如果 schemaNamenull,则将模式名称设置为空字符串 ("")。

指定者:
接口 RowSetMetaData 中的 setSchemaName
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
schemaName - 表的模式名称,指定列中的值从其派生;可能为空 Stringnull
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

setPrecision

public void setPrecision(int columnIndex,
                         int precision)
                  throws SQLException
将存储在指定列中的值的小数位数的总数设置为给定数。

指定者:
接口 RowSetMetaData 中的 setPrecision
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
precision - 小数位数的总数;必须大于等于 0
抛出:
SQLException - 如果发生数据库访问错误、 columnIndex 超出限制,或者 precision 小于 0

setScale

public void setScale(int columnIndex,
                     int scale)
              throws SQLException
将存储在指定列中的值的小数点右边的位数设置为给定数。

指定者:
接口 RowSetMetaData 中的 setScale
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
scale - 小数点右边的小数位数;必须大于等于 0
抛出:
SQLException - 如果发生数据库访问错误、 columnIndex 超出限制,或者 scale 小于 0

setTableName

public void setTableName(int columnIndex,
                         String tableName)
                  throws SQLException
将派生指定列的表名称设置为给定的表名称。

指定者:
接口 RowSetMetaData 中的 setTableName
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
tableName - 列的表名称;可以为 null 或空字符串
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

setCatalogName

public void setCatalogName(int columnIndex,
                           String catalogName)
                    throws SQLException
将派生指定列的表名称设置为 catalogName。如果 catalogNamenull,则将类别名称设置为空字符串。

指定者:
接口 RowSetMetaData 中的 setCatalogName
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
catalogName - 列的表的类别名称;如果 catalogName 为 null,则设置为 String
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

setColumnType

public void setColumnType(int columnIndex,
                          int SQLType)
                   throws SQLException
将存储在指定列中的值的 SQL 类型代码设置为 java.sql.Types 类中的给定类型代码。

指定者:
接口 RowSetMetaData 中的 setColumnType
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
SQLType - 指定列的 SQL 类型,它必须为 java.sql.Types 类中的常量之一
抛出:
SQLException - 如果发生数据库访问错误、给定列数超出限制,或者指定的列类型不是 java.sql.Types 中的常量之一
另请参见:
Types

setColumnTypeName

public void setColumnTypeName(int columnIndex,
                              String typeName)
                       throws SQLException
将供存储在指定列中的值的数据源使用的类型名称设置为给定类型名称。

指定者:
接口 RowSetMetaData 中的 setColumnTypeName
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和 rowset 中的列数之间(包含两端的值)
typeName - 特定于数据源的类型名称;如果 typeNamenull,则设置空 String
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

getColumnCount

public int getColumnCount()
                   throws SQLException
获取为其创建此 RowSetMetaDataImpl 对象的 RowSet 对象中的列数。

指定者:
接口 ResultSetMetaData 中的 getColumnCount
返回:
列数
抛出:
SQLException - 如果在确定列数时发生错误

isAutoIncrement

public boolean isAutoIncrement(int columnIndex)
                        throws SQLException
获取存储在指定列中的值是否自动编号,因而是只读的。

指定者:
接口 ResultSetMetaData 中的 isAutoIncrement
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
返回:
如果列是自动编号的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

isCaseSensitive

public boolean isCaseSensitive(int columnIndex)
                        throws SQLException
指示指定列的名称是否区分大小写。

指定者:
接口 ResultSetMetaData 中的 isCaseSensitive
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
返回:
如果列是区分大小写的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

isSearchable

public boolean isSearchable(int columnIndex)
                     throws SQLException
指示是否可以在 WHERE 子句中使用存储在指定列中的值。

指定者:
接口 ResultSetMetaData 中的 isSearchable
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
返回:
如果可以在 WHERE 子句中使用指定列中的值,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

isCurrency

public boolean isCurrency(int columnIndex)
                   throws SQLException
指示存储在指定列中的值是否为缓存值。

指定者:
接口 ResultSetMetaData 中的 isCurrency
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
返回:
如果指定列中的值为缓存值,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

isNullable

public int isNullable(int columnIndex)
               throws SQLException
获取指示是否可以在指定列中存储 NULL 值的常量。

指定者:
接口 ResultSetMetaData 中的 isNullable
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
返回:
ResultSetMetaData 接口中的常量; columnNoNullscolumnNullablecolumnNullableUnknown
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

isSigned

public boolean isSigned(int columnIndex)
                 throws SQLException
指示存储在指定列中的值是否为有符号数。

指定者:
接口 ResultSetMetaData 中的 isSigned
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
返回:
如果指定列中的值为有符号数,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

getColumnDisplaySize

public int getColumnDisplaySize(int columnIndex)
                         throws SQLException
获取以 char 为单位的指定列的正常最大宽度。

指定者:
接口 ResultSetMetaData 中的 getColumnDisplaySize
参数:
columnIndex - 第一列为 1,第二列为 2,依此类推;必须介于 1 和列数之间(包含两端的值)
返回:
可以在指定列中显示的最大 char 数
抛出:
SQLException - 如果发生数据库访问错误或者给定列数超出限制

getColumnLabel