• 相关软件
    >ResultSet 创建者:webmaster 更新时间:2005-12-17 02:18

    ResultSet 提供了通过执行一条语句访问所生成的数据表的功能。按顺序获取表中的行。在一行内它的列值可以以任意顺序访问。

    ResultSet 控制一个指向当前数据行的游标。初始,游标定位于第一行之前。用 'next' 方法可把游标移到下一行。

    getXXX 方法获取当前行的列值。可通过使用列的索引或名字来获取值。通常使用列索引会更有效。列索引从 1 开始。

    最大概率下,每行的 ResultSet 列应按照从左到右的顺序获取,并且每列只读一次。

    对 getXXX 方法,JDBC 驱动程序试图把基础数据转换为指定的 Java 类型并返回一个合适的 Java 值。参见关于使用 ResultSet.getXXX 方法从 SQL 类型到 Java 类型进行映射的 JDBC 规范。

    输入到 getXXX 方法的列名是大小写敏感的。当使用列名执行一个 getXXX 方法时,如果几个列有同样的名字,则返回第一个匹配的列。当列名用于 SQL 查询时,指定使用列名选项。对在查询中没有明确命名的列,最好使用列编号。如果使用列名,则无法对编程者保证他们实际使用了所想要的列。

    ResultSet 由生成它的语句自动关闭、再执行或从多个结果的序列中获取下一个结果。

    ResultSet 列的编号、类型和特性由 getMetaData 方法返回的 ResulSetMetaData 对象提供。



    接口 java.sql.ResultSet



    public interface ResultSet



     
    参见:
     
    executeQuery, getResultSet, ResultSetMetaData





    方法索引



    clearWarnings()
    此调用完成之后,getWarnings 返回 null 直到为该 ResultSet 报告了一个新的警告为止。
    close()
    在很多情况下,在语句自动关闭时立即释放该语句的数据库和 JDBC
    资源是需要的;close 方法既就是这种立即释放的方法。
    findColumn(String)
    映射一个 Resultset 列名到 ResultSet 列索引号。
    getAsciiStream(int)
    把列值作为一个 ASCII 字符流获取,然后成批地从流中读出。
    getAsciiStream(String)
    把列值作为一个 ASCII 字符流获取,然后成批地从流中读出。
    getBigDecimal(int, int)
    把当前行的列值作为 java.lang.BigDecimal 对象获取。
    getBigDecimal(String, int)
    把当前行的列值作为 java.lang.BigDecimal 对象获取。
    getBinaryStream(int)
    把列值作为一个未解释的字节流来获取,然后再从流中成批读出。
    getBinaryStream(String)
    把列值作为一个未解释的字节流来获取,然后再从流中成批读出。
    getBoolean(int)
    把当前行的列值作为一个 Java boolean 获取。
    getBoolean(String)
    把当前行的列值作为一个 Java boolean 获取。
    getByte(int)
    把当前行的列值作为一个 Java byte 获取。
    getByte(String)
    把当前行的列值作为一个 Java byte 获取。
    getBytes(int)
    把当前行的列值作为一个 Java byte 数组获取。
    getBytes(String)
    把当前行的列值作为一个 Java byte 数组获取。
    getCursorName()
    获取 ResultSet 的 SQL 游标名。
    getDate(int)
    把当前行的列值作为一个 java.sql.Date 对象获取。
    getDate(String)
    把当前行的列值作为一个 java.sql.Date 对象获取。
    getDouble(int)
    把当前行的列值作为一个 Java double 获取。
    getDouble(String)
    把当前行的列值作为一个 Java double 获取。
    getFloat(int)
    把当前行的列值作为一个 Java float 获取。
    getFloat(String)
    把当前行的列值作为一个 Java float 获取。
    getInt(int)
    把当前行的列值作为一个 Java int 获取。
    getInt(String)
    把当前行的列值作为一个 Java int 获取。
    getLong(int)
    把当前行的列值作为一个 Java long 获取。
    getLong(String)
    把当前行的列值作为一个 Java long 获取。
    getMetaData()
    ResultSet 的列编号、类型和特性由 getMetaData 方法提供。
    getObject(int)
    把当前行的列值作为一个 Java 对象获取。
    getObject(String)
    把当前行的列值作为一个 Java 对象获取。
    getShort(int)
    把当前行的列值作为一个 Java short 获取。
    getShort(String)
    把当前行的列值作为一个 Java short 获取。
    getString(int)
    把当前行的列值作为一个 Java String 获取。
    getString(String)
    把当前行的列值作为一个 Java String 获取。
    getTime(int)
    把当前行的列值作为一个 java.sql.Time 对象获取。
    getTime(String)
    把当前行的列值作为一个 java.sql.Time 对象获取。
    getTimestamp(int)
    把当前行的列值作为一个 java.sql.Timestamp 对象获取。
    getTimestamp(String)
    把当前行的列值作为一个 java.sql.Timestamp 对象获取。
    getUnicodeStream(int)
    列值可作为一个 Unicode 字符流来获取,然后从流中成批读出。
    getUnicodeStream(String)
    列值可作为一个 Unicode 字符流来获取,然后从流中成批读出。
    getWarnings()
    返回在这个 ResultSet 上的调用报告的第一个警告。
    next()
    ResultSet 初始定位于它的第一行之前;对 next 的第一个调用使得第一行成为当前行;第二个调用使得第二行成为当前行,等等。
    wasNull()
    列可能有值 SQL NULL ;wasNull 报告是否所读的最后一列有这个特殊的值。




    方法



    next

    public abstract boolean next() throws SQLException


    ResultSet 初始定位于它的第一行之前;对 next 的第一个调用使得第一行成为当前行;第二个调用使得第二行成为当前行,等等。

    如果来自先前行的输入流是打开的,则它被隐含地关闭。当读一个新行时,ResultSet 的警告链被清除。



     
    返回值:
     
    如果当前行有效,返回 true ;如果没有更多的行则返回 false
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    close

    public abstract void close() throws SQLException


    在多情况下,在语句自动关闭时立即释放该语句的数据库和 JDBC 资源是需要的;close 方法提供了这种立即释放方法。

    注意: ResultSet 由生成它的语句自动关闭、再执行或用于从多个结果的序列中获取下一个结果。
    ResultSet 被垃圾箱收集时也自动关闭。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    wasNull

    public abstract boolean wasNull() throws SQLException


    列可能有值 SQL NULL ;wasNull 报告是否读的最后一列有这个特殊的值。
    注意,您必须先对列调用 getXXX 方法来尽量读它的值并调用 wasNull() 方法来查找值是否为 SQL NULL 。



     
    返回值:
     
    如果读的最后列为 SQL NULL 返回 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getString

    public abstract String getString(int columnIndex) throws SQLException


    把当前行的列值作为一个 Java String 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBoolean

    public abstract boolean getBoolean(int columnIndex) throws SQLException


    把当前行的列值作为一个 Java boolean 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 false
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getByte

    public abstract byte getByte(int columnIndex) throws SQLException


    把当前行的列值作为一个 Java byte 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getShort

    public abstract short getShort(int columnIndex) throws SQLException


    把当前行的列值作为一个 Java short 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getInt

    public abstract int getInt(int columnIndex) throws SQLException


    把当前行的列值作为 Java int 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getLong

    public abstract long getLong(int columnIndex) throws SQLException


    把当前行的列值作为 Java long 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getFloat

    public abstract float getFloat(int columnIndex) throws SQLException


    把当前行的列值作为 Java float 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDouble

    public abstract double getDouble(int columnIndex) throws SQLException


    把当前行的列值作为 Java double 获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBigDecimal

    public abstract BigDecimal getBigDecimal(int columnIndex,
                                int scale) throws SQLException


    获取当前行的列值作为 java.lang.BigDecimal 对象。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    scale - 小数点右边的数字数目
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBytes

    public abstract byte[] getBytes(int columnIndex) throws SQLException


    把当前行的列值作为一个 Java byte 数组获取。
    字节描述了驱动程序返回的未加工的值。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDate

    public abstract Date getDate(int columnIndex) throws SQLException


    把当前行的列值作为一个 java.sql.Date 对象获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getTime

    public abstract Time getTime(int columnIndex) throws SQLException


    把当前行的列值作为 java.sql.Time 对象获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getTimestamp

    public abstract Timestamp getTimestamp(int columnIndex) throws SQLException


    把当前行的列值作为 java.sql.Timestamp 对象获取。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getAsciiStream

    public abstract InputStream getAsciiStream(int columnIndex) throws SQLException


    列值可作为 ASCII 字符流获取,然后成批从流中读出。 该方法特别适合于获取大的 LONGVARCHAR 值。
    JDBC 驱动程序将做从数据库格式到 ASCII 的任何必要的转换。

    注意: 返回流的所有数据必须在获取任何其它列的值之前先读。下一个对 get 方法的调用隐含地关闭了流。. 而且,一个流可能为 available() 方法返回 0 ,不管数据是否可用。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    把数据库列值作为单字节的 ASCII 字符流释放的 Java 输入流。如果值是 SQL NULL 则结果是 null。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getUnicodeStream

    public abstract InputStream getUnicodeStream(int columnIndex) throws SQLException


    列值可作为一个 Unicode 字符流来获取,然后从流中成批读出。该方法特别适用于获取大的 LONGVARCHAR 值。
    JDBC 驱动程序将做从数据库格式到 Unicode 的任何必要的转换。

    注意: 返回流的所有数据必须在获取任何其它列的值之前先读。下一个对 get 方法的调用隐含地关闭了流。. 而且,一个流可能为 available() 方法返回 0 ,不管数据是否可用。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    把数据库列值作为一个两字节的 Unicode 字符流释放的 Java 输入流。 如果值是 SQL NULL 则结果是 null。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBinaryStream

    public abstract InputStream getBinaryStream(int columnIndex) throws SQLException


    列值可作为一个未解释的字节流来获取,然后从流中成批读出。该方法特别适用于获取大的 LONGVARBINARY 值。

    注意: 返回流的所有数据必须在获取任何其它列的值之前先读。下一个对 get 方法的调用隐含地关闭了流。而且,一个流可能为 available() 方法返回 0 ,不管数据是否可用。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    把数据库列值作为一个未解释的字节流释放的 Java 输入流。如果值是 SQL NULL 则结果是 null。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getString

    public abstract String getString(String columnName) throws SQLException


    获取当前行的列值作为一个 Java String 。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBoolean

    public abstract boolean getBoolean(String columnName) throws SQLException


    把当前行的列值作为 Java boolean 获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 false
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getByte

    public abstract byte getByte(String columnName) throws SQLException


    把当前行的列值作为 Java byte 获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getShort

    public abstract short getShort(String columnName) throws SQLException


    把当前行的列值作为 Java short 获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getInt

    public abstract int getInt(String columnName) throws SQLException


    把当前行的列值作为 Java int 获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getLong

    public abstract long getLong(String columnName) throws SQLException


    把当前行的列值作为 Java long 获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getFloat

    public abstract float getFloat(String columnName) throws SQLException


    把当前行的列值作为 Java float 获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDouble

    public abstract double getDouble(String columnName) throws SQLException


    把当前行的列值作为 Java double 获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 0
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBigDecimal

    public abstract BigDecimal getBigDecimal(String columnName,
                                int scale) throws SQLException


    把当前行的列值作为 java.lang.BigDecimal 对象获取。



     
    参数:
     
    columnName - 列的 SQL 名
    scale - 小数点右边的数字数目
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBytes

    public abstract byte[] getBytes(String columnName) throws SQLException


    把当前行的列值作为 Java byte 数组获取。
    字节描述了驱动程序返回的未加工的值。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDate

    public abstract Date getDate(String columnName) throws SQLException


    把当前行的列值作为一个 java.sql.Date 对象获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getTime

    public abstract Time getTime(String columnName) throws SQLException


    把当前行的列值作为 java.sql.Time 对象获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getTimestamp

    public abstract Timestamp getTimestamp(String columnName) throws SQLException


    把当前行的列值作为 java.sql.Timestamp 对象获取。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    列值;如果值是 SQL NULL, 结果为 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getAsciiStream

    public abstract InputStream getAsciiStream(String columnName) throws SQLException


    列值可作为 ASCII 字符流获取,然后从流中读入到块中。 该方法特别适合于获取大的 LONGVARCHAR 值。
    JDBC 驱动程序将做从数据库格式到 ASCII 的任何必要的转换。

    注意: 返回流的所有数据必须在获取任何其它列的值之前先读。下一个对 get 方法的调用隐含地关闭了流。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    把数据库列值作为一个一字节的 ASCII 字符流释放的 Java 输入流。如果值是 SQL NULL 则结果是 null。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getUnicodeStream

    public abstract InputStream getUnicodeStream(String columnName) throws SQLException


    列值可作为一个 Unicode 字符流来获取,然后从流中成批读出。 该方法特别适用于获取大的 LONGVARCHAR 值。
    JDBC 驱动程序将做从数据库格式到 Unicode 的任何必要的转换。

    注意: 返回流的所有数据必须在获取任何其它列的值之前先读。下一个对 get 方法的调用隐含地关闭了流。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    把数据库列值作为一个两字节的 Unicode 字符流释放的 Java 输入流。 如果值是 SQL NULL 则结果是 null。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getBinaryStream

    public abstract InputStream getBinaryStream(String columnName) throws SQLException


    列值可作为一个未解释的字节流来获取,然后从流中成批读出。该方法特别适用于获取大的 LONGVARBINARY 值。

    注意: 返回流的所有数据必须在获取任何其它列的值之前先读。下一个对 get 方法的调用隐含地关闭了流。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    把数据库列值作为一个未解释字节流释放的 Java 输入流。 如果值是 SQL NULL 则结果是 null。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getWarnings

    public abstract SQLWarning getWarnings() throws SQLException


    返回由在这个 ResultSet 上的调用报告的第一个警告。后继的 ResultSet 警告将被链接到这个 SQLWarning 上。

    每次读一个新行时,警告链被自动清除。

    注意: 该警告链仅包含了由 ResultSet 方法引起的警告。由语句方法(如读 OUT 参数)引起的任何警告将被链接到语句对象上。



     
    返回值:
     
    第一个 SQLWarning 或 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    clearWarnings

    public abstract void clearWarnings() throws SQLException


    此调用完成之后,getWarnings 返回 null 直到为该 ResultSet 报告了一个新的警告为止。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getCursorName

    public abstract String getCursorName() throws SQLException


    获取 ResultSet 的 SQL 游标名。

    在 SQL 中, 一个结果表可以通过命名的游标来读取。结果的当前行可通过使用引用游标名的已经定位的更新/删除语句来更新或删除。

    JDBC 通过提供 ResultSet 使用的 SQL 游标名支持这个 SQL 特征。
    ResultSet 的当前行也是这个 SQL 游标的当前行。

    注意: 如果不支持定位的更新,则抛出 SQLException



     
    返回值:
     
    ResultSet 的 SQL 游标名
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMetaData

    public abstract ResultSetMetaData getMetaData() throws SQLException


    ResultSet 的列编号、类型和特性由 getMetaData 方法提供。



     
    返回值:
     
    ResultSet 的列的描述
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getObject

    public abstract Object getObject(int columnIndex) throws SQLException


    获取当前行的列值作为一个 Java 对象 。

    该方法将返回给定的列的值作为一个 Java 对象。Java 对象的类型将是对应于列的 SQL 类型的缺省的 Java 对象类型,依附于 JDBC spec 中指定的映射。

    该方法也可用于读特定于数据库的抽象数据类型。



     
    参数:
     
    columnIndex - 第一个列是 1, 第二个列是 2, ...
     
    返回值:
     
    保持列值的 java.lang.Object 。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getObject

    public abstract Object getObject(String columnName) throws SQLException


    把当前行的列值作为 Java 对象获取。

    该方法将返回给定的列的值作为一个 Java 对象。Java 对象的类型将是对应于列的 SQL 类型的缺省的 Java 对象类型,依附于 JDBC spec 中指定的映射。

    该方法也可用于读特定于数据库的抽象数据类型。



     
    参数:
     
    columnName - 列的 SQL 名
    返回值:
     
    保持列值的 java.lang.Object 。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。


    findColumn

    public abstract int findColumn(String columnName) throws SQLException


    映射一个 Resultset 列名到 ResultSet 列号。



     
    参数:
     
    columnName - 列名
     
    返回值:
     
    列索引
    抛出:
    SQLException
     
    如果发生了数据访问错误。

    相关文章
    本页查看次数: