Module  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中有多少列,以及是否可以在WHERE子句中使用rs中的第一列。
      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 描述
      static int columnNoNulls
      常量表示列不允许 NULL值。
      static int columnNullable
      常数表示列允许 NULL
      static int columnNullableUnknown
      常数表示列的值的可空性是未知的。
    • 方法摘要

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      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值。
        另请参见:
        Constant Field Values
      • columnNullable

        static final int columnNullable
        常数表示列允许 NULL
        另请参见:
        Constant Field Values
      • columnNullableUnknown

        static final int columnNullableUnknown
        常数表示列的值的可空性是未知的。
        另请参见:
        Constant Field Values
    • 方法详细信息

      • 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将用于检索指定列中的值。 这是用于自定义映射的类名。
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2