模块  java.sql
软件包  java.sql

Interface ResultSetMetaData

  • All Superinterfaces:
    Wrapper
    All Known Subinterfaces:
    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
    • 字段汇总

      字段  
      变量和类型 字段 描述
      static int columnNoNulls
      该常量指示列不允许 NULL值。
      static int columnNullable
      该常量指示列允许 NULL值。
      static int columnNullableUnknown
      该常量表示列值的可空性未知。
    • 方法摘要

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      String getCatalogName​(int column)
      获取指定列的表的目录名称。
      String getColumnClassName​(int column)
      如果调用方法 ResultSet.getObject从列中检索值,则返回其实例生成的Java类的完全限定名称。
      int getColumnCount()
      返回此 ResultSet对象中的列数。
      int getColumnDisplaySize​(int column)
      指示指定列的正常最大宽度(以字符为单位)。
      String getColumnLabel​(int column)
      获取指定列的建议标题,以便在打印输出和显示中使用。
      String getColumnName​(int column)
      获取指定列的名称。
      int getColumnType​(int column)
      检索指定列的SQL类型。
      String getColumnTypeName​(int column)
      检索指定列的特定于数据库的类型名称。
      int getPrecision​(int column)
      获取指定列的指定列大小。
      int getScale​(int column)
      获取指定列的小数点右边的位数。 对于不适用比例的数据类型,将返回0。
      String getSchemaName​(int column)
      获取指定列的表的架构。
      String 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)
      指示是否可以在指定列上写入成功。
    • 字段详细信息

      • columnNoNulls

        static final int columnNoNulls
        该常量指示列不允许 NULL值。
        另请参见:
        常数字段值
      • columnNullable

        static final int columnNullable
        该常量指示列允许 NULL值。
        另请参见:
        常数字段值
      • columnNullableUnknown

        static final int columnNullableUnknown
        该常量表示列值的可空性未知。
        另请参见:
        常数字段值
    • 方法详细信息

      • 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
        获取指定列的指定列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于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 - 如果发生数据库访问错误
        另请参见:
        Types
      • 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,...
        结果
        Java编程语言中类的完全限定名称,方法ResultSet.getObject将使用该ResultSet.getObject来检索指定列中的值。 这是用于自定义映射的类名。
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2