Module org.hsqldb

Class JDBCResultSet

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.sql.ResultSet, java.sql.Wrapper

    public class JDBCResultSet
    extends java.lang.Object
    implements java.sql.ResultSet
    A table of data representing a database result set, which is usually generated by executing a statement that queries the database.

    A ResultSet object maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The next method moves the cursor to the next row, and because it returns false when there are no more rows in the ResultSet object, it can be used in a while loop to iterate through the result set.

    A default ResultSet object is not updatable and has a cursor that moves forward only. Thus, you can iterate through it only once and only from the first row to the last row. It is possible to produce ResultSet objects that are scrollable and/or updatable. The following code fragment, in which con is a valid Connection object, illustrates how to make a result set that is scrollable and insensitive to updates by others, and that is updatable. See ResultSet fields for other options.

    
           Statement stmt = con.createStatement(
                                          ResultSet.TYPE_SCROLL_INSENSITIVE,
                                          ResultSet.CONCUR_UPDATABLE);
           ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
           // rs will be scrollable, will not show changes made by others,
           // and will be updatable
    
     
    The ResultSet interface provides getter methods (getBoolean, getLong, and so on) for retrieving column values from the current row. Values can be retrieved using either the index number of the column or the name of the column. In general, using the column index will be more efficient. Columns are numbered from 1. For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once.

    For the getter methods, a JDBC driver attempts to convert the underlying data to the Java type specified in the getter method and returns a suitable Java value. The JDBC specification has a table showing the allowable mappings from SQL types to Java types that can be used by the ResultSet getter methods.

    Column names used as input to getter methods are case insensitive. When a getter method is called with a column name and several columns have the same name, the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query that generated the result set. For columns that are NOT explicitly named in the query, it is best to use column numbers. (JDBC4 clarification:) If column names are used, the programmer should take care to guarantee that they uniquely refer to the intended columns, which can be assured with the SQL AS clause.

    A set of updater methods were added to this interface in the JDBC 2.0 API (Java™ 2 SDK, Standard Edition, version 1.2). The comments regarding parameters to the getter methods also apply to parameters to the updater methods.

    The updater methods may be used in two ways:

    1. to update a column value in the current row. In a scrollable ResultSet object, the cursor can be moved backwards and forwards, to an absolute position, or to a position relative to the current row. The following code fragment updates the NAME column in the fifth row of the ResultSet object rs and then uses the method updateRow to update the data source table from which rs was derived.
      
             rs.absolute(5); // moves the cursor to the fifth row of rs
             rs.updateString("NAME", "AINSWORTH"); // updates the
                // NAME column of row 5 to be AINSWORTH
             rs.updateRow(); // updates the row in the data source
      
       
    2. to insert column values into the insert row. An updatable ResultSet object has a special row associated with it that serves as a staging area for building a row to be inserted. The following code fragment moves the cursor to the insert row, builds a three-column row, and inserts it into rs and into the data source table using the method insertRow.
      
             rs.moveToInsertRow(); // moves cursor to the insert row
             rs.updateString(1, "AINSWORTH"); // updates the
                // first column of the insert row to be AINSWORTH
             rs.updateInt(2,35); // updates the second column to be 35
             rs.updateBoolean(3, true); // updates the third column to true
             rs.insertRow();
             rs.moveToCurrentRow();
      
       

    A ResultSet object is automatically closed when the Statement object that generated it is closed, re-executed, or used to retrieve the next result from a sequence of multiple results.

    The number, types and properties of a ResultSet object's columns are provided by the ResultSetMetaData object returned by the ResultSet.getMetaData method.

    HSQLDB-Specific Information:

    A ResultSet object generated by HSQLDB is by default of ResultSet.TYPE_FORWARD_ONLY (as is standard JDBC behavior) and does not allow the use of absolute and relative positioning methods. If a statement is created with:

     Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
     
    then the ResultSet objects it produces support using all of the absolute and relative positioning methods of JDBC2 to set the position of the current row, for example:
     rs.absolute(5);
     String fifthRowValue = rs.getString(1);
     rs.relative(4);
     String ninthRowValue = rs.getString(1);
     
    Note: An HSQLDB ResultSet object stays open if it is not explicitly closed, even after its connection is closed. This is regardless of the operational mode of the Database from which it came. That is, they persist whether originating from a Server, WebServer or in-process mode Database. A connection opened with the property setting close_result=true closes any remaining open results when the connection is closed.

    From HSQLDB 2.0, there is full support for updatable result sets. Supported methods include all updateXXX methods for the supported types, as well as the insertRow(), updateRow(), deleteRow(), moveToInsertRow() methods.

    The Statement must be created with ResultSet.CONCUR_UPDATABLE instead of CONCUR_READ_ONLY.

    Updatability of a result set follows the SQL standards. Some or all columns of an updatable result set can be updated. The current row in such result sets can be deleted using the deleteRow() method. Some updatable result set can also be inserted into and support moveToInsertRow().

    A result set is updatable if the SELECT statement is updatable. This includes SELECT from TABLE and updatable VIEW objects. An updatable SELECT statement has a single underlying table or view. HSQLDB supports both scrollable and forward-only result sets for updatability.

     -- In the SELECT below, columns A and B are updatable, any row can be
     -- deleted, but it is not insertable-into as column C is not directly from
     -- the table.
     SELECT A, B, A + B AS C FROM T WHERE ...
    
     -- The SELECT below can be insertable-into so long as other columns of the
     -- table that do not appear in the SELECT list have a default value.
     SELECT A, B FROM T WHERE ...
     
    (fredt@users)
    (campbell-burnet@users)

    Since:
    1.9.0
    Author:
    Campbell Burnet (campbell-burnet@users dot sourceforge.net), Fred Toussi (fredt@users dot sourceforge.net)
    See Also:
    JDBCStatement.executeQuery(java.lang.String), JDBCStatement.getResultSet(), ResultSetMetaData
    • Field Summary

      Fields 
      Modifier and Type Field Description
      org.hsqldb.result.Result result
      The underlying result.
      • Fields inherited from interface java.sql.ResultSet

        CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
    • Constructor Summary

      Constructors 
      Constructor Description
      JDBCResultSet​(JDBCConnection conn, org.hsqldb.jdbc.JDBCStatementBase s, org.hsqldb.result.Result r, org.hsqldb.result.ResultMetaData metaData)
      Constructs a new JDBCResultSet object using the specified navigator and org.hsqldb.result.ResultMetaData.
      JDBCResultSet​(JDBCConnection conn, org.hsqldb.result.Result r, org.hsqldb.result.ResultMetaData metaData)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      boolean absolute​(int row)
      Moves the cursor to the given row number in this ResultSet object.
      void afterLast()
      Moves the cursor to the end of this ResultSet object, just after the last row.
      void beforeFirst()
      Moves the cursor to the front of this ResultSet object, just before the first row.
      void cancelRowUpdates()
      Cancels the updates made to the current row in this ResultSet object.
      void clearWarnings()
      Clears all warnings reported on this ResultSet object.
      void close()
      Releases this ResultSet object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.
      void deleteRow()
      Deletes the current row from this ResultSet object and from the underlying database.
      int findColumn​(java.lang.String columnLabel)
      Maps the given ResultSet column label to its ResultSet column index.
      boolean first()
      Moves the cursor to the first row in this ResultSet object.
      java.sql.Array getArray​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.
      java.sql.Array getArray​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.
      java.io.InputStream getAsciiStream​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters.
      java.io.InputStream getAsciiStream​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters.
      java.math.BigDecimal getBigDecimal​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal with full precision.
      java.math.BigDecimal getBigDecimal​(int columnIndex, int scale)
      Deprecated.
      by java.sun.com as of JDK 1.2
      java.math.BigDecimal getBigDecimal​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal with full precision.
      java.math.BigDecimal getBigDecimal​(java.lang.String columnLabel, int scale)
      Deprecated.
      by java.sun.com as of JDK 1.2
      java.io.InputStream getBinaryStream​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted bytes.
      java.io.InputStream getBinaryStream​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted bytes.
      java.sql.Blob getBlob​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.
      java.sql.Blob getBlob​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.
      boolean getBoolean​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.
      boolean getBoolean​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.
      byte getByte​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.
      byte getByte​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.
      byte[] getBytes​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a byte array in the Java programming language.
      byte[] getBytes​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a byte array in the Java programming language.
      java.io.Reader getCharacterStream​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
      java.io.Reader getCharacterStream​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
      java.sql.Clob getClob​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.
      java.sql.Clob getClob​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.
      int getConcurrency()
      Retrieves the concurrency mode of this ResultSet object.
      java.lang.String getCursorName()
      Retrieves the name of the SQL cursor used by this ResultSet object.
      java.sql.Date getDate​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
      java.sql.Date getDate​(int columnIndex, java.util.Calendar cal)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
      java.sql.Date getDate​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
      java.sql.Date getDate​(java.lang.String columnLabel, java.util.Calendar cal)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
      double getDouble​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.
      double getDouble​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.
      int getFetchDirection()
      Retrieves the fetch direction for this ResultSet object.
      int getFetchSize()
      Retrieves the fetch size for this ResultSet object.
      float getFloat​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.
      float getFloat​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.
      int getHoldability()
      Retrieves the holdability of this ResultSet object
      int getInt​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.
      int getInt​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.
      long getLong​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.
      long getLong​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.
      java.sql.ResultSetMetaData getMetaData()
      Retrieves the number, types and properties of this ResultSet object's columns.
      java.io.Reader getNCharacterStream​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
      java.io.Reader getNCharacterStream​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
      java.sql.NClob getNClob​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.
      java.sql.NClob getNClob​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.
      java.lang.String getNString​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
      java.lang.String getNString​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
      java.lang.Object getObject​(int columnIndex)
      <T> T getObject​(int columnIndex, java.lang.Class<T> type)
      Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.
      java.lang.Object getObject​(int columnIndex, java.util.Map map)
      Retrieves the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language.
      java.lang.Object getObject​(java.lang.String columnLabel)
      <T> T getObject​(java.lang.String columnLabel, java.lang.Class<T> type)
      Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.
      java.lang.Object getObject​(java.lang.String columnLabel, java.util.Map map)
      Retrieves the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language.
      java.sql.Ref getRef​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.
      java.sql.Ref getRef​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.
      int getRow()
      Retrieves the current row number.
      java.sql.RowId getRowId​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.
      java.sql.RowId getRowId​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.
      short getShort​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.
      short getShort​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.
      java.sql.SQLXML getSQLXML​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet as a java.sql.SQLXML object in the Java programming language.
      java.sql.SQLXML getSQLXML​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet as a java.sql.SQLXML object in the Java programming language.
      java.sql.Statement getStatement()
      Retrieves the Statement object that produced this ResultSet object.
      java.lang.String getString​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
      java.lang.String getString​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
      java.sql.Time getTime​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
      java.sql.Time getTime​(int columnIndex, java.util.Calendar cal)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
      java.sql.Time getTime​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
      java.sql.Time getTime​(java.lang.String columnLabel, java.util.Calendar cal)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
      java.sql.Timestamp getTimestamp​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
      java.sql.Timestamp getTimestamp​(int columnIndex, java.util.Calendar cal)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
      java.sql.Timestamp getTimestamp​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
      java.sql.Timestamp getTimestamp​(java.lang.String columnLabel, java.util.Calendar cal)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
      int getType()
      Retrieves the type of this ResultSet object.
      java.io.InputStream getUnicodeStream​(int columnIndex)
      Deprecated.
      use getCharacterStream in place of getUnicodeStream
      java.io.InputStream getUnicodeStream​(java.lang.String columnLabel)
      Deprecated.
      use getCharacterStream instead
      java.net.URL getURL​(int columnIndex)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
      java.net.URL getURL​(java.lang.String columnLabel)
      Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
      java.sql.SQLWarning getWarnings()
      Retrieves the first warning reported by calls on this ResultSet object.
      void insertRow()
      Inserts the contents of the insert row into this ResultSet object and into the database.
      boolean isAfterLast()
      Retrieves whether the cursor is after the last row in this ResultSet object.
      boolean isBeforeFirst()
      Retrieves whether the cursor is before the first row in this ResultSet object.
      boolean isClosed()
      Retrieves whether this ResultSet object has been closed.
      boolean isFirst()
      Retrieves whether the cursor is on the first row of this ResultSet object.
      boolean isLast()
      Retrieves whether the cursor is on the last row of this ResultSet object.
      boolean isWrapperFor​(java.lang.Class<?> iface)
      Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.
      boolean last()
      Moves the cursor to the last row in this ResultSet object.
      void moveToCurrentRow()
      Moves the cursor to the remembered cursor position, usually the current row.
      void moveToInsertRow()
      Moves the cursor to the insert row.
      static JDBCResultSet newEmptyResultSet()  
      static JDBCResultSet newJDBCResultSet​(org.hsqldb.result.Result r, org.hsqldb.result.ResultMetaData metaData)
      Factory method returns a new JDBCResultSet object for use with user defined functions that return a ResultSet object.
      boolean next()
      Moves the cursor froward one row from its current position.
      boolean previous()
      Moves the cursor to the previous row in this ResultSet object.
      void refreshRow()
      Refreshes the current row with its most recent value in the database.
      boolean relative​(int rows)
      Moves the cursor a relative number of rows, either positive or negative.
      boolean rowDeleted()
      Retrieves whether a row has been deleted.
      boolean rowInserted()
      Retrieves whether the current row has had an insertion.
      boolean rowUpdated()
      Retrieves whether the current row has been updated.
      void setFetchDirection​(int direction)
      Gives a hint as to the direction in which the rows in this ResultSet object will be processed.
      void setFetchSize​(int rows)
      Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object.
      <T> T unwrap​(java.lang.Class<T> iface)
      Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
      void updateArray​(int columnIndex, java.sql.Array x)
      Updates the designated column with a java.sql.Array value.
      void updateArray​(java.lang.String columnLabel, java.sql.Array x)
      Updates the designated column with a java.sql.Array value.
      void updateAsciiStream​(int columnIndex, java.io.InputStream x)
      Updates the designated column with an ascii stream value.
      void updateAsciiStream​(int columnIndex, java.io.InputStream x, int length)
      (JDBC4 clarification:) Updates the designated column with an ascii stream value, which will have the specified number of bytes.
      void updateAsciiStream​(int columnIndex, java.io.InputStream x, long length)
      Updates the designated column with an ascii stream value, which will have the specified number of bytes.
      void updateAsciiStream​(java.lang.String columnLabel, java.io.InputStream x)
      Updates the designated column with an ascii stream value.
      void updateAsciiStream​(java.lang.String columnLabel, java.io.InputStream x, int length)
      (JDBC4 clarification:) Updates the designated column with an ascii stream value, which will have the specified number of bytes.
      void updateAsciiStream​(java.lang.String columnLabel, java.io.InputStream x, long length)
      Updates the designated column with an ascii stream value, which will have the specified number of bytes.
      void updateBigDecimal​(int columnIndex, java.math.BigDecimal x)
      Updates the designated column with a java.math.BigDecimal value.
      void updateBigDecimal​(java.lang.String columnLabel, java.math.BigDecimal x)
      Updates the designated column with a java.sql.BigDecimal value.
      void updateBinaryStream​(int columnIndex, java.io.InputStream x)
      Updates the designated column with a binary stream value.
      void updateBinaryStream​(int columnIndex, java.io.InputStream x, int length)
      (JDBC4 clarification:) Updates the designated column with a binary stream value, which will have the specified number of bytes.
      void updateBinaryStream​(int columnIndex, java.io.InputStream x, long length)
      Updates the designated column with a binary stream value, which will have the specified number of bytes.
      void updateBinaryStream​(java.lang.String columnLabel, java.io.InputStream x)
      Updates the designated column with a binary stream value.
      void updateBinaryStream​(java.lang.String columnLabel, java.io.InputStream x, int length)
      (JDBC4 clarification:) Updates the designated column with a binary stream value, which will have the specified number of bytes.
      void updateBinaryStream​(java.lang.String columnLabel, java.io.InputStream x, long length)
      Updates the designated column with a binary stream value, which will have the specified number of bytes.
      void updateBlob​(int columnIndex, java.io.InputStream inputStream)
      Updates the designated column using the given input stream.
      void updateBlob​(int columnIndex, java.io.InputStream inputStream, long length)
      Updates the designated column using the given input stream, which will have the specified number of bytes.
      void updateBlob​(int columnIndex, java.sql.Blob x)
      Updates the designated column with a java.sql.Blob value.
      void updateBlob​(java.lang.String columnLabel, java.io.InputStream inputStream)
      Updates the designated column using the given input stream.
      void updateBlob​(java.lang.String columnLabel, java.io.InputStream inputStream, long length)
      Updates the designated column using the given input stream, which will have the specified number of bytes.
      void updateBlob​(java.lang.String columnLabel, java.sql.Blob x)
      Updates the designated column with a java.sql.Blob value.
      void updateBoolean​(int columnIndex, boolean x)
      Updates the designated column with a boolean value.
      void updateBoolean​(java.lang.String columnLabel, boolean x)
      Updates the designated column with a boolean value.
      void updateByte​(int columnIndex, byte x)
      Updates the designated column with a byte value.
      void updateByte​(java.lang.String columnLabel, byte x)
      Updates the designated column with a byte value.
      void updateBytes​(int columnIndex, byte[] x)
      Updates the designated column with a byte array value.
      void updateBytes​(java.lang.String columnLabel, byte[] x)
      Updates the designated column with a byte array value.
      void updateCharacterStream​(int columnIndex, java.io.Reader x)
      Updates the designated column with a character stream value.
      void updateCharacterStream​(int columnIndex, java.io.Reader x, int length)
      (JDBC4 clarification:) Updates the designated column with a character stream value, which will have the specified number of (CHECKME: characters?) bytes.
      void updateCharacterStream​(int columnIndex, java.io.Reader x, long length)
      Updates the designated column with a character stream value, which will have the specified number of bytes.
      void updateCharacterStream​(java.lang.String columnLabel, java.io.Reader reader)
      Updates the designated column with a character stream value.
      void updateCharacterStream​(java.lang.String columnLabel, java.io.Reader reader, int length)
      (JDBC4 clarification) Updates the designated column with a character stream value, which will have the specified number of (CHECKME: characters?) bytes.
      void updateCharacterStream​(java.lang.String columnLabel, java.io.Reader reader, long length)
      Updates the designated column with a character stream value, which will have the specified number of bytes.
      void updateClob​(int columnIndex, java.io.Reader reader)
      Updates the designated column using the given Reader object.
      void updateClob​(int columnIndex, java.io.Reader reader, long length)
      Updates the designated column using the given Reader object, which is the given number of characters long.
      void updateClob​(int columnIndex, java.sql.Clob x)
      Updates the designated column with a java.sql.Clob value.
      void updateClob​(java.lang.String columnLabel, java.io.Reader reader)
      Updates the designated column using the given Reader object.
      void updateClob​(java.lang.String columnLabel, java.io.Reader reader, long length)
      Updates the designated column using the given Reader object, which is the given number of characters long.
      void updateClob​(java.lang.String columnLabel, java.sql.Clob x)
      Updates the designated column with a java.sql.Clob value.
      void updateDate​(int columnIndex, java.sql.Date x)
      Updates the designated column with a java.sql.Date value.
      void updateDate​(java.lang.String columnLabel, java.sql.Date x)
      Updates the designated column with a java.sql.Date value.
      void updateDouble​(int columnIndex, double x)
      Updates the designated column with a double value.
      void updateDouble​(java.lang.String columnLabel, double x)
      Updates the designated column with a double value.
      void updateFloat​(int columnIndex, float x)
      Updates the designated column with a float value.
      void updateFloat​(java.lang.String columnLabel, float x)
      Updates the designated column with a float value.
      void updateInt​(int columnIndex, int x)
      Updates the designated column with an int value.
      void updateInt​(java.lang.String columnLabel, int x)
      Updates the designated column with an int value.
      void updateLong​(int columnIndex, long x)
      Updates the designated column with a long value.
      void updateLong​(java.lang.String columnLabel, long x)
      Updates the designated column with a long value.
      void updateNCharacterStream​(int columnIndex, java.io.Reader reader)
      Updates the designated column with a character stream value.
      void updateNCharacterStream​(int columnIndex, java.io.Reader x, long length)
      Updates the designated column with a character stream value, which will have the specified number of bytes.
      void updateNCharacterStream​(java.lang.String columnLabel, java.io.Reader reader)
      Updates the designated column with a character stream value.
      void updateNCharacterStream​(java.lang.String columnLabel, java.io.Reader reader, long length)
      Updates the designated column with a character stream value, which will have the specified number of bytes.
      void updateNClob​(int columnIndex, java.io.Reader reader)
      Updates the designated column using the given Reader The data will be read from the stream as needed until end-of-stream is reached.
      void updateNClob​(int columnIndex, java.io.Reader reader, long length)
      Updates the designated column using the given Reader object, which is the given number of characters long.
      void updateNClob​(int columnIndex, java.sql.NClob nClob)
      Updates the designated column with a java.sql.NClob value.
      void updateNClob​(java.lang.String columnLabel, java.io.Reader reader)
      Updates the designated column using the given Reader object.
      void updateNClob​(java.lang.String columnLabel, java.io.Reader reader, long length)
      Updates the designated column using the given Reader object, which is the given number of characters long.
      void updateNClob​(java.lang.String columnLabel, java.sql.NClob nClob)
      Updates the designated column with a java.sql.NClob value.
      void updateNString​(int columnIndex, java.lang.String nString)
      Updates the designated column with a String value.
      void updateNString​(java.lang.String columnLabel, java.lang.String nString)
      Updates the designated column with a String value.
      void updateNull​(int columnIndex)
      (JDBC4 clarification:) Updates the designated column with a null value.
      void updateNull​(java.lang.String columnLabel)
      Updates the designated column with a null value.
      void updateObject​(int columnIndex, java.lang.Object x)
      Updates the designated column with an Object value.
      void updateObject​(int columnIndex, java.lang.Object x, int scaleOrLength)
      Updates the designated column with an Object value.
      void updateObject​(int columnIndex, java.lang.Object x, java.sql.SQLType targetSqlType)
      Updates the designated column with an Object value.
      void updateObject​(int columnIndex, java.lang.Object x, java.sql.SQLType targetSqlType, int scaleOrLength)
      Updates the designated column with an Object value.
      void updateObject​(java.lang.String columnLabel, java.lang.Object x)
      Updates the designated column with an Object value.
      void updateObject​(java.lang.String columnLabel, java.lang.Object x, int scaleOrLength)
      Updates the designated column with an Object value.
      void updateObject​(java.lang.String columnLabel, java.lang.Object x, java.sql.SQLType targetSqlType)
      Updates the designated column with an Object value.
      void updateObject​(java.lang.String columnLabel, java.lang.Object x, java.sql.SQLType targetSqlType, int scaleOrLength)
      Updates the designated column with an Object value.
      void updateRef​(int columnIndex, java.sql.Ref x)
      Updates the designated column with a java.sql.Ref value.
      void updateRef​(java.lang.String columnLabel, java.sql.Ref x)
      Updates the designated column with a java.sql.Ref value.
      void updateRow()
      Updates the underlying database with the new contents of the current row of this ResultSet object.
      void updateRowId​(int columnIndex, java.sql.RowId x)
      Updates the designated column with a RowId value.
      void updateRowId​(java.lang.String columnLabel, java.sql.RowId x)
      Updates the designated column with a RowId value.
      void updateShort​(int columnIndex, short x)
      Updates the designated column with a short value.
      void updateShort​(java.lang.String columnLabel, short x)
      Updates the designated column with a short value.
      void updateSQLXML​(int columnIndex, java.sql.SQLXML xmlObject)
      Updates the designated column with a java.sql.SQLXML value.
      void updateSQLXML​(java.lang.String columnLabel, java.sql.SQLXML xmlObject)
      Updates the designated column with a java.sql.SQLXML value.
      void updateString​(int columnIndex, java.lang.String x)
      Updates the designated column with a String value.
      void updateString​(java.lang.String columnLabel, java.lang.String x)
      Updates the designated column with a String value.
      void updateTime​(int columnIndex, java.sql.Time x)
      Updates the designated column with a java.sql.Time value.
      void updateTime​(java.lang.String columnLabel, java.sql.Time x)
      Updates the designated column with a java.sql.Time value.
      void updateTimestamp​(int columnIndex, java.sql.Timestamp x)
      Updates the designated column with a java.sql.Timestamp value.
      void updateTimestamp​(java.lang.String columnLabel, java.sql.Timestamp x)
      Updates the designated column with a java.sql.Timestamp value.
      boolean wasNull()
      Reports whether the last column read had a value of SQL NULL.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • result

        public org.hsqldb.result.Result result
        The underlying result.
    • Constructor Detail

      • JDBCResultSet

        public JDBCResultSet​(JDBCConnection conn,
                             org.hsqldb.jdbc.JDBCStatementBase s,
                             org.hsqldb.result.Result r,
                             org.hsqldb.result.ResultMetaData metaData)
        Constructs a new JDBCResultSet object using the specified navigator and org.hsqldb.result.ResultMetaData.

        Parameters:
        conn - JDBCConnection
        s - the statement
        r - the internal result form that the new JDBCResultSet represents
        metaData - the connection properties
      • JDBCResultSet

        public JDBCResultSet​(JDBCConnection conn,
                             org.hsqldb.result.Result r,
                             org.hsqldb.result.ResultMetaData metaData)
    • Method Detail

      • next

        public boolean next()
                     throws java.sql.SQLException
        Moves the cursor froward one row from its current position. A ResultSet cursor is initially positioned before the first row; the first call to the method next makes the first row the current row; the second call makes the second row the current row, and so on.

        (JDBC4 clarification:) When a call to the next method returns false, the cursor is positioned after the last row. Any invocation of a ResultSet method which requires a current row will result in a SQLException being thrown. If the result set type is TYPE_FORWARD_ONLY, it is vendor specified whether their JDBC driver implementation will return false or throw an SQLException on a subsequent call to next.

        If an input stream is open for the current row, a call to the method next will implicitly close it. A ResultSet object's warning chain is cleared when a new row is read.

        Specified by:
        next in interface java.sql.ResultSet
        Returns:
        true if the new current row is valid; false if there are no more rows
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • close

        public void close()
                   throws java.sql.SQLException
        Releases this ResultSet object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.

        (JDBC4 clarification:) The closing of a ResultSet object does not close the Blob, Clob or NClob objects created by the ResultSet. Blob, Clob or NClob objects remain valid for at least the duration of the transaction in which they are created, unless their free method is invoked.

        (JDBC4 clarification:) When a ResultSet is closed, any ResultSetMetaData instances that were created by calling the getMetaData method remain accessible.

        Note: A ResultSet object is automatically closed by the Statement object that generated it when that Statement object is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results. (JDBC4 deleted:) [A ResultSet object is also automatically closed when it is garbage collected.]

        Calling the method close on a ResultSet object that is already closed is a no-op.

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs
      • wasNull

        public boolean wasNull()
                        throws java.sql.SQLException
        Reports whether the last column read had a value of SQL NULL. Note that you must first call one of the getter methods on a column to try to read its value and then call the method wasNull to see if the value read was SQL NULL.
        Specified by:
        wasNull in interface java.sql.ResultSet
        Returns:
        true if the last column value read was SQL NULL and false otherwise
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getString

        public java.lang.String getString​(int columnIndex)
                                   throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
        Specified by:
        getString in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getBoolean

        public boolean getBoolean​(int columnIndex)
                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.

        (JDBC4 clarification:)

        If the designated column has a datatype of CHAR or VARCHAR and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 0, a value of false is returned. If the designated column has a datatype of CHAR or VARCHAR and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 1, a value of true is returned.

        Specified by:
        getBoolean in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is false
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getByte

        public byte getByte​(int columnIndex)
                     throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getByte() or getShort() is used to retrieve a value of type INTEGER or BIGINT and the value is beyond the range covered by the return type.

        Specified by:
        getByte in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getShort

        public short getShort​(int columnIndex)
                       throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getByte() or getShort() is used to retrieve a value of type INTEGER or BIGINT and the value is beyond the range covered by the return type.

        Specified by:
        getShort in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getInt

        public int getInt​(int columnIndex)
                   throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getInt() or getLong() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.

        Specified by:
        getInt in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getLong

        public long getLong​(int columnIndex)
                     throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getInt() or getLong() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.

        Specified by:
        getLong in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getFloat

        public float getFloat​(int columnIndex)
                       throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getFloat() or getDouble() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.

        Specified by:
        getFloat in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getDouble

        public double getDouble​(int columnIndex)
                         throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getFloat() or getDouble() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.

        Specified by:
        getDouble in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getBigDecimal

        @Deprecated
        public java.math.BigDecimal getBigDecimal​(int columnIndex,
                                                  int scale)
                                           throws java.sql.SQLException
        Deprecated.
        by java.sun.com as of JDK 1.2
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.BigDecimal in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the result and sets the scale with BigDecimal.ROUND_HALF_DOWN.

        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        scale - the number of digits to the right of the decimal point
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      • getBytes

        public byte[] getBytes​(int columnIndex)
                        throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a byte array in the Java programming language. The bytes represent the raw values returned by the driver.

        HSQLDB-Specific Information:

        HSQLDB returns correct values for columns of binary types BINARY, BIT, BLOB

        Specified by:
        getBytes in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getDate

        public java.sql.Date getDate​(int columnIndex)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getTime

        public java.sql.Time getTime​(int columnIndex)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getTimestamp

        public java.sql.Timestamp getTimestamp​(int columnIndex)
                                        throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getAsciiStream

        public java.io.InputStream getAsciiStream​(int columnIndex)
                                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return 0 when the method InputStream.available is called whether there is data available or not.

        HSQLDB-Specific Information:

        The limitation noted above does not apply to HSQLDB.

        When the column is of type CHAR and its variations, it requires no conversion since it is represented internally already as a Java String object. When the column is not of type CHAR and its variations, the returned stream is based on a conversion to the Java String representation of the value. In either case, the obtained stream is always equivalent to a stream of the low order bytes from the value's String representation.

        HSQLDB SQL CHAR and its variations are all Unicode strings internally, so the recommended alternatives to this method are getString, getUnicodeStream (deprecated) and new to 1.7.0: getCharacterStream (now preferred over the deprecated getUnicodeStream alternative).

        Specified by:
        getAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Java input stream that delivers the database column value as a stream of one-byte ASCII characters; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getUnicodeStream

        @Deprecated
        public java.io.InputStream getUnicodeStream​(int columnIndex)
                                             throws java.sql.SQLException
        Deprecated.
        use getCharacterStream in place of getUnicodeStream
        Retrieves the value of the designated column in the current row of this ResultSet object as a stream of two-byte Unicode characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHARvalues. The JDBC driver will do any necessary conversion from the database format into Unicode.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return 0 when the method InputStream.available is called, whether there is data available or not.

        HSQLDB-Specific Information:

        The limitation noted above does not apply to HSQLDB.

        When the column is of type CHAR and its variations, it requires no conversion since it is represented internally already as Java Strings. When the column is not of type CHAR and its variations, the returned stream is based on a conversion to the Java String representation of the value. In either case, the obtained stream is always equivalent to a stream of bytes from the value's String representation, with high-byte first.

        Specified by:
        getUnicodeStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Java input stream that delivers the database column value as a stream of two-byte Unicode characters; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      • getBinaryStream

        public java.io.InputStream getBinaryStream​(int columnIndex)
                                            throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return 0 when the method InputStream.available is called whether there is data available or not.

        Specified by:
        getBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getString

        public java.lang.String getString​(java.lang.String columnLabel)
                                   throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
        Specified by:
        getString in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getBoolean

        public boolean getBoolean​(java.lang.String columnLabel)
                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.

        (JDBC4 clarification:) If the designated column has a datatype of CHAR or VARCHAR and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 0, a value of false is returned. If the designated column has a datatype of CHAR or VARCHAR and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 1, a value of true is returned.

        Specified by:
        getBoolean in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is false
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getByte

        public byte getByte​(java.lang.String columnLabel)
                     throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.
        Specified by:
        getByte in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getShort

        public short getShort​(java.lang.String columnLabel)
                       throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.
        Specified by:
        getShort in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getInt

        public int getInt​(java.lang.String columnLabel)
                   throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.
        Specified by:
        getInt in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getLong

        public long getLong​(java.lang.String columnLabel)
                     throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.
        Specified by:
        getLong in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getFloat

        public float getFloat​(java.lang.String columnLabel)
                       throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.
        Specified by:
        getFloat in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getDouble

        public double getDouble​(java.lang.String columnLabel)
                         throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.
        Specified by:
        getDouble in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is 0
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getBigDecimal

        @Deprecated
        public java.math.BigDecimal getBigDecimal​(java.lang.String columnLabel,
                                                  int scale)
                                           throws java.sql.SQLException
        Deprecated.
        by java.sun.com as of JDK 1.2
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB converts the result and sets the scale with BigDecimal.ROUND_HALF_DOWN.

        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        scale - the number of digits to the right of the decimal point
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      • getBytes

        public byte[] getBytes​(java.lang.String columnLabel)
                        throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a byte array in the Java programming language. The bytes represent the raw values returned by the driver.
        Specified by:
        getBytes in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getDate

        public java.sql.Date getDate​(java.lang.String columnLabel)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getTime

        public java.sql.Time getTime​(java.lang.String columnLabel)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getTimestamp

        public java.sql.Timestamp getTimestamp​(java.lang.String columnLabel)
                                        throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getAsciiStream

        public java.io.InputStream getAsciiStream​(java.lang.String columnLabel)
                                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

        Specified by:
        getAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL NULL, the value returned is null.
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        See Also:
        getAsciiStream(int)
      • getUnicodeStream

        @Deprecated
        public java.io.InputStream getUnicodeStream​(java.lang.String columnLabel)
                                             throws java.sql.SQLException
        Deprecated.
        use getCharacterStream instead
        Retrieves the value of the designated column in the current row of this ResultSet object as a stream of two-byte Unicode characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC technology-enabled driver will do any necessary conversion from the database format into Unicode.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return 0 when the method InputStream.available is called, whether there is data available or not.

        Specified by:
        getUnicodeStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL NULL, the value returned is null.
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        See Also:
        getUnicodeStream(int)
      • getBinaryStream

        public java.io.InputStream getBinaryStream​(java.lang.String columnLabel)
                                            throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values.

        Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

        Specified by:
        getBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL NULL, the result is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getWarnings

        public java.sql.SQLWarning getWarnings()
                                        throws java.sql.SQLException
        Retrieves the first warning reported by calls on this ResultSet object. Subsequent warnings on this ResultSet object will be chained to the SQLWarning object that this method returns.

        The warning chain is automatically cleared each time a new row is read. This method may not be called on a ResultSet object that has been closed; doing so will cause an SQLException to be thrown.

        Note: This warning chain only covers warnings caused by ResultSet methods. Any warning caused by Statement methods (such as reading OUT parameters) will be chained on the Statement object.

        HSQLDB-Specific Information:

        HSQLDB does not produce SQLWarning objects on any ResultSet object warning chain; this method always returns null.

        Specified by:
        getWarnings in interface java.sql.ResultSet
        Returns:
        the first SQLWarning object reported or null if there are none
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • clearWarnings

        public void clearWarnings()
                           throws java.sql.SQLException
        Clears all warnings reported on this ResultSet object. After this method is called, the method getWarnings returns null until a new warning is reported for this ResultSet object.

        HSQLDB-Specific Information:

        HSQLDB does not produce SQLWarning objects on any ResultSet object warning chain; calls to this method are ignored.

        Specified by:
        clearWarnings in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getCursorName

        public java.lang.String getCursorName()
                                       throws java.sql.SQLException
        Retrieves the name of the SQL cursor used by this ResultSet object.

        In SQL, a result table is retrieved through a cursor that is named. The current row of a result set can be updated or deleted using a positioned update/delete statement that references the cursor name. To ensure that the cursor has the proper isolation level to support update, the cursor's SELECT statement should be of the form SELECT FOR UPDATE. If FOR UPDATE is omitted, the positioned updates may fail.

        The JDBC API supports this SQL feature by providing the name of the SQL cursor used by a ResultSet object. The current row of a ResultSet object is also the current row of this SQL cursor.

        HSQLDB-Specific Information:

        HSQLDB supports this feature when the cursor has a name.

        Specified by:
        getCursorName in interface java.sql.ResultSet
        Returns:
        the SQL name for this ResultSet object's cursor
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      • getMetaData

        public java.sql.ResultSetMetaData getMetaData()
                                               throws java.sql.SQLException
        Retrieves the number, types and properties of this ResultSet object's columns.

        HSQLDB-Specific Information:

        Example:

        The following code fragment creates a ResultSet object rs, creates a ResultSetMetaData object rsmd, and uses rsmd to find out how many columns rs has and whether the first column in rs can be used in a WHERE clause.

         ResultSet rs   = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
         ResultSetMetaData rsmd = rs.getMetaData();
        int numberOfColumns = rsmd.getColumnCount();
        boolean b = rsmd.isSearchable(1);

        Changes:

        With version 2.0, the engine's SQL implementation has been completely rewritten. Changes to this class and the implementation of ResultSetMetaData reflect the engine's new capabilities and provide more accurate information.

        changes to consider:

        1. isAutoIncrement(int) always returned false
        2. isNullable(int) returns the nullability of a real table or view column in the ResultSet and returns columnNoNulls for non-base-column ResultSet columns (columns of the ResultSet that are based on expressions or aggregates).
        3. getColumnDisplaySize(int) returns correct results even for expression columns.
        4. getPrecision(int) returns the correct precision even for expression columns.
        5. getScale(int) returns the correct precision even for expression columns.
        6. getCatalogName(int) returns the catalog name of the database.

        Specified by:
        getMetaData in interface java.sql.ResultSet
        Returns:
        the description of this ResultSet object's columns
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        See Also:
        JDBCResultSetMetaData
      • getObject

        public java.lang.Object getObject​(int columnIndex)
                                   throws java.sql.SQLException

        Gets the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language.

        This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL NULL, the driver returns a Java null.

        This method may also be used to read database-specific abstract data types. In the JDBC 2.0 API, the behavior of method getObject is extended to materialize data of SQL user-defined types.

        If Connection.getTypeMap does not throw a SQLFeatureNotSupportedException, then when a column contains a structured or distinct value, the behavior of this method is as if it were a call to: getObject(columnIndex, this.getStatement().getConnection().getTypeMap()). If Connection.getTypeMap does throw a SQLFeatureNotSupportedException, then structured values are not supported, and distinct values are mapped to the default Java class as determined by the underlying SQL type of the DISTINCT type.

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a java.lang.Object holding the column value
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • getObject

        public java.lang.Object getObject​(java.lang.String columnLabel)
                                   throws java.sql.SQLException

        Gets the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language.

        This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL NULL, the driver returns a Java null.

        This method may also be used to read database-specific abstract data types.

        In the JDBC 2.0 API, the behavior of the method getObject is extended to materialize data of SQL user-defined types. When a column contains a structured or distinct value, the behavior of this method is as if it were a call to: getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a java.lang.Object holding the column value
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
      • findColumn

        public int findColumn​(java.lang.String columnLabel)
                       throws java.sql.SQLException
        Maps the given ResultSet column label to its ResultSet column index.

        HSQLDB-Specific Information:

        Starting with 1.9.x, HSQLDB does an exhaustive search, backed by a cache lookup (to improve performance for subsequent invocations with a given input).

        Upon careful investigation of the JDBC specification and the behaviour of existing JDBC drivers, there is actually nothing preventing the findColumn method from doing an exhaustive search, as long as it conforms to the following rules (which describe the new implementation):

        1. the entire search is case insensitive
        2. each search iteration occurs from leftmost to rightmost column, returning the first match encountered
        3. the first pass matches only bare column labels
        4. the second pass matches only simple column names
        5. further passes conform to the identifier qualification and identifier quoting rules of the engine
        In this implementation, the SQL tokenizer is not employed, both because it does not yet correctly handle greater than two part qualification and also because is is not immediately considered important to do a truly exhaustive search, handling the full range of possibly mixed quoted and unquoted identifier components.

        Instead:

        • a third pass matches simple table-dot-column qualified names
        • a fourth pass matches simple schema-dot-table-dot-column qualified column names
        Specified by:
        findColumn in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column index of the given column name
        Throws:
        java.sql.SQLException - if the ResultSet object does not contain a column labeled columnLabel, a database access error occurs or this method is called on a closed result set
      • getCharacterStream

        public java.io.Reader getCharacterStream​(int columnIndex)
                                          throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        getCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language.
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getCharacterStream

        public java.io.Reader getCharacterStream​(java.lang.String columnLabel)
                                          throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        getCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getBigDecimal

        public java.math.BigDecimal getBigDecimal​(int columnIndex)
                                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal with full precision.
        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value (full precision); if the value is SQL NULL, the value returned is null in the Java programming language.
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getBigDecimal

        public java.math.BigDecimal getBigDecimal​(java.lang.String columnLabel)
                                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal with full precision.
        Specified by:
        getBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value (full precision); if the value is SQL NULL, the value returned is null in the Java programming language.
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • isBeforeFirst

        public boolean isBeforeFirst()
                              throws java.sql.SQLException
        Retrieves whether the cursor is before the first row in this ResultSet object.

        (JDBC4 Clarification:)

        Note:Support for the isBeforeFirst method is optional for ResultSets with a result set type of TYPE_FORWARD_ONLY

        Specified by:
        isBeforeFirst in interface java.sql.ResultSet
        Returns:
        true if the cursor is before the first row; false if the cursor is at any other position or the result set contains no rows
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • isAfterLast

        public boolean isAfterLast()
                            throws java.sql.SQLException
        Retrieves whether the cursor is after the last row in this ResultSet object.

        (JDBC4 Clarification:)

        Note:Support for the isAfterLast method is optional for ResultSets with a result set type of TYPE_FORWARD_ONLY

        Specified by:
        isAfterLast in interface java.sql.ResultSet
        Returns:
        true if the cursor is after the last row; false if the cursor is at any other position or the result set contains no rows
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • isFirst

        public boolean isFirst()
                        throws java.sql.SQLException
        Retrieves whether the cursor is on the first row of this ResultSet object.

        (JDBC4 Clarification:)

        Note:Support for the isFirst method is optional for ResultSets with a result set type of TYPE_FORWARD_ONLY

        Specified by:
        isFirst in interface java.sql.ResultSet
        Returns:
        true if the cursor is on the first row; false otherwise
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • isLast

        public boolean isLast()
                       throws java.sql.SQLException
        Retrieves whether the cursor is on the last row of this ResultSet object. Note: Calling the method isLast may be expensive because the JDBC driver might need to fetch ahead one row in order to determine whether the current row is the last row in the result set.

        (JDBC4 Clarification:)

        Note: Support for the isLast method is optional for ResultSets with a result set type of TYPE_FORWARD_ONLY

        Specified by:
        isLast in interface java.sql.ResultSet
        Returns:
        true if the cursor is on the last row; false otherwise
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • beforeFirst

        public void beforeFirst()
                         throws java.sql.SQLException
        Moves the cursor to the front of this ResultSet object, just before the first row. This method has no effect if the result set contains no rows.
        Specified by:
        beforeFirst in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • afterLast

        public void afterLast()
                       throws java.sql.SQLException
        Moves the cursor to the end of this ResultSet object, just after the last row. This method has no effect if the result set contains no rows.
        Specified by:
        afterLast in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • first

        public boolean first()
                      throws java.sql.SQLException
        Moves the cursor to the first row in this ResultSet object.
        Specified by:
        first in interface java.sql.ResultSet
        Returns:
        true if the cursor is on a valid row; false if there are no rows in the result set
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • last

        public boolean last()
                     throws java.sql.SQLException
        Moves the cursor to the last row in this ResultSet object.
        Specified by:
        last in interface java.sql.ResultSet
        Returns:
        true if the cursor is on a valid row; false if there are no rows in the result set
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getRow

        public int getRow()
                   throws java.sql.SQLException
        Retrieves the current row number. The first row is number 1, the second number 2, and so on.

        (JDBC4 Clarification:)

        Note:Support for the getRow method is optional for ResultSets with a result set type of TYPE_FORWARD_ONLY

        Specified by:
        getRow in interface java.sql.ResultSet
        Returns:
        the current row number; 0 if there is no current row
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • absolute

        public boolean absolute​(int row)
                         throws java.sql.SQLException
        Moves the cursor to the given row number in this ResultSet object.

        If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.

        If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. For example, calling the method absolute(-1) positions the cursor on the last row; calling the method absolute(-2) moves the cursor to the next-to-last row, and so on.

        An attempt to position the cursor beyond the first/last row in the result set leaves the cursor before the first row or after the last row.

        Note: Calling absolute(1) is the same as calling first(). Calling absolute(-1) is the same as calling last().

        Specified by:
        absolute in interface java.sql.ResultSet
        Parameters:
        row - the number of the row to which the cursor should move. A positive number indicates the row number counting from the beginning of the result set; a negative number indicates the row number counting from the end of the result set
        Returns:
        true if the cursor is moved to a position in this ResultSet object; false if the cursor is before the first row or after the last row
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • relative

        public boolean relative​(int rows)
                         throws java.sql.SQLException
        Moves the cursor a relative number of rows, either positive or negative. Attempting to move beyond the first/last row in the result set positions the cursor before/after the first/last row. Calling relative(0) is valid, but does not change the cursor position.

        Note: Calling the method relative(1) is identical to calling the method next() and calling the method relative(-1) is identical to calling the method previous().

        Specified by:
        relative in interface java.sql.ResultSet
        Parameters:
        rows - an int specifying the number of rows to move from the current row; a positive number moves the cursor forward; a negative number moves the cursor backward
        Returns:
        true if the cursor is on a row; false otherwise
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set, there is no current row, or the result set type is TYPE_FORWARD_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • previous

        public boolean previous()
                         throws java.sql.SQLException
        Moves the cursor to the previous row in this ResultSet object.

        (JDBC4 clarification:) When a call to the previous method returns false, the cursor is positioned before the first row. Any invocation of a ResultSet method which requires a current row will result in a SQLException being thrown.

        (JDBC4 clarification:) If an input stream is open for the current row, a call to the method previous will implicitly close it. A ResultSet object's warning change is cleared when a new row is read.

        Specified by:
        previous in interface java.sql.ResultSet
        Returns:
        (JDBC4 clarification:) true if the cursor is now positioned on a valid row; false if the cursor is positioned before the first row
        Throws:
        java.sql.SQLException - if a database access error occurs; this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • setFetchDirection

        public void setFetchDirection​(int direction)
                               throws java.sql.SQLException
        Gives a hint as to the direction in which the rows in this ResultSet object will be processed. The initial value is determined by the Statement object that produced this ResultSet object. The fetch direction may be changed at any time.

        HSQLDB-Specific Information:

        HSQLDB does not need this hint. However, as mandated by the JDBC standard, an SQLException is thrown if the result set type is TYPE_FORWARD_ONLY and a fetch direction other than FETCH_FORWARD is requested.

        Specified by:
        setFetchDirection in interface java.sql.ResultSet
        Parameters:
        direction - an int specifying the suggested fetch direction; one of ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWN
        Throws:
        java.sql.SQLException - if a database access error occurs; this method is called on a closed result set or the result set type is TYPE_FORWARD_ONLY and the fetch direction is not FETCH_FORWARD
        Since:
        JDK 1.2
        See Also:
        JDBCStatement.setFetchDirection(int), getFetchDirection()
      • getFetchDirection

        public int getFetchDirection()
                              throws java.sql.SQLException
        Retrieves the fetch direction for this ResultSet object.

        HSQLDB-Specific Information:

        HSQLDB does not depend on fetch direction and always returns FETCH_FORWARD, but the value has no real meaning.

        Specified by:
        getFetchDirection in interface java.sql.ResultSet
        Returns:
        the current fetch direction for this ResultSet object
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
        See Also:
        setFetchDirection(int)
      • setFetchSize

        public void setFetchSize​(int rows)
                          throws java.sql.SQLException
        Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. The default value is set by the Statement object that created the result set. The fetch size may be changed at any time.

        HSQLDB-Specific Information:

        HSQLDB may not build and return a result set as a whole. Therefore the supplied, non-zero, fetch size value is used for some ResultSet objects.

        Specified by:
        setFetchSize in interface java.sql.ResultSet
        Parameters:
        rows - the number of rows to fetch
        Throws:
        java.sql.SQLException - if a database access error occurs; this method (JDBC4 Clarification:) is called on a closed result set or the (JDBC4 clarification:) condition rows >= 0 is not satisfied
        Since:
        JDK 1.2
        See Also:
        getFetchSize(), JDBCStatement.setFetchSize(int), JDBCStatement.getFetchSize()
      • getFetchSize

        public int getFetchSize()
                         throws java.sql.SQLException
        Retrieves the fetch size for this ResultSet object.

        HSQLDB-Specific Information:

        HSQLDB may not build and return a result set as a whole. The actual fetch size for this result set is returned.

        Specified by:
        getFetchSize in interface java.sql.ResultSet
        Returns:
        the current fetch size for this ResultSet object
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
        See Also:
        setFetchSize(int), JDBCStatement.getFetchSize(), JDBCStatement.setFetchSize(int)
      • getType

        public int getType()
                    throws java.sql.SQLException
        Retrieves the type of this ResultSet object. The type is determined by the Statement object that created the result set.

        HSQLDB-Specific Information:

        HSQLDB accurately reports the actual runtime scrollability of this result set instance.

        Specified by:
        getType in interface java.sql.ResultSet
        Returns:
        ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getConcurrency

        public int getConcurrency()
                           throws java.sql.SQLException
        Retrieves the concurrency mode of this ResultSet object. The concurrency used is determined by the Statement object that created the result set.

        HSQLDB-Specific Information:

        HSQLDB supports updatable result sets and accurately reports the actual runtime concurrency of this result set instance.

        Specified by:
        getConcurrency in interface java.sql.ResultSet
        Returns:
        the concurrency type, either ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • rowUpdated

        public boolean rowUpdated()
                           throws java.sql.SQLException
        Retrieves whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.

        HSQLDB-Specific Information:

        HSQLDB supports updatable result sets and accurately reports the actual value.

        Specified by:
        rowUpdated in interface java.sql.ResultSet
        Returns:
        true if the current row is detected to have been visibly updated by the owner or another; false otherwise
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
        See Also:
        JDBCDatabaseMetaData.updatesAreDetected(int)
      • rowInserted

        public boolean rowInserted()
                            throws java.sql.SQLException
        Retrieves whether the current row has had an insertion. The value returned depends on whether or not this ResultSet object can detect visible inserts.

        HSQLDB-Specific Information:

        HSQLDB supports updatable result sets and accurately reports the actual value.

        Specified by:
        rowInserted in interface java.sql.ResultSet
        Returns:
        true if the current row is detected to have been inserted; false otherwise
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
        See Also:
        JDBCDatabaseMetaData.insertsAreDetected(int)
      • rowDeleted

        public boolean rowDeleted()
                           throws java.sql.SQLException
        Retrieves whether a row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not this ResultSet object can detect deletions.

        (JDBC4 Clarification:)

        Note: Support for the rowDeleted method is optional with a result set concurrency of CONCUR_READ_ONLY

        HSQLDB-Specific Information:

        HSQLDB supports updatable result sets and accurately reports the actual value.

        Specified by:
        rowDeleted in interface java.sql.ResultSet
        Returns:
        true if the current row is detected to have been deleted by the owner or another; false otherwise
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
        See Also:
        JDBCDatabaseMetaData.deletesAreDetected(int)
      • updateNull

        public void updateNull​(int columnIndex)
                        throws java.sql.SQLException
        (JDBC4 clarification:) Updates the designated column with a null value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateNull in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBoolean

        public void updateBoolean​(int columnIndex,
                                  boolean x)
                           throws java.sql.SQLException
        Updates the designated column with a boolean value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBoolean in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateByte

        public void updateByte​(int columnIndex,
                               byte x)
                        throws java.sql.SQLException
        Updates the designated column with a byte value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateByte in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateShort

        public void updateShort​(int columnIndex,
                                short x)
                         throws java.sql.SQLException
        Updates the designated column with a short value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateShort in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateInt

        public void updateInt​(int columnIndex,
                              int x)
                       throws java.sql.SQLException
        Updates the designated column with an int value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateInt in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateLong

        public void updateLong​(int columnIndex,
                               long x)
                        throws java.sql.SQLException
        Updates the designated column with a long value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateLong in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateFloat

        public void updateFloat​(int columnIndex,
                                float x)
                         throws java.sql.SQLException
        Updates the designated column with a float value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateFloat in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateDouble

        public void updateDouble​(int columnIndex,
                                 double x)
                          throws java.sql.SQLException
        Updates the designated column with a double value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateDouble in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBigDecimal

        public void updateBigDecimal​(int columnIndex,
                                     java.math.BigDecimal x)
                              throws java.sql.SQLException
        Updates the designated column with a java.math.BigDecimal value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateString

        public void updateString​(int columnIndex,
                                 java.lang.String x)
                          throws java.sql.SQLException
        Updates the designated column with a String value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateString in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBytes

        public void updateBytes​(int columnIndex,
                                byte[] x)
                         throws java.sql.SQLException
        Updates the designated column with a byte array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBytes in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateDate

        public void updateDate​(int columnIndex,
                               java.sql.Date x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Date value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateDate in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateTime

        public void updateTime​(int columnIndex,
                               java.sql.Time x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Time value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateTime in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateTimestamp

        public void updateTimestamp​(int columnIndex,
                                    java.sql.Timestamp x)
                             throws java.sql.SQLException
        Updates the designated column with a java.sql.Timestamp value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateTimestamp in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateAsciiStream

        public void updateAsciiStream​(int columnIndex,
                                      java.io.InputStream x,
                                      int length)
                               throws java.sql.SQLException
        (JDBC4 clarification:) Updates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBinaryStream

        public void updateBinaryStream​(int columnIndex,
                                       java.io.InputStream x,
                                       int length)
                                throws java.sql.SQLException
        (JDBC4 clarification:) Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateCharacterStream

        public void updateCharacterStream​(int columnIndex,
                                          java.io.Reader x,
                                          int length)
                                   throws java.sql.SQLException
        (JDBC4 clarification:) Updates the designated column with a character stream value, which will have the specified number of (CHECKME: characters?) bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateObject

        public void updateObject​(int columnIndex,
                                 java.lang.Object x,
                                 int scaleOrLength)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        (JDBC clarification:) If the second argument is an InputStream then the stream must contain the number of bytes specified by scaleOrLength. If the second argument is a Reader then the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate a SQLException when the statement is executed.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        scaleOrLength - for an object of java.math.BigDecimal , this is the number of digits after the decimal point. For Java Object types InputStream and Reader, this is the length of the data in the stream or reader. For all other types, this value will be ignored.
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateObject

        public void updateObject​(int columnIndex,
                                 java.lang.Object x)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateNull

        public void updateNull​(java.lang.String columnLabel)
                        throws java.sql.SQLException
        Updates the designated column with a null value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateNull in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBoolean

        public void updateBoolean​(java.lang.String columnLabel,
                                  boolean x)
                           throws java.sql.SQLException
        Updates the designated column with a boolean value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBoolean in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateByte

        public void updateByte​(java.lang.String columnLabel,
                               byte x)
                        throws java.sql.SQLException
        Updates the designated column with a byte value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateByte in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateShort

        public void updateShort​(java.lang.String columnLabel,
                                short x)
                         throws java.sql.SQLException
        Updates the designated column with a short value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateShort in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateInt

        public void updateInt​(java.lang.String columnLabel,
                              int x)
                       throws java.sql.SQLException
        Updates the designated column with an int value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateInt in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateLong

        public void updateLong​(java.lang.String columnLabel,
                               long x)
                        throws java.sql.SQLException
        Updates the designated column with a long value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateLong in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateFloat

        public void updateFloat​(java.lang.String columnLabel,
                                float x)
                         throws java.sql.SQLException
        Updates the designated column with a float value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateFloat in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateDouble

        public void updateDouble​(java.lang.String columnLabel,
                                 double x)
                          throws java.sql.SQLException
        Updates the designated column with a double value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateDouble in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBigDecimal

        public void updateBigDecimal​(java.lang.String columnLabel,
                                     java.math.BigDecimal x)
                              throws java.sql.SQLException
        Updates the designated column with a java.sql.BigDecimal value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBigDecimal in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateString

        public void updateString​(java.lang.String columnLabel,
                                 java.lang.String x)
                          throws java.sql.SQLException
        Updates the designated column with a String value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateString in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBytes

        public void updateBytes​(java.lang.String columnLabel,
                                byte[] x)
                         throws java.sql.SQLException
        Updates the designated column with a byte array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBytes in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateDate

        public void updateDate​(java.lang.String columnLabel,
                               java.sql.Date x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Date value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateDate in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateTime

        public void updateTime​(java.lang.String columnLabel,
                               java.sql.Time x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Time value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateTime in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateTimestamp

        public void updateTimestamp​(java.lang.String columnLabel,
                                    java.sql.Timestamp x)
                             throws java.sql.SQLException
        Updates the designated column with a java.sql.Timestamp value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateTimestamp in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateAsciiStream

        public void updateAsciiStream​(java.lang.String columnLabel,
                                      java.io.InputStream x,
                                      int length)
                               throws java.sql.SQLException
        (JDBC4 clarification:) Updates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateBinaryStream

        public void updateBinaryStream​(java.lang.String columnLabel,
                                       java.io.InputStream x,
                                       int length)
                                throws java.sql.SQLException
        (JDBC4 clarification:) Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateCharacterStream

        public void updateCharacterStream​(java.lang.String columnLabel,
                                          java.io.Reader reader,
                                          int length)
                                   throws java.sql.SQLException
        (JDBC4 clarification) Updates the designated column with a character stream value, which will have the specified number of (CHECKME: characters?) bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - the java.io.Reader object containing the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateObject

        public void updateObject​(java.lang.String columnLabel,
                                 java.lang.Object x,
                                 int scaleOrLength)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        (JDBC4 Clarification:) If the second argument is an InputStream then the stream must contain the number of bytes specified by scaleOrLength. If the second argument is a Reader then the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate a SQLException when the statement is executed.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        scaleOrLength - for an object of java.math.BigDecimal , this is the number of digits after the decimal point. For Java Object types InputStream and Reader, this is the length of the data in the stream or reader. For all other types, this value will be ignored.
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateObject

        public void updateObject​(java.lang.String columnLabel,
                                 java.lang.Object x)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • insertRow

        public void insertRow()
                       throws java.sql.SQLException
        Inserts the contents of the insert row into this ResultSet object and into the database. The cursor must be on the insert row when this method is called.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        insertRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY, this method is called on a closed result set, if this method is called when the cursor is not on the insert row, or if not all of non-nullable columns in the insert row have been given a non-null value
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • updateRow

        public void updateRow()
                       throws java.sql.SQLException
        Updates the underlying database with the new contents of the current row of this ResultSet object. This method cannot be called when the cursor is on the insert row.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        After updating any values in the current row, it is not possible to move the cursor position without calling this method, or alternatively calling cancelRowUpdates() to abandon the row update.

        Specified by:
        updateRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY; this method is called on a closed result set or if this method is called when the cursor is on the insert row
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • deleteRow

        public void deleteRow()
                       throws java.sql.SQLException
        Deletes the current row from this ResultSet object and from the underlying database. This method cannot be called when the cursor is on the insert row.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        After a successful call to this method, the row is deleted.

        Specified by:
        deleteRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY; this method is called on a closed result set or if this method is called when the cursor is on the insert row
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • refreshRow

        public void refreshRow()
                        throws java.sql.SQLException
        Refreshes the current row with its most recent value in the database. This method cannot be called when the cursor is on the insert row.

        The refreshRow method provides a way for an application to explicitly tell the JDBC driver to refetch a row(s) from the database. An application may want to call refreshRow when caching or prefetching is being done by the JDBC driver to fetch the latest value of a row from the database. The JDBC driver may actually refresh multiple rows at once if the fetch size is greater than one.

        All values are refetched subject to the transaction isolation level and cursor sensitivity. If refreshRow is called after calling an updater method, but before calling the method updateRow, then the updates made to the row are lost. Calling the method refreshRow frequently will likely slow performance.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        refreshRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs; this method is called on a closed result set; the result set type is TYPE_FORWARD_ONLY or if this method is called when the cursor is on the insert row
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method or this method is not supported for the specified result set type and result set concurrency.
        Since:
        JDK 1.2
      • cancelRowUpdates

        public void cancelRowUpdates()
                              throws java.sql.SQLException
        Cancels the updates made to the current row in this ResultSet object. This method may be called after calling an updater method(s) and before calling the method updateRow to roll back the updates made to a row. If no updates have been made or updateRow has already been called, this method has no effect.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        cancelRowUpdates in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs; this method is called on a closed result set; the result set concurrency is CONCUR_READ_ONLY or if this method is called when the cursor is on the insert row
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • moveToInsertRow

        public void moveToInsertRow()
                             throws java.sql.SQLException
        Moves the cursor to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the updater methods prior to inserting the row into the result set. Only the updater, getter, and insertRow methods may be called when the cursor is on the insert row. All of the columns in a result set must be given a value each time this method is called before calling insertRow. An updater method must be called before a getter method can be called on a column value.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        moveToInsertRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs; this method is called on a closed result set or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • moveToCurrentRow

        public void moveToCurrentRow()
                              throws java.sql.SQLException
        Moves the cursor to the remembered cursor position, usually the current row. This method has no effect if the cursor is not on the insert row.

        HSQLDB-Specific Information:

        HSQLDB supports this feature.

        Specified by:
        moveToCurrentRow in interface java.sql.ResultSet
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getStatement

        public java.sql.Statement getStatement()
                                        throws java.sql.SQLException
        Retrieves the Statement object that produced this ResultSet object. If the result set was generated some other way, such as by a DatabaseMetaData method, this method may return null.
        Specified by:
        getStatement in interface java.sql.ResultSet
        Returns:
        the Statement object that produced this ResultSet object or null if the result set was produced some other way
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getObject

        public java.lang.Object getObject​(int columnIndex,
                                          java.util.Map map)
                                   throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language. If the value is an SQL NULL, the driver returns a Java null. This method uses the given Map object for the custom mapping of the SQL structured or distinct type that is being retrieved.

        HSQLDB-Specific Information:

        HSQLDB supports this feature, but ignores the map.

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        map - a java.util.Map object that contains the mapping from SQL type names to classes in the Java programming language
        Returns:
        an Object in the Java programming language representing the SQL value
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getRef

        public java.sql.Ref getRef​(int columnIndex)
                            throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB does not support this feature; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        getRef in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Ref object representing an SQL REF value
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getBlob

        public java.sql.Blob getBlob​(int columnIndex)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for objects of type BLOB and BINARY. The Blob returned for BINARY objects is a memory object. The Blob return for BLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.

        Specified by:
        getBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Blob object representing the SQL BLOB value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getClob

        public java.sql.Clob getClob​(int columnIndex)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for objects of type CLOB and the variations of CHAR. The Clob returned for CHAR objects is a memory object. The Clob return for CLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.

        Specified by:
        getClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a Clob object representing the SQL CLOB value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getArray

        public java.sql.Array getArray​(int columnIndex)
                                throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.

        HSQLDB-Specific Information:

        From version 2.0, HSQLDB supports array types.

        Specified by:
        getArray in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        an Array object representing the SQL ARRAY value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getObject

        public java.lang.Object getObject​(java.lang.String columnLabel,
                                          java.util.Map map)
                                   throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language. If the value is an SQL NULL, the driver returns a Java null. This method uses the specified Map object for custom mapping if appropriate.

        HSQLDB-Specific Information:

        HSQLDB supports this feature. But the Map parameter is ignored.

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        map - a java.util.Map object that contains the mapping from SQL type names to classes in the Java programming language
        Returns:
        an Object representing the SQL value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getRef

        public java.sql.Ref getRef​(java.lang.String columnLabel)
                            throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.

        HSQLDB-Specific Information:

        Including 2.0, HSQLDB does not support reference types; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        getRef in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a Ref object representing the SQL REF value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getBlob

        public java.sql.Blob getBlob​(java.lang.String columnLabel)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for objects of type BLOB and BINARY. The Blob returned for BINARY objects is a memory object. The Blob return for BLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.

        Specified by:
        getBlob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a Blob object representing the SQL BLOB value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getClob

        public java.sql.Clob getClob​(java.lang.String columnLabel)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for objects of type CLOB and the variations of CHAR. The Clob returned for CHAR objects is a memory object. The Clob return for CLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.

        Specified by:
        getClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a Clob object representing the SQL CLOB value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getArray

        public java.sql.Array getArray​(java.lang.String columnLabel)
                                throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.

        HSQLDB-Specific Information:

        From version 2.0, HSQLDB supports array types.

        Specified by:
        getArray in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        an Array object representing the SQL ARRAY value in the specified column
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.2
      • getDate

        public java.sql.Date getDate​(int columnIndex,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        cal - the java.util.Calendar object to use in constructing the date
        Returns:
        the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getDate

        public java.sql.Date getDate​(java.lang.String columnLabel,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.
        Specified by:
        getDate in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        cal - the java.util.Calendar object to use in constructing the date
        Returns:
        the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getTime

        public java.sql.Time getTime​(int columnIndex,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.

        HSQLDB-Specific Information:

        The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:

        1. If the SQL type of the column is WITH TIME ZONE, then the UTC value of the returned java.sql.Time object is the UTC of the SQL value without modification. In other words, the Calendar object is not used.
        2. If the SQL type of the column is WITHOUT TIME ZONE, then the UTC value of the returned java.sql.Time is correct for the given Calendar's time zone.
        3. If the cal argument is null, it it ignored and the method returns the same Object as the method without the Calendar parameter.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        cal - the java.util.Calendar object to use in constructing the time
        Returns:
        the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getTime

        public java.sql.Time getTime​(java.lang.String columnLabel,
                                     java.util.Calendar cal)
                              throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.

        HSQLDB-Specific Information:

        The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:

        1. If the SQL type of the column is WITH TIME ZONE, then the UTC value of the returned java.sql.Time object is the UTC of the SQL value without modification. In other words, the Calendar object is not used.
        2. If the SQL type of the column is WITHOUT TIME ZONE, then the UTC value of the returned java.sql.Time will represent the correct time for the time zone (including daylight saving time) of the given Calendar.
        3. If the cal argument is null, it it ignored and the method returns the same Object as the method without the Calendar parameter.
        Specified by:
        getTime in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        cal - the java.util.Calendar object to use in constructing the time
        Returns:
        the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getTimestamp

        public java.sql.Timestamp getTimestamp​(int columnIndex,
                                               java.util.Calendar cal)
                                        throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.

        HSQLDB-Specific Information:

        The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:

        1. If the SQL type of the column is WITH TIME ZONE, then the UTC value of the returned java.sql.Timestamp object is the UTC of the SQL value without modification. In other words, the Calendar object is not used.
        2. If the SQL type of the column is WITHOUT TIME ZONE, then the UTC value of the returned java.sql.Timestamp will represent the correct timestamp for the time zone (including daylight saving time) of the given Calendar object.
        3. In this case, if the cal argument is null, then the default Calendar of the JVM is used, which results in the same Object as one returned by the getTimestamp() methods without the Calendar parameter.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        cal - the java.util.Calendar object to use in constructing the timestamp
        Returns:
        the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getTimestamp

        public java.sql.Timestamp getTimestamp​(java.lang.String columnLabel,
                                               java.util.Calendar cal)
                                        throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.

        HSQLDB-Specific Information:

        The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:

        1. If the SQL type of the column is WITH TIME ZONE, then the UTC value of the returned java.sql.Timestamp object is the UTC of the SQL value without modification. In other words, the Calendar object is not used.
        2. If the SQL type of the column is WITHOUT TIME ZONE, then the UTC value of the returned java.sql.Timestamp is correct for the given Calendar object.
        3. If the cal argument is null, it it ignored and the method returns the same Object as the method without the Calendar parameter.
        Specified by:
        getTimestamp in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        cal - the java.util.Calendar object to use in constructing the date
        Returns:
        the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.2
      • getURL

        public java.net.URL getURL​(int columnIndex)
                            throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB does not support the datalink type; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        getURL in interface java.sql.ResultSet
        Parameters:
        columnIndex - the index of the column 1 is the first, 2 is the second,...
        Returns:
        the column value as a java.net.URL object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs; this method is called on a closed result set or if a URL is malformed
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • getURL

        public java.net.URL getURL​(java.lang.String columnLabel)
                            throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB does not support the datalink type; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        getURL in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value as a java.net.URL object; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occur; this method is called on a closed result set or if a URL is malformed
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateRef

        public void updateRef​(int columnIndex,
                              java.sql.Ref x)
                       throws java.sql.SQLException
        Updates the designated column with a java.sql.Ref value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB does not support reference types; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        updateRef in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateRef

        public void updateRef​(java.lang.String columnLabel,
                              java.sql.Ref x)
                       throws java.sql.SQLException
        Updates the designated column with a java.sql.Ref value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB does not support reference types; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        updateRef in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateBlob

        public void updateBlob​(int columnIndex,
                               java.sql.Blob x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Blob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for columns of type BLOB.

        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateBlob

        public void updateBlob​(java.lang.String columnLabel,
                               java.sql.Blob x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Blob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for columns of type BLOB.

        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateClob

        public void updateClob​(int columnIndex,
                               java.sql.Clob x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Clob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for columns of type CLOB.

        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateClob

        public void updateClob​(java.lang.String columnLabel,
                               java.sql.Clob x)
                        throws java.sql.SQLException
        Updates the designated column with a java.sql.Clob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB 2.0 supports this feature for columns of type CLOB.

        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateArray

        public void updateArray​(int columnIndex,
                                java.sql.Array x)
                         throws java.sql.SQLException
        Updates the designated column with a java.sql.Array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB does not support array types; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        updateArray in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • updateArray

        public void updateArray​(java.lang.String columnLabel,
                                java.sql.Array x)
                         throws java.sql.SQLException
        Updates the designated column with a java.sql.Array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB does not support array types; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        updateArray in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.4, HSQLDB 1.7.0
      • getRowId

        public java.sql.RowId getRowId​(int columnIndex)
                                throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.
        Specified by:
        getRowId in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second 2, ...
        Returns:
        the column value; if the value is a SQL NULL the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getRowId

        public java.sql.RowId getRowId​(java.lang.String columnLabel)
                                throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.

        HSQLDB-Specific Information:

        HSQLDB does not support the RowId type; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        getRowId in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value ; if the value is a SQL NULL the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateRowId

        public void updateRowId​(int columnIndex,
                                java.sql.RowId x)
                         throws java.sql.SQLException
        Updates the designated column with a RowId value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB does not support the RowId type; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        updateRowId in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second 2, ...
        x - the column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateRowId

        public void updateRowId​(java.lang.String columnLabel,
                                java.sql.RowId x)
                         throws java.sql.SQLException
        Updates the designated column with a RowId value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        HSQLDB-Specific Information:

        HSQLDB does not support the RowId type; this method always throws an SQLException stating that the operation is not supported.

        Specified by:
        updateRowId in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the column value
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getHoldability

        public int getHoldability()
                           throws java.sql.SQLException
        Retrieves the holdability of this ResultSet object
        Specified by:
        getHoldability in interface java.sql.ResultSet
        Returns:
        either ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        Since:
        JDK 1.6, HSQLDB 2.0
      • isClosed

        public boolean isClosed()
                         throws java.sql.SQLException
        Retrieves whether this ResultSet object has been closed. A ResultSet is closed if the method close has been called on it, or if it is automatically closed.
        Specified by:
        isClosed in interface java.sql.ResultSet
        Returns:
        true if this ResultSet object is closed; false if it is still open
        Throws:
        java.sql.SQLException - if a database access error occurs
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNString

        public void updateNString​(int columnIndex,
                                  java.lang.String nString)
                           throws java.sql.SQLException
        Updates the designated column with a String value. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateNString in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second 2, ...
        nString - the value for the column to be updated
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, the result set concurrency is CONCUR_READ_ONLY or if a database access error occurs
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNString

        public void updateNString​(java.lang.String columnLabel,
                                  java.lang.String nString)
                           throws java.sql.SQLException
        Updates the designated column with a String value. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateNString in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        nString - the value for the column to be updated
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; the result set concurrency is CONCUR_READ_ONLY or if a database access error occurs
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNClob

        public void updateNClob​(int columnIndex,
                                java.sql.NClob nClob)
                         throws java.sql.SQLException
        Updates the designated column with a java.sql.NClob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second 2, ...
        nClob - the value for the column to be updated
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNClob

        public void updateNClob​(java.lang.String columnLabel,
                                java.sql.NClob nClob)
                         throws java.sql.SQLException
        Updates the designated column with a java.sql.NClob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        nClob - the value for the column to be updated
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getNClob

        public java.sql.NClob getNClob​(int columnIndex)
                                throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.
        Specified by:
        getNClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a NClob object representing the SQL NCLOB value in the specified column
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occurs
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getNClob

        public java.sql.NClob getNClob​(java.lang.String columnLabel)
                                throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.
        Specified by:
        getNClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a NClob object representing the SQL NCLOB value in the specified column
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occurs
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getSQLXML

        public java.sql.SQLXML getSQLXML​(int columnIndex)
                                  throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet as a java.sql.SQLXML object in the Java programming language.
        Specified by:
        getSQLXML in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a SQLXML object that maps an SQL XML value
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getSQLXML

        public java.sql.SQLXML getSQLXML​(java.lang.String columnLabel)
                                  throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet as a java.sql.SQLXML object in the Java programming language.
        Specified by:
        getSQLXML in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a SQLXML object that maps an SQL XML value
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateSQLXML

        public void updateSQLXML​(int columnIndex,
                                 java.sql.SQLXML xmlObject)
                          throws java.sql.SQLException
        Updates the designated column with a java.sql.SQLXML value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateSQLXML in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second 2, ...
        xmlObject - the value for the column to be updated
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set, the java.xml.transform.Result, Writer or OutputStream has not been closed for the SQLXML object, if there is an error processing the XML value or the result set concurrency is CONCUR_READ_ONLY. The getCause method of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML.
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateSQLXML

        public void updateSQLXML​(java.lang.String columnLabel,
                                 java.sql.SQLXML xmlObject)
                          throws java.sql.SQLException
        Updates the designated column with a java.sql.SQLXML value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateSQLXML in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        xmlObject - the column value
        Throws:
        java.sql.SQLException - if a database access error occurs, this method is called on a closed result set, the java.xml.transform.Result, Writer or OutputStream has not been closed for the SQLXML object, if there is an error processing the XML value or the result set concurrency is CONCUR_READ_ONLY. The getCause method of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML.
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getNString

        public java.lang.String getNString​(int columnIndex)
                                    throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.
        Specified by:
        getNString in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getNString

        public java.lang.String getNString​(java.lang.String columnLabel)
                                    throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.
        Specified by:
        getNString in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        the column value; if the value is SQL NULL, the value returned is null
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getNCharacterStream

        public java.io.Reader getNCharacterStream​(int columnIndex)
                                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.
        Specified by:
        getNCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        Returns:
        a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language.
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • getNCharacterStream

        public java.io.Reader getNCharacterStream​(java.lang.String columnLabel)
                                           throws java.sql.SQLException
        Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.
        Specified by:
        getNCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        Returns:
        a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language
        Throws:
        java.sql.SQLException - if a database access error occurs or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNCharacterStream

        public void updateNCharacterStream​(int columnIndex,
                                           java.io.Reader x,
                                           long length)
                                    throws java.sql.SQLException
        Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNCharacterStream

        public void updateNCharacterStream​(java.lang.String columnLabel,
                                           java.io.Reader reader,
                                           long length)
                                    throws java.sql.SQLException
        Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - the java.io.Reader object containing the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateAsciiStream

        public void updateAsciiStream​(int columnIndex,
                                      java.io.InputStream x,
                                      long length)
                               throws java.sql.SQLException
        Updates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateBinaryStream

        public void updateBinaryStream​(int columnIndex,
                                       java.io.InputStream x,
                                       long length)
                                throws java.sql.SQLException
        Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateCharacterStream

        public void updateCharacterStream​(int columnIndex,
                                          java.io.Reader x,
                                          long length)
                                   throws java.sql.SQLException
        Updates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateAsciiStream

        public void updateAsciiStream​(java.lang.String columnLabel,
                                      java.io.InputStream x,
                                      long length)
                               throws java.sql.SQLException
        Updates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateBinaryStream

        public void updateBinaryStream​(java.lang.String columnLabel,
                                       java.io.InputStream x,
                                       long length)
                                throws java.sql.SQLException
        Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateCharacterStream

        public void updateCharacterStream​(java.lang.String columnLabel,
                                          java.io.Reader reader,
                                          long length)
                                   throws java.sql.SQLException
        Updates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - the java.io.Reader object containing the new column value
        length - the length of the stream
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateBlob

        public void updateBlob​(int columnIndex,
                               java.io.InputStream inputStream,
                               long length)
                        throws java.sql.SQLException
        Updates the designated column using the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        inputStream - An object that contains the data to set the parameter value to.
        length - the number of bytes in the parameter data.
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateBlob

        public void updateBlob​(java.lang.String columnLabel,
                               java.io.InputStream inputStream,
                               long length)
                        throws java.sql.SQLException
        Updates the designated column using the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        inputStream - An object that contains the data to set the parameter value to.
        length - the number of bytes in the parameter data.
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateClob

        public void updateClob​(int columnIndex,
                               java.io.Reader reader,
                               long length)
                        throws java.sql.SQLException
        Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        reader - An object that contains the data to set the parameter value to.
        length - the number of characters in the parameter data.
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateClob

        public void updateClob​(java.lang.String columnLabel,
                               java.io.Reader reader,
                               long length)
                        throws java.sql.SQLException
        Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - An object that contains the data to set the parameter value to.
        length - the number of characters in the parameter data.
        Throws:
        java.sql.SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNClob

        public void updateNClob​(int columnIndex,
                                java.io.Reader reader,
                                long length)
                         throws java.sql.SQLException
        Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second 2, ...
        reader - An object that contains the data to set the parameter value to.
        length - the number of characters in the parameter data.
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNClob

        public void updateNClob​(java.lang.String columnLabel,
                                java.io.Reader reader,
                                long length)
                         throws java.sql.SQLException
        Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - An object that contains the data to set the parameter value to.
        length - the number of characters in the parameter data.
        Throws:
        java.sql.SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.6, HSQLDB 2.0
      • updateNCharacterStream

        public void updateNCharacterStream​(int columnIndex,
                                           java.io.Reader reader)
                                    throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNCharacterStream which takes a length parameter.

        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        reader - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateNCharacterStream

        public void updateNCharacterStream​(java.lang.String columnLabel,
                                           java.io.Reader reader)
                                    throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNCharacterStream which takes a length parameter.

        Specified by:
        updateNCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - the java.io.Reader object containing the new column value
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateAsciiStream

        public void updateAsciiStream​(int columnIndex,
                                      java.io.InputStream x)
                               throws java.sql.SQLException
        Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateAsciiStream which takes a length parameter.

        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateBinaryStream

        public void updateBinaryStream​(int columnIndex,
                                       java.io.InputStream x)
                                throws java.sql.SQLException
        Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBinaryStream which takes a length parameter.

        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateCharacterStream

        public void updateCharacterStream​(int columnIndex,
                                          java.io.Reader x)
                                   throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateCharacterStream which takes a length parameter.

        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateAsciiStream

        public void updateAsciiStream​(java.lang.String columnLabel,
                                      java.io.InputStream x)
                               throws java.sql.SQLException
        Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateAsciiStream which takes a length parameter.

        Specified by:
        updateAsciiStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateBinaryStream

        public void updateBinaryStream​(java.lang.String columnLabel,
                                       java.io.InputStream x)
                                throws java.sql.SQLException
        Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBinaryStream which takes a length parameter.

        Specified by:
        updateBinaryStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateCharacterStream

        public void updateCharacterStream​(java.lang.String columnLabel,
                                          java.io.Reader reader)
                                   throws java.sql.SQLException
        Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateCharacterStream which takes a length parameter.

        Specified by:
        updateCharacterStream in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - the java.io.Reader object containing the new column value
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateBlob

        public void updateBlob​(int columnIndex,
                               java.io.InputStream inputStream)
                        throws java.sql.SQLException
        Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBlob which takes a length parameter.

        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        inputStream - An object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateBlob

        public void updateBlob​(java.lang.String columnLabel,
                               java.io.InputStream inputStream)
                        throws java.sql.SQLException
        Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBlob which takes a length parameter.

        Specified by:
        updateBlob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        inputStream - An object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateClob

        public void updateClob​(int columnIndex,
                               java.io.Reader reader)
                        throws java.sql.SQLException
        Updates the designated column using the given Reader object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateClob which takes a length parameter.

        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        reader - An object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateClob

        public void updateClob​(java.lang.String columnLabel,
                               java.io.Reader reader)
                        throws java.sql.SQLException
        Updates the designated column using the given Reader object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateClob which takes a length parameter.

        Specified by:
        updateClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - An object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateNClob

        public void updateNClob​(int columnIndex,
                                java.io.Reader reader)
                         throws java.sql.SQLException
        Updates the designated column using the given Reader The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNClob which takes a length parameter.

        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second 2, ...
        reader - An object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • updateNClob

        public void updateNClob​(java.lang.String columnLabel,
                                java.io.Reader reader)
                         throws java.sql.SQLException
        Updates the designated column using the given Reader object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNClob which takes a length parameter.

        Specified by:
        updateNClob in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        reader - An object that contains the data to set the parameter value to.
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.6
      • unwrap

        public <T> T unwrap​(java.lang.Class<T> iface)
                     throws java.sql.SQLException
        Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling unwrap recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an SQLException is thrown.
        Specified by:
        unwrap in interface java.sql.Wrapper
        Parameters:
        iface - A Class defining an interface that the result must implement.
        Returns:
        an object that implements the interface. May be a proxy for the actual implementing object.
        Throws:
        java.sql.SQLException - If no object found that implements the interface
        Since:
        JDK 1.6, HSQLDB 2.0
      • isWrapperFor

        public boolean isWrapperFor​(java.lang.Class<?> iface)
                             throws java.sql.SQLException
        Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling isWrapperFor on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to unwrap so that callers can use this method to avoid expensive unwrap calls that may fail. If this method returns true then calling unwrap with the same argument should succeed.
        Specified by:
        isWrapperFor in interface java.sql.Wrapper
        Parameters:
        iface - a Class defining an interface.
        Returns:
        true if this implements the interface or directly or indirectly wraps an object that does.
        Throws:
        java.sql.SQLException - if an error occurs while determining whether this is a wrapper for an object with the given interface.
        Since:
        JDK 1.6, HSQLDB 2.0
      • getObject

        public <T> T getObject​(int columnIndex,
                               java.lang.Class<T> type)
                        throws java.sql.SQLException

        Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a SQLException is thrown.

        At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements SQLData, or Struct. Additional conversions may be supported and are vendor defined.

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        type - Class representing the Java data type to convert the designated column to.
        Returns:
        an instance of type holding the column value
        Throws:
        java.sql.SQLException - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.7 M11 2010/09/10 (b123), HSQLDB 2.0.1
      • getObject

        public <T> T getObject​(java.lang.String columnLabel,
                               java.lang.Class<T> type)
                        throws java.sql.SQLException

        Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a SQLException is thrown.

        At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements SQLData, or Struct. Additional conversions may be supported and are vendor defined.

        Specified by:
        getObject in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        type - Class representing the Java data type to convert the designated column to.
        Returns:
        an instance of type holding the column value
        Throws:
        java.sql.SQLException - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        JDK 1.7 M11 2010/09/10 (b123), HSQLDB 2.0.1
      • updateObject

        public void updateObject​(int columnIndex,
                                 java.lang.Object x,
                                 java.sql.SQLType targetSqlType,
                                 int scaleOrLength)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        If the second argument is an InputStream then the stream must contain the number of bytes specified by scaleOrLength. If the second argument is a Reader then the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate a SQLException when the statement is executed.

        The default implementation will throw SQLFeatureNotSupportedException

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        targetSqlType - the SQL type to be sent to the database
        scaleOrLength - for an object of java.math.BigDecimal , this is the number of digits after the decimal point. For Java Object types InputStream and Reader, this is the length of the data in the stream or reader. For all other types, this value will be ignored.
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method; if the JDBC driver does not support the specified targetSqlType
        Since:
        1.8
        See Also:
        JDBCType, SQLType
      • updateObject

        public void updateObject​(java.lang.String columnLabel,
                                 java.lang.Object x,
                                 java.sql.SQLType targetSqlType,
                                 int scaleOrLength)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        If the second argument is an InputStream then the stream must contain number of bytes specified by scaleOrLength. If the second argument is a Reader then the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate a SQLException when the statement is executed.

        The default implementation will throw SQLFeatureNotSupportedException

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        targetSqlType - the SQL type to be sent to the database
        scaleOrLength - for an object of java.math.BigDecimal , this is the number of digits after the decimal point. For Java Object types InputStream and Reader, this is the length of the data in the stream or reader. For all other types, this value will be ignored.
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method; if the JDBC driver does not support the specified targetSqlType
        Since:
        1.8
        See Also:
        JDBCType, SQLType
      • updateObject

        public void updateObject​(int columnIndex,
                                 java.lang.Object x,
                                 java.sql.SQLType targetSqlType)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        The default implementation will throw SQLFeatureNotSupportedException

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnIndex - the first column is 1, the second is 2, ...
        x - the new column value
        targetSqlType - the SQL type to be sent to the database
        Throws:
        java.sql.SQLException - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method; if the JDBC driver does not support the specified targetSqlType
        Since:
        1.8
        See Also:
        JDBCType, SQLType
      • updateObject

        public void updateObject​(java.lang.String columnLabel,
                                 java.lang.Object x,
                                 java.sql.SQLType targetSqlType)
                          throws java.sql.SQLException
        Updates the designated column with an Object value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

        The default implementation will throw SQLFeatureNotSupportedException

        Specified by:
        updateObject in interface java.sql.ResultSet
        Parameters:
        columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
        x - the new column value
        targetSqlType - the SQL type to be sent to the database
        Throws:
        java.sql.SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
        java.sql.SQLFeatureNotSupportedException - if the JDBC driver does not support this method; if the JDBC driver does not support the specified targetSqlType
        Since:
        1.8
        See Also:
        JDBCType, SQLType
      • newJDBCResultSet

        public static JDBCResultSet newJDBCResultSet​(org.hsqldb.result.Result r,
                                                     org.hsqldb.result.ResultMetaData metaData)
        Factory method returns a new JDBCResultSet object for use with user defined functions that return a ResultSet object. See org.hsqldb.jdbc.JDBCArrayBasic for usage example.

        Parameters:
        r - the internal result form that the new JDBCResultSet represents
        metaData - the connection properties
        Returns:
        ResultSet
      • newEmptyResultSet

        public static JDBCResultSet newEmptyResultSet()