org.hsqldb.jdbc
Class jdbcResultSet

java.lang.Object
  extended byorg.hsqldb.jdbc.jdbcResultSet
All Implemented Interfaces:
java.sql.ResultSet

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. If column names are used, there is no way for the programmer to guarantee that they actually refer to the intended columns.

A set of updater methods were added to this interface in the JDBC 2.0 API (JavaTM 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 row 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 ResulSetMetaData 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. However, since 1.7.0, 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 persists, 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.

Including HSQLDB 1.7.2, there is no support for any of the methods introduced in JDBC 2 relating to updateable result sets. These methods include all updateXXX methods, as well as the insertRow(), updateRow(), deleteRow(), moveToInsertRow() (and so on) methods; invoking any such method throws an SQLException stating that the operation is not supported. JRE 1.1.x Notes:

In general, JDBC 2 support requires Java 1.2 and above, and JDBC 3 requires Java 1.4 and above. In HSQLDB, support for methods introduced in different versions of JDBC depends on the JDK version used for compiling and building HSQLDB.

Since 1.7.0, it is possible to build the product so that all JDBC 2 methods can be called while executing under the version 1.1.x Java Runtime EnvironmentTM. However, some of these method calls require int values that are defined only in the JDBC 2 or greater version of the ResultSet interface. For this reason, when the product is compiled under JDK 1.1.x, these values are defined here, in this class.

In a JRE 1.1.x environment, calling JDBC 2 methods that take or return the JDBC2-only ResultSet values can be achieved by referring to them in parameter specifications and return value comparisons, respectively, as follows:

 jdbcResultSet.FETCH_FORWARD
 jdbcResultSet.TYPE_FORWARD_ONLY
 jdbcResultSet.TYPE_SCROLL_INSENSITIVE
 jdbcResultSet.CONCUR_READ_ONLY
 // etc.
 
However, please note that code written in such a manner will not be compatible for use with other JDBC 2 drivers, since they expect and use ResultSet, rather than jdbcResultSet. Also note, this feature is offered solely as a convenience to developers who must work under JDK 1.1.x due to operating constraints, yet wish to use some of the more advanced features available under the JDBC 2 specification.

(fredt@users)
(boucherb@users)

See Also:
jdbcStatement.executeQuery(java.lang.String), jdbcStatement.getResultSet(), ResultSetMetaData

Field Summary
static int CLOSE_CURSORS_AT_COMMIT
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int CONCUR_READ_ONLY
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int CONCUR_UPDATABLE
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int FETCH_FORWARD
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int FETCH_REVERSE
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int FETCH_UNKNOWN
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int HOLD_CURSORS_OVER_COMMIT
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
 Result rResult
          The internal representation.
static int TYPE_FORWARD_ONLY
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int TYPE_SCROLL_INSENSITIVE
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
static int TYPE_SCROLL_SENSITIVE
          Copy of java.sql.ResultSet constant, for JDK 1.1 clients.
 
Method Summary
 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 columnName)
           Maps the given ResultSet column name to its ResultSet column index.
 boolean first()
           Moves the cursor to the first row in this ResultSet object.
 java.sql.Array getArray(int i)
           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 colName)
           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 columnName)
           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 columnName)
           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 columnName, 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 binary stream of uninterpreted bytes.
 java.io.InputStream getBinaryStream(java.lang.String columnName)
           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 i)
           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 colName)
           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 columnName)
           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 columnName)
           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 columnName)
           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 columnName)
           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 i)
           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 colName)
           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 columnName)
           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 columnName, 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 columnName)
           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 columnName)
           Retrieves the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.
 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 columnName)
           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 columnName)
           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.lang.Object getObject(int columnIndex)
           Gets 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(int i, 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 columnName)
           Gets 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 colName, 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 i)
           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 colName)
           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.
 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 columnName)
           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.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 columnName)
           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 columnName)
           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 columnName, 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 anguage.
 java.sql.Timestamp getTimestamp(java.lang.String columnName)
           Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object.
 java.sql.Timestamp getTimestamp(java.lang.String columnName, 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 columnName)
          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 columnName)
           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 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 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.
 boolean next()
           Moves the cursor down 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.
 void updateArray(int columnIndex, java.sql.Array x)
           Updates the designated column with a java.sql.Array value.
 void updateArray(java.lang.String columnName, java.sql.Array x)
           Updates the designated column with a java.sql.Array value.
 void updateAsciiStream(int columnIndex, java.io.InputStream x, int length)
           Updates the designated column with an ascii stream value.
 void updateAsciiStream(java.lang.String columnName, java.io.InputStream x, int length)
           Updates the designated column with an ascii stream value.
 void updateBigDecimal(int columnIndex, java.math.BigDecimal x)
           Updates the designated column with a java.math.BigDecimal value.
 void updateBigDecimal(java.lang.String columnName, java.math.BigDecimal x)
           Updates the designated column with a java.sql.BigDecimal value.
 void updateBinaryStream(int columnIndex, java.io.InputStream x, int length)
           Updates the designated column with a binary stream value.
 void updateBinaryStream(java.lang.String columnName, java.io.InputStream x, int length)
           Updates the designated column with a binary stream value.
 void updateBlob(int columnIndex, java.sql.Blob x)
           Updates the designated column with a java.sql.Blob value.
 void updateBlob(java.lang.String columnName, 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 columnName, 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 columnName, 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 columnName, byte[] x)
           Updates the designated column with a byte array value.
 void updateCharacterStream(int columnIndex, java.io.Reader x, int length)
           Updates the designated column with a character stream value.
 void updateCharacterStream(java.lang.String columnName, java.io.Reader reader, int length)
           Updates the designated column with a character stream value.
 void updateClob(int columnIndex, java.sql.Clob x)
           Updates the designated column with a java.sql.Clob value.
 void updateClob(java.lang.String columnName, 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 columnName, 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 columnName, 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 columnName, 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 columnName, 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 columnName, long x)
           Updates the designated column with a long value.
 void updateNull(int columnIndex)
           Gives a nullable column a null value.
 void updateNull(java.lang.String columnName)
           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 scale)
           Updates the designated column with an Object value.
 void updateObject(java.lang.String columnName, java.lang.Object x)
           Updates the designated column with an Object value.
 void updateObject(java.lang.String columnName, java.lang.Object x, int scale)
           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 columnName, 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 updateShort(int columnIndex, short x)
           Updates the designated column with a short value.
 void updateShort(java.lang.String columnName, short x)
           Updates the designated column with a short value.
 void updateString(int columnIndex, java.lang.String x)
           Updates the designated column with a String value.
 void updateString(java.lang.String columnName, 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 columnName, 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 columnName, 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

rResult

public Result rResult
The internal representation.


FETCH_FORWARD

public static final int FETCH_FORWARD
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

FETCH_REVERSE

public static final int FETCH_REVERSE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

FETCH_UNKNOWN

public static final int FETCH_UNKNOWN
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

TYPE_FORWARD_ONLY

public static final int TYPE_FORWARD_ONLY
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

TYPE_SCROLL_INSENSITIVE

public static final int TYPE_SCROLL_INSENSITIVE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

TYPE_SCROLL_SENSITIVE

public static final int TYPE_SCROLL_SENSITIVE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

CONCUR_READ_ONLY

public static final int CONCUR_READ_ONLY
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

CONCUR_UPDATABLE

public static final int CONCUR_UPDATABLE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

HOLD_CURSORS_OVER_COMMIT

public static final int HOLD_CURSORS_OVER_COMMIT
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values

CLOSE_CURSORS_AT_COMMIT

public static final int CLOSE_CURSORS_AT_COMMIT
Copy of java.sql.ResultSet constant, for JDK 1.1 clients.

See Also:
Constant Field Values
Method Detail

next

public boolean next()
             throws java.sql.SQLException
Moves the cursor down 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.

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

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.

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. A ResultSet object is also automatically closed when it is garbage collected.

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

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

getBigDecimal

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:

Beginning with 1.7.0, 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

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 type BINARY, CHAR and their variations. For other types, it returns the byte[] for the String representation of the value.

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

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

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

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

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.

In 1.6.1 and previous, getAsciiStream was identical to getUnicodeStream and both simply returned a byte stream constructed from the raw getBytes representation. Starting with 1.7.0, this has been updated to comply with the java.sql specification. 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 prefered 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

getUnicodeStream

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 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.

Up to and including 1.6.1, getUnicodeStream (and getAsciiStream) both simply returned a byte stream constructed from the raw getBytes representation. Starting with 1.7.0, this has been corrected to comply with the java.sql specification. 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

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 binary 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

getString

public java.lang.String getString(java.lang.String columnName)
                           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:
columnName - the SQL 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

getBoolean

public boolean getBoolean(java.lang.String columnName)
                   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.

Specified by:
getBoolean in interface java.sql.ResultSet
Parameters:
columnName - the SQL 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

getByte

public byte getByte(java.lang.String columnName)
             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:
columnName - the SQL 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

getShort

public short getShort(java.lang.String columnName)
               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:
columnName - the SQL 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

getInt

public int getInt(java.lang.String columnName)
           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:
columnName - the SQL 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

getLong

public long getLong(java.lang.String columnName)
             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:
columnName - the SQL 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

getFloat

public float getFloat(java.lang.String columnName)
               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:
columnName - the SQL 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

getDouble

public double getDouble(java.lang.String columnName)
                 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:
columnName - the SQL 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

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String columnName,
                                          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:

Beginning with 1.7.0, HSQLDB converts the result and sets the scale with BigDecimal.ROUND_HALF_DOWN.

Specified by:
getBigDecimal in interface java.sql.ResultSet
Parameters:
columnName - the SQL 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

getBytes

public byte[] getBytes(java.lang.String columnName)
                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:
columnName - the SQL 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

getDate

public java.sql.Date getDate(java.lang.String columnName)
                      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:
columnName - the SQL 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

getTime

public java.sql.Time getTime(java.lang.String columnName)
                      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:
columnName - the SQL 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

getTimestamp

public java.sql.Timestamp getTimestamp(java.lang.String columnName)
                                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.

Specified by:
getTimestamp in interface java.sql.ResultSet
Parameters:
columnName - the SQL 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

getAsciiStream

public java.io.InputStream getAsciiStream(java.lang.String columnName)
                                   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:
columnName - the SQL 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
See Also:
getAsciiStream(int)

getUnicodeStream

public java.io.InputStream getUnicodeStream(java.lang.String columnName)
                                     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:
columnName - the SQL 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
See Also:
getUnicodeStream(int)

getBinaryStream

public java.io.InputStream getBinaryStream(java.lang.String columnName)
                                    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:
columnName - the SQL 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

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:

Up to and including 1.7.1, HSQLDB does not produce SQLWarning objects. 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

Up to and including 1.7.1, HSQLDB always returns null.

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:

Including 1.7.1, 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

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 insure 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.

Note: If positioned update is not supported, a SQLException is thrown.

HSQLDB-Specific Information:

Including 1.7.2, HSQLDB does not support this feature.

Calling this method always throws an SQLException, stating that the operation is not supported.

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

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);

Warning:

Including 1.7.1, HSQLDB did not generate accurate ResultSetMetaData. Below were the the most important methods to consider:

  1. isAutoIncrement(int) always returned false
  2. isCurrency(int) always returned false
  3. isNullable(int) always returned columnNullableUnknown
  4. getColumnDisplaySize(int) returned zero for all valid column numbers
  5. getSchemaName(int) always returned ""
  6. getPrecision(int) always returned zero
  7. getScale(int) always returned zero
  8. getCatalogName(int) always returned ""


Starting with 1.7.2, ResultSetMetaData has been split out into its own interface implemenation (jdbcResultSetMetaData), support has been improved considerably for a number of methods and behaviour has been altered slightly in many areas.

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
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 datatabase-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. 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:
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

getObject

public java.lang.Object getObject(java.lang.String columnName)
                           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 datatabase-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:
columnName - the SQL name of the column
Returns:
a java.lang.Object holding the column value
Throws:
java.sql.SQLException - if a database access error occurs

findColumn

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

Specified by:
findColumn in interface java.sql.ResultSet
Parameters:
columnName - 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 columnName or a database access error occurs

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:

Starting with 1.7.0. HSQLDB supports this.

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
Since:
JDK 1.2

getCharacterStream

public java.io.Reader getCharacterStream(java.lang.String columnName)
                                  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:

Starting with 1.7.0, HSQLDB supports this.

Specified by:
getCharacterStream in interface java.sql.ResultSet
Parameters:
columnName - 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
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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String columnName)
                                   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:
columnName - the column name
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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

isBeforeFirst

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

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

isAfterLast

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

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

isFirst

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

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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.

HSQLDB-Specific Information:

Including 1.7.2, this method is not terribly expensive; the entire result is fetched internally before this object is returned to a caller.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 or the result set type is TYPE_FORWARD_ONLY
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 or the result set type is TYPE_FORWARD_ONLY
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 or the result set type is TYPE_FORWARD_ONLY
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 or the result set type is TYPE_FORWARD_ONLY
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 on the result set; false otherwise
Throws:
java.sql.SQLException - if a database access error occurs, or the result set type is TYPE_FORWARD_ONLY
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 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, there is no current row, or the result set type is TYPE_FORWARD_ONLY
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

previous

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

Specified by:
previous in interface java.sql.ResultSet
Returns:
true if the cursor is on a valid row; false if it is off the result set
Throws:
java.sql.SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB builds and returns result sets as a whole; this method does nothing. 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 or the result set type is TYPE_FORWARD_ONLY and the fetch direction is not FETCH_FORWARD
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)
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:

Including 1.7.2, HSQLDB builds and returns result sets as a whole; this method 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)
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:

Including 1.7.2, HSQLDB builds and returns result sets as a whole; this method does nothing.

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 or the condition 0 <= rows <= this.getMaxRows() is not satisfied
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)
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:

Including 1.7.2, HSQLDB builds and returns result sets as a whole; the value returned (always 1) has no significance.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)
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:

Including 1.7.2, HSQLDB does not support and thus never returns ResultSet.TYPE_SCROLL_SENSITIVE.

Specified by:
getType in interface java.sql.ResultSet
Returns:
ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE (not supported)
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB supports only CONCUR_READ_ONLY; this method always returns CONCUR_READ_ONLY.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always returns false.

Specified by:
rowUpdated in interface java.sql.ResultSet
Returns:
true if both (1) the row has been visibly updated by the owner or another and (2) updates are detected
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)
See Also:
DatabaseMetaData.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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always returns false.

Specified by:
rowInserted in interface java.sql.ResultSet
Returns:
true if a row has had an insertion and insertions are detected; false otherwise
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)
See Also:
DatabaseMetaData.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.

HSQLDB-Specific Information:

Including 1.7.2, HSQLDB does not support updateable results.

This method always returns false.

Specified by:
rowDeleted in interface java.sql.ResultSet
Returns:
true if a row was deleted and deletions are detected; false otherwise
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)
See Also:
DatabaseMetaData.deletesAreDetected(int)

updateNull

public void updateNull(int columnIndex)
                throws java.sql.SQLException
Gives a nullable column 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:

Including 1.7.1, HSQLDB does not support updateable results.

This method always throws an SQLException stating that the operation is not supported.

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
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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException, stating that the operation is not supported.

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
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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable results.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateAsciiStream

public void updateAsciiStream(int columnIndex,
                              java.io.InputStream x,
                              int length)
                       throws java.sql.SQLException
Updates the designated column with an ascii stream 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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateBinaryStream

public void updateBinaryStream(int columnIndex,
                               java.io.InputStream x,
                               int length)
                        throws java.sql.SQLException
Updates the designated column with a binary stream 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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateCharacterStream

public void updateCharacterStream(int columnIndex,
                                  java.io.Reader x,
                                  int length)
                           throws java.sql.SQLException
Updates the designated column with a character stream 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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateObject

public void updateObject(int columnIndex,
                         java.lang.Object x,
                         int scale)
                  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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateObject in interface java.sql.ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
scale - for java.sql.Types.DECIMA or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types this value will be ignored.
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateNull

public void updateNull(java.lang.String columnName)
                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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateNull in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateBoolean

public void updateBoolean(java.lang.String columnName,
                          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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateBoolean in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateByte

public void updateByte(java.lang.String columnName,
                       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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateByte in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateShort

public void updateShort(java.lang.String columnName,
                        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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateShort in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateInt

public void updateInt(java.lang.String columnName,
                      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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateInt in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateLong

public void updateLong(java.lang.String columnName,
                       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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateLong in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateFloat

public void updateFloat(java.lang.String columnName,
                        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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateFloat in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateDouble

public void updateDouble(java.lang.String columnName,
                         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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateDouble in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateBigDecimal

public void updateBigDecimal(java.lang.String columnName,
                             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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateBigDecimal in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateString

public void updateString(java.lang.String columnName,
                         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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateString in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateBytes

public void updateBytes(java.lang.String columnName,
                        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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateBytes in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateDate

public void updateDate(java.lang.String columnName,
                       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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateDate in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateTime

public void updateTime(java.lang.String columnName,
                       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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateTime in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateTimestamp

public void updateTimestamp(java.lang.String columnName,
                            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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateTimestamp in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateAsciiStream

public void updateAsciiStream(java.lang.String columnName,
                              java.io.InputStream x,
                              int length)
                       throws java.sql.SQLException
Updates the designated column with an ascii stream 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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateAsciiStream in interface java.sql.ResultSet
Parameters:
columnName - 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateBinaryStream

public void updateBinaryStream(java.lang.String columnName,
                               java.io.InputStream x,
                               int length)
                        throws java.sql.SQLException
Updates the designated column with a binary stream 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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateBinaryStream in interface java.sql.ResultSet
Parameters:
columnName - 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateCharacterStream

public void updateCharacterStream(java.lang.String columnName,
                                  java.io.Reader reader,
                                  int length)
                           throws java.sql.SQLException
Updates the designated column with a character stream 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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateCharacterStream in interface java.sql.ResultSet
Parameters:
columnName - 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateObject

public void updateObject(java.lang.String columnName,
                         java.lang.Object x,
                         int scale)
                  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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateObject in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
scale - for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types this value will be ignored.
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

updateObject

public void updateObject(java.lang.String columnName,
                         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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateObject in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
insertRow in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if a database access error occurs, 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 value
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
updateRow in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if a database access error occurs or if this method is called when the cursor is on the insert row
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
deleteRow in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if a database access error occurs or if this method is called when the cursor is on the insert row
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
refreshRow in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if a database access error occurs or if this method is called when the cursor is on the insert row
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
cancelRowUpdates in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if a database access error occurs or if this method is called when the cursor is on the insert row
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
moveToInsertRow in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if a database access error occurs or the result set is not updatable
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method is ignored.

Specified by:
moveToCurrentRow in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if a database access error occurs or the result set is not updatable
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 returns null.

Specified by:
getStatement in interface java.sql.ResultSet
Returns:
the Statment 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getObject

public java.lang.Object getObject(int i,
                                  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:

Including 1.7.2, HSQLDB does not support this feature.

This method always throws an SQLException, stating that the operation is not supported.

Specified by:
getObject in interface java.sql.ResultSet
Parameters:
i - 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getRef

public java.sql.Ref getRef(int i)
                    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 1.7.2, 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:
i - 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getBlob

public java.sql.Blob getBlob(int i)
                      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:

Starting with 1.7.2, this feature is supported.

Specified by:
getBlob in interface java.sql.ResultSet
Parameters:
i - 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
Since:
JDK 1.2

getClob

public java.sql.Clob getClob(int i)
                      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:

Starting with 1.7.2, this feature is supported.

Specified by:
getClob in interface java.sql.ResultSet
Parameters:
i - 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
Since:
JDK 1.2

getArray

public java.sql.Array getArray(int i)
                        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:

Including 1.7.2, HSQLDB does not support this feature.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
getArray in interface java.sql.ResultSet
Parameters:
i - 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getObject

public java.lang.Object getObject(java.lang.String colName,
                                  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:

Including 1.7.2, HSQLDB does not support this feature.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
getObject in interface java.sql.ResultSet
Parameters:
colName - the name of the column from which to retrieve the value
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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getRef

public java.sql.Ref getRef(java.lang.String colName)
                    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 1.7.2, HSQLDB does not support this feature.

This method always throws an SQLException, stating that the operartion is not supported.

Specified by:
getRef in interface java.sql.ResultSet
Parameters:
colName - the column name
Returns:
a Ref object representing the SQL REF value in the specified column
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getBlob

public java.sql.Blob getBlob(java.lang.String colName)
                      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:

Starting with 1.7.2, this feature is supported.

Specified by:
getBlob in interface java.sql.ResultSet
Parameters:
colName - the name of the column from which to retrieve the value
Returns:
a Blob object representing the SQL BLOB value in the specified column
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2

getClob

public java.sql.Clob getClob(java.lang.String colName)
                      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:

Starting with 1.7.2, this feature is supported.

Specified by:
getClob in interface java.sql.ResultSet
Parameters:
colName - the name of the column from which to retrieve the value
Returns:
a Clob object representing the SQL CLOB value in the specified column
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2

getArray

public java.sql.Array getArray(java.lang.String colName)
                        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:

Including 1.7.2, HSQLDB does not support this feature.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
getArray in interface java.sql.ResultSet
Parameters:
colName - the name of the column from which to retrieve the value
Returns:
an Array object representing the SQL ARRAY value in the specified column
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getDate

public java.sql.Date getDate(java.lang.String columnName,
                             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:
columnName - the SQL name of the column from which to retrieve the value
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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getTime

public java.sql.Time getTime(java.lang.String columnName,
                             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.

Specified by:
getTime in interface java.sql.ResultSet
Parameters:
columnName - the SQL 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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 anguage. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.

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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

getTimestamp

public java.sql.Timestamp getTimestamp(java.lang.String columnName,
                                       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.

Specified by:
getTimestamp in interface java.sql.ResultSet
Parameters:
columnName - the SQL 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
Since:
JDK 1.2 (JDK 1.1.x developers: read the new overview for jdbcResultSet)

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:

Including 1.7.2, HSQLDB does not support this feature.

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, or if a URL is malformed
Since:
JDK 1.4, HSQLDB 1.7.0

getURL

public java.net.URL getURL(java.lang.String columnName)
                    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:

Including 1.7.2, HSQLDB does not support this feature.

This method always throws an SQLException stating that the operation is not supported.

Specified by:
getURL in interface java.sql.ResultSet
Parameters:
columnName - the SQL 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 occurs or if a URL is malformed
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:

Including 1.7.2, HSQLDB does not support updateable result sets.

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
Since:
JDK 1.4, HSQLDB 1.7.0

updateRef

public void updateRef(java.lang.String columnName,
                      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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

Specified by:
updateRef in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.4, HSQLDB 1.7.0

updateBlob

public void updateBlob(java.lang.String columnName,
                       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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

Specified by:
updateBlob in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

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
Since:
JDK 1.4, HSQLDB 1.7.0

updateClob

public void updateClob(java.lang.String columnName,
                       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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

Specified by:
updateClob in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
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:

Including 1.7.2, HSQLDB does not support updateable result sets.

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
Since:
JDK 1.4, HSQLDB 1.7.0

updateArray

public void updateArray(java.lang.String columnName,
                        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:

Including 1.7.2, HSQLDB does not support updateable result sets.

This method always throws an SQLException, stating that the operation is not supported.

Specified by:
updateArray in interface java.sql.ResultSet
Parameters:
columnName - the name of the column
x - the new column value
Throws:
java.sql.SQLException - if a database access error occurs
Since:
JDK 1.4, HSQLDB 1.7.0


Copyright 2001 - 2004 HSQL Development Group. All Rights Reserved.