Module java.sql
Package java.sql

Interface ResultSetMetaData

所有超接口:
Wrapper
所有已知子接口:
RowSetMetaData
所有已知实现类:
RowSetMetaDataImpl

public interface ResultSetMetaData extends Wrapper
一个可以用来获取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

    Fields
    Modifier and Type
    Field
    Description
    static final int
    表示列不允许具有NULL值的常量。
    static final int
    表示列允许具有NULL值的常量。
    static final int
    表示列值的可空性未知的常量。
  • Method Summary

    Modifier and Type
    Method
    Description
    getCatalogName(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

      int getColumnCount() throws SQLException
      返回此ResultSet对象中的列数。
      返回:
      列数
      抛出:
      SQLException - 如果发生数据库访问错误
    • isAutoIncrement

      boolean isAutoIncrement(int column) throws SQLException
      指示指定列是否自动编号。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      true表示是;false表示否
      抛出:
      SQLException - 如果发生数据库访问错误
    • isCaseSensitive

      boolean isCaseSensitive(int column) throws SQLException
      指示列的大小写是否敏感。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      true表示是;false表示否
      抛出:
      SQLException - 如果发生数据库访问错误
    • isSearchable

      boolean isSearchable(int column) throws SQLException
      指示指定列是否可以在where子句中使用。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      true表示是;false表示否
      抛出:
      SQLException - 如果发生数据库访问错误
    • isCurrency

      boolean isCurrency(int column) throws SQLException
      指示指定列是否为现金值。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      true表示是;false表示否
      抛出:
      SQLException - 如果发生数据库访问错误
    • isNullable

      int isNullable(int column) throws SQLException
      指示指定列值的可空性。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      给定列的可空性状态;其中之一为columnNoNullscolumnNullablecolumnNullableUnknown
      抛出:
      SQLException - 如果发生数据库访问错误
    • isSigned

      boolean isSigned(int column) throws SQLException
      指示指定列的值是否为有符号数字。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      true表示是;false表示否
      抛出:
      SQLException - 如果发生数据库访问错误
    • getColumnDisplaySize

      int getColumnDisplaySize(int column) throws SQLException
      指示指定列的正常最大字符宽度。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      指定列的最大字符宽度
      抛出:
      SQLException - 如果发生数据库访问错误
    • getColumnLabel

      String getColumnLabel(int column) throws SQLException
      获取指定列用于打印和显示的建议标题。建议的标题通常由SQL AS子句指定。如果未指定SQL AS,则从getColumnLabel返回的值将与getColumnName方法返回的值相同。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      建议的列标题
      抛出:
      SQLException - 如果发生数据库访问错误
    • getColumnName

      String getColumnName(int column) throws SQLException
      获取指定列的名称。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      列名
      抛出:
      SQLException - 如果发生数据库访问错误
    • getSchemaName

      String getSchemaName(int column) throws SQLException
      获取指定列的表模式。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      模式名称或""(如果不适用)
      抛出:
      SQLException - 如果发生数据库访问错误
    • getPrecision

      int getPrecision(int column) throws SQLException
      获取指定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回0。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      精度
      抛出:
      SQLException - 如果发生数据库访问错误
    • getScale

      int getScale(int column) throws SQLException
      获取指定列小数点右侧的数字位数。对于不适用比例的数据类型,返回0。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      比例
      抛出:
      SQLException - 如果发生数据库访问错误
    • getTableName

      String getTableName(int column) throws SQLException
      获取指定列的表名称。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      表名称或""(如果不适用)
      抛出:
      SQLException - 如果发生数据库访问错误
    • getCatalogName

      String getCatalogName(int column) throws SQLException
      获取指定列的表的目录名称。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      给定列所在表的目录名称,如果不适用则返回""
      抛出:
      SQLException - 如果发生数据库访问错误
    • getColumnType

      int getColumnType(int column) throws SQLException
      检索指定列的SQL类型。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      来自java.sql.Types的SQL类型
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getColumnTypeName

      String getColumnTypeName(int column) throws SQLException
      检索指定列的数据库特定类型名称。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      数据库使用的类型名称。如果列类型是用户定义类型,则返回完全限定的类型名称。
      抛出:
      SQLException - 如果发生数据库访问错误
    • isReadOnly

      boolean isReadOnly(int column) throws SQLException
      指示指定列是否绝对不可写。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      如果是,则返回true; 否则返回false
      抛出:
      SQLException - 如果发生数据库访问错误
    • isWritable

      boolean isWritable(int column) throws SQLException
      指示指定列是否可能成功写入。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      如果是,则返回true; 否则返回false
      抛出:
      SQLException - 如果发生数据库访问错误
    • isDefinitelyWritable

      boolean isDefinitelyWritable(int column) throws SQLException
      指示指定列的写入是否一定会成功。
      参数:
      column - 第一列为1,第二列为2,...
      返回:
      如果是,则返回true; 否则返回false
      抛出:
      SQLException - 如果发生数据库访问错误
    • getColumnClassName

      String getColumnClassName(int column) throws SQLException

      返回调用方法ResultSet.getObject从列中检索值时,将制造其实例的Java类的完全限定名称。 ResultSet.getObject可能返回此方法返回的类的子类。

      参数:
      column - 第一列为1,第二列为2,...
      返回:
      用于方法ResultSet.getObject检索指定列中的值的Java编程语言中的类的完全限定名称。这是用于自定义映射的类名。
      抛出:
      SQLException - 如果发生数据库访问错误
      自1.2版本起:
      1.2