JavaTM 2 Platform
Standard Edition

java.sql
Interface ResultSet


public interface ResultSet

A ResultSet provides access to a table of data. A ResultSet object is usually generated by executing a Statement.

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

The getXXX methods retrieve column values for the current row. You can retrieve values 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, ResultSet columns within each row should be read in left-to-right order and each column should be read only once.

For the getXXX methods, the JDBC driver attempts to convert the underlying data to the specified Java type and returns a suitable Java value. See the JDBC specification for allowable mappings from SQL types to Java types with the ResultSet.getXXX methods.

Column names used as input to getXXX methods are case insensitive. When performing a getXXX using a column name, if several columns have the same name, then 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. 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 ResultSet is automatically closed by the Statement that generated it when that Statement 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's columns are provided by the ResulSetMetaData object returned by the getMetaData method.

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

Field Summary
static int CONCUR_READ_ONLY
          JDBC 2.0 The concurrency mode for a ResultSet object that may NOT be updated.
static int CONCUR_UPDATABLE
          JDBC 2.0 The concurrency mode for a ResultSet object that may be updated.
static int FETCH_FORWARD
          JDBC 2.0 The rows in a result set will be processed in a forward direction; first-to-last.
static int FETCH_REVERSE
          JDBC 2.0 The rows in a result set will be processed in a reverse direction; last-to-first.
static int FETCH_UNKNOWN
          JDBC 2.0 The order in which rows in a result set will be processed is unknown.
static int TYPE_FORWARD_ONLY
          JDBC 2.0 The type for a ResultSet object whose cursor may move only forward.
static int TYPE_SCROLL_INSENSITIVE
          JDBC 2.0 The type for a ResultSet object that is scrollable but generally not sensitive to changes made by others.
static int TYPE_SCROLL_SENSITIVE
          JDBC 2.0 The type for a ResultSet object that is scrollable and generally sensitive to changes made by others.
 
Method Summary
 boolean absolute(int row)
          JDBC 2.0
 void afterLast()
          JDBC 2.0
 void beforeFirst()
          JDBC 2.0
 void cancelRowUpdates()
          JDBC 2.0 Cancels the updates made to a row.
 void clearWarnings()
          After this call getWarnings returns null until a new warning is reported for this ResultSet.
 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()
          JDBC 2.0 Deletes the current row from the result set and the underlying database.
 int findColumn(String columnName)
          Maps the given Resultset column name to its ResultSet column index.
 boolean first()
          JDBC 2.0
 Array getArray(int i)
          JDBC 2.0 Gets an SQL ARRAY value from the current row of this ResultSet object.
 Array getArray(String colName)
          JDBC 2.0 Gets an SQL ARRAY value in the current row of this ResultSet object.
 InputStream getAsciiStream(int columnIndex)
          Gets the value of a column in the current row as a stream of ASCII characters.
 InputStream getAsciiStream(String columnName)
          Gets the value of a column in the current row as a stream of ASCII characters.
 BigDecimal getBigDecimal(int columnIndex)
          JDBC 2.0 Gets the value of a column in the current row as a java.math.BigDecimal object with full precision.
 BigDecimal getBigDecimal(int columnIndex, int scale)
          Deprecated.  
 BigDecimal getBigDecimal(String columnName)
          JDBC 2.0 Gets the value of a column in the current row as a java.math.BigDecimal object with full precision.
 BigDecimal getBigDecimal(String columnName, int scale)
          Deprecated.  
 InputStream getBinaryStream(int columnIndex)
          Gets the value of a column in the current row as a stream of uninterpreted bytes.
 InputStream getBinaryStream(String columnName)
          Gets the value of a column in the current row as a stream of uninterpreted bytes.
 Blob getBlob(int i)
          JDBC 2.0 Gets a BLOB value in the current row of this ResultSet object.
 Blob getBlob(String colName)
          JDBC 2.0 Gets a BLOB value in the current row of this ResultSet object.
 boolean getBoolean(int columnIndex)
          Gets the value of a column in the current row as a Java boolean.
 boolean getBoolean(String columnName)
          Gets the value of a column in the current row as a Java boolean.
 byte getByte(int columnIndex)
          Gets the value of a column in the current row as a Java byte.
 byte getByte(String columnName)
          Gets the value of a column in the current row as a Java byte.
 byte[] getBytes(int columnIndex)
          Gets the value of a column in the current row as a Java byte array.
 byte[] getBytes(String columnName)
          Gets the value of a column in the current row as a Java byte array.
 Reader getCharacterStream(int columnIndex)
          JDBC 2.0
 Reader getCharacterStream(String columnName)
          JDBC 2.0
 Clob getClob(int i)
          JDBC 2.0 Gets a CLOB value in the current row of this ResultSet object.
 Clob getClob(String colName)
          JDBC 2.0 Gets a CLOB value in the current row of this ResultSet object.
 int getConcurrency()
          JDBC 2.0 Returns the concurrency mode of this result set.
 String getCursorName()
          Gets the name of the SQL cursor used by this ResultSet.
 Date getDate(int columnIndex)
          Gets the value of a column in the current row as a java.sql.Date object.
 Date getDate(int columnIndex, Calendar cal)
          JDBC 2.0 Gets the value of a column in the current row as a java.sql.Date object.
 Date getDate(String columnName)
          Gets the value of a column in the current row as a java.sql.Date object.
 Date getDate(String columnName, Calendar cal)
          Gets the value of a column in the current row as a java.sql.Date object.
 double getDouble(int columnIndex)
          Gets the value of a column in the current row as a Java double.
 double getDouble(String columnName)
          Gets the value of a column in the current row as a Java double.
 int getFetchDirection()
          JDBC 2.0 Returns the fetch direction for this result set.
 int getFetchSize()
          JDBC 2.0 Returns the fetch size for this result set.
 float getFloat(int columnIndex)
          Gets the value of a column in the current row as a Java float.
 float getFloat(String columnName)
          Gets the value of a column in the current row as a Java float.
 int getInt(int columnIndex)
          Gets the value of a column in the current row as a Java int.
 int getInt(String columnName)
          Gets the value of a column in the current row as a Java int.
 long getLong(int columnIndex)
          Gets the value of a column in the current row as a Java long.
 long getLong(String columnName)
          Gets the value of a column in the current row as a Java long.
 ResultSetMetaData getMetaData()
          Retrieves the number, types and properties of a ResultSet's columns.
 Object getObject(int columnIndex)
          Gets the value of a column in the current row as a Java object.
 Object getObject(int i, Map map)
          JDBC 2.0 Returns the value of a column in the current row as a Java object.
 Object getObject(String columnName)
          Gets the value of a column in the current row as a Java object.
 Object getObject(String colName, Map map)
          JDBC 2.0 Returns the value in the specified column as a Java object.
 Ref getRef(int i)
          JDBC 2.0 Gets a REF(<structured-type>) column value from the current row.
 Ref getRef(String colName)
          JDBC 2.0 Gets a REF(<structured-type>) column value from the current row.
 int getRow()
          JDBC 2.0
 short getShort(int columnIndex)
          Gets the value of a column in the current row as a Java short.
 short getShort(String columnName)
          Gets the value of a column in the current row as a Java short.
 Statement getStatement()
          JDBC 2.0 Returns the Statement that produced this ResultSet object.
 String getString(int columnIndex)
          Gets the value of a column in the current row as a Java String.
 String getString(String columnName)
          Gets the value of a column in the current row as a Java String.
 Time getTime(int columnIndex)
          Gets the value of a column in the current row as a java.sql.Time object.
 Time getTime(int columnIndex, Calendar cal)
          Gets the value of a column in the current row as a java.sql.Time object.
 Time getTime(String columnName)
          Gets the value of a column in the current row as a java.sql.Time object.
 Time getTime(String columnName, Calendar cal)
          Gets the value of a column in the current row as a java.sql.Time object.
 Timestamp getTimestamp(int columnIndex)
          Gets the value of a column in the current row as a java.sql.Timestamp object.
 Timestamp getTimestamp(int columnIndex, Calendar cal)
          Gets the value of a column in the current row as a java.sql.Timestamp object.
 Timestamp getTimestamp(String columnName)
          Gets the value of a column in the current row as a java.sql.Timestamp object.
 Timestamp getTimestamp(String columnName, Calendar cal)
          Gets the value of a column in the current row as a java.sql.Timestamp object.
 int getType()
          JDBC 2.0 Returns the type of this result set.
 InputStream getUnicodeStream(int columnIndex)
          Deprecated.  
 InputStream getUnicodeStream(String columnName)
          Deprecated.  
 SQLWarning getWarnings()
          The first warning reported by calls on this ResultSet is returned.
 void insertRow()
          JDBC 2.0 Inserts the contents of the insert row into the result set and the database.
 boolean isAfterLast()
          JDBC 2.0
 boolean isBeforeFirst()
          JDBC 2.0
 boolean isFirst()
          JDBC 2.0
 boolean isLast()
          JDBC 2.0
 boolean last()
          JDBC 2.0
 void moveToCurrentRow()
          JDBC 2.0 Moves the cursor to the remembered cursor position, usually the current row.
 void moveToInsertRow()
          JDBC 2.0 Moves the cursor to the insert row.
 boolean next()
          Moves the cursor down one row from its current position.
 boolean previous()
          JDBC 2.0
 void refreshRow()
          JDBC 2.0 Refreshes the current row with its most recent value in the database.
 boolean relative(int rows)
          JDBC 2.0
 boolean rowDeleted()
          JDBC 2.0 Indicates whether a row has been deleted.
 boolean rowInserted()
          JDBC 2.0 Indicates whether the current row has had an insertion.
 boolean rowUpdated()
          JDBC 2.0 Indicates whether the current row has been updated.
 void setFetchDirection(int direction)
          JDBC 2.0 Gives a hint as to the direction in which the rows in this result set will be processed.
 void setFetchSize(int rows)
          JDBC 2.0 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 result set.
 void updateAsciiStream(int columnIndex, InputStream x, int length)
          JDBC 2.0 Updates a column with an ascii stream value.
 void updateAsciiStream(String columnName, InputStream x, int length)
          JDBC 2.0 Updates a column with an ascii stream value.
 void updateBigDecimal(int columnIndex, BigDecimal x)
          JDBC 2.0 Updates a column with a BigDecimal value.
 void updateBigDecimal(String columnName, BigDecimal x)
          JDBC 2.0 Updates a column with a BigDecimal value.
 void updateBinaryStream(int columnIndex, InputStream x, int length)
          JDBC 2.0 Updates a column with a binary stream value.
 void updateBinaryStream(String columnName, InputStream x, int length)
          JDBC 2.0 Updates a column with a binary stream value.
 void updateBoolean(int columnIndex, boolean x)
          JDBC 2.0 Updates a column with a boolean value.
 void updateBoolean(String columnName, boolean x)
          JDBC 2.0 Updates a column with a boolean value.
 void updateByte(int columnIndex, byte x)
          JDBC 2.0 Updates a column with a byte value.
 void updateByte(String columnName, byte x)
          JDBC 2.0 Updates a column with a byte value.
 void updateBytes(int columnIndex, byte[] x)
          JDBC 2.0 Updates a column with a byte array value.
 void updateBytes(String columnName, byte[] x)
          JDBC 2.0 Updates a column with a byte array value.
 void updateCharacterStream(int columnIndex, Reader x, int length)
          JDBC 2.0 Updates a column with a character stream value.
 void updateCharacterStream(String columnName, Reader reader, int length)
          JDBC 2.0 Updates a column with a character stream value.
 void updateDate(int columnIndex, Date x)
          JDBC 2.0 Updates a column with a Date value.
 void updateDate(String columnName, Date x)
          JDBC 2.0 Updates a column with a Date value.
 void updateDouble(int columnIndex, double x)
          JDBC 2.0 Updates a column with a Double value.
 void updateDouble(String columnName, double x)
          JDBC 2.0 Updates a column with a double value.
 void updateFloat(int columnIndex, float x)
          JDBC 2.0 Updates a column with a float value.
 void updateFloat(String columnName, float x)
          JDBC 2.0 Updates a column with a float value.
 void updateInt(int columnIndex, int x)
          JDBC 2.0 Updates a column with an integer value.
 void updateInt(String columnName, int x)
          JDBC 2.0 Updates a column with an integer value.
 void updateLong(int columnIndex, long x)
          JDBC 2.0 Updates a column with a long value.
 void updateLong(String columnName, long x)
          JDBC 2.0 Updates a column with a long value.
 void updateNull(int columnIndex)
          JDBC 2.0 Give a nullable column a null value.
 void updateNull(String columnName)
          JDBC 2.0 Updates a column with a null value.
 void updateObject(int columnIndex, Object x)
          JDBC 2.0 Updates a column with an Object value.
 void updateObject(int columnIndex, Object x, int scale)
          JDBC 2.0 Updates a column with an Object value.
 void updateObject(String columnName, Object x)
          JDBC 2.0 Updates a column with an Object value.
 void updateObject(String columnName, Object x, int scale)
          JDBC 2.0 Updates a column with an Object value.
 void updateRow()
          JDBC 2.0 Updates the underlying database with the new contents of the current row.
 void updateShort(int columnIndex, short x)
          JDBC 2.0 Updates a column with a short value.
 void updateShort(String columnName, short x)
          JDBC 2.0 Updates a column with a short value.
 void updateString(int columnIndex, String x)
          JDBC 2.0 Updates a column with a String value.
 void updateString(String columnName, String x)
          JDBC 2.0 Updates a column with a String value.
 void updateTime(int columnIndex, Time x)
          JDBC 2.0 Updates a column with a Time value.
 void updateTime(String columnName, Time x)
          JDBC 2.0 Updates a column with a Time value.
 void updateTimestamp(int columnIndex, Timestamp x)
          JDBC 2.0 Updates a column with a Timestamp value.
 void updateTimestamp(String columnName, Timestamp x)
          JDBC 2.0 Updates a column with a Timestamp value.
 boolean wasNull()
          Reports whether the last column read had a value of SQL NULL.
 

Field Detail

FETCH_FORWARD

public static final int FETCH_FORWARD
JDBC 2.0 The rows in a result set will be processed in a forward direction; first-to-last.

FETCH_REVERSE

public static final int FETCH_REVERSE
JDBC 2.0 The rows in a result set will be processed in a reverse direction; last-to-first.

FETCH_UNKNOWN

public static final int FETCH_UNKNOWN
JDBC 2.0 The order in which rows in a result set will be processed is unknown.

TYPE_FORWARD_ONLY

public static final int TYPE_FORWARD_ONLY
JDBC 2.0 The type for a ResultSet object whose cursor may move only forward.

TYPE_SCROLL_INSENSITIVE

public static final int TYPE_SCROLL_INSENSITIVE
JDBC 2.0 The type for a ResultSet object that is scrollable but generally not sensitive to changes made by others.

TYPE_SCROLL_SENSITIVE

public static final int TYPE_SCROLL_SENSITIVE
JDBC 2.0 The type for a ResultSet object that is scrollable and generally sensitive to changes made by others.

CONCUR_READ_ONLY

public static final int CONCUR_READ_ONLY
JDBC 2.0 The concurrency mode for a ResultSet object that may NOT be updated.

CONCUR_UPDATABLE

public static final int CONCUR_UPDATABLE
JDBC 2.0 The concurrency mode for a ResultSet object that may be updated.
Method Detail

next

public boolean next()
             throws 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 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. The ResultSet's warning chain is cleared when a new row is read.

Returns:
true if the new current row is valid; false if there are no more rows
Throws:
SQLException - if a database access error occurs

close

public void close()
           throws 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 is automatically closed by the Statement that generated it when that Statement is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results. A ResultSet is also automatically closed when it is garbage collected.

Throws:
SQLException - if a database access error occurs

wasNull

public boolean wasNull()
                throws SQLException
Reports whether the last column read had a value of SQL NULL. Note that you must first call getXXX on a column to try to read its value and then call wasNull() to see if the value read was SQL NULL.
Returns:
true if last column read was SQL NULL and false otherwise
Throws:
SQLException - if a database access error occurs

getString

public String getString(int columnIndex)
                 throws SQLException
Gets the value of a column in the current row as a Java String.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getBoolean

public boolean getBoolean(int columnIndex)
                   throws SQLException
Gets the value of a column in the current row as a Java boolean.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is false
Throws:
SQLException - if a database access error occurs

getByte

public byte getByte(int columnIndex)
             throws SQLException
Gets the value of a column in the current row as a Java byte.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getShort

public short getShort(int columnIndex)
               throws SQLException
Gets the value of a column in the current row as a Java short.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getInt

public int getInt(int columnIndex)
           throws SQLException
Gets the value of a column in the current row as a Java int.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getLong

public long getLong(int columnIndex)
             throws SQLException
Gets the value of a column in the current row as a Java long.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getFloat

public float getFloat(int columnIndex)
               throws SQLException
Gets the value of a column in the current row as a Java float.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getDouble

public double getDouble(int columnIndex)
                 throws SQLException
Gets the value of a column in the current row as a Java double.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getBigDecimal

public BigDecimal getBigDecimal(int columnIndex,
                                int scale)
                         throws SQLException
Deprecated.  

Gets the value of a column in the current row as a java.math.BigDecimal object.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
scale - the number of digits to the right of the decimal
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getBytes

public byte[] getBytes(int columnIndex)
                throws SQLException
Gets the value of a column in the current row as a Java byte array. The bytes represent the raw values returned by the driver.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getDate

public Date getDate(int columnIndex)
             throws SQLException
Gets the value of a column in the current row as a java.sql.Date object.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTime

public Time getTime(int columnIndex)
             throws SQLException
Gets the value of a column in the current row as a java.sql.Time object.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTimestamp

public Timestamp getTimestamp(int columnIndex)
                       throws SQLException
Gets the value of a column in the current row as a java.sql.Timestamp object.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getAsciiStream

public InputStream getAsciiStream(int columnIndex)
                           throws SQLException
Gets the value of a column in the current row 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 get method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

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 then the result is null.
Throws:
SQLException - if a database access error occurs

getUnicodeStream

public InputStream getUnicodeStream(int columnIndex)
                             throws SQLException
Deprecated.  

Gets the value of a column in the current row as a stream of Unicode 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 Unicode. The byte format of the Unicode stream must Java UTF-8, as specified in the Java Virtual Machine Specification.

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 get method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

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 then the result is null.
Throws:
SQLException - if a database access error occurs

getBinaryStream

public InputStream getBinaryStream(int columnIndex)
                            throws SQLException
Gets the value of a column in the current row 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 get method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

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 then the result is null.
Throws:
SQLException - if a database access error occurs

getString

public String getString(String columnName)
                 throws SQLException
Gets the value of a column in the current row as a Java String.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getBoolean

public boolean getBoolean(String columnName)
                   throws SQLException
Gets the value of a column in the current row as a Java boolean.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is false
Throws:
SQLException - if a database access error occurs

getByte

public byte getByte(String columnName)
             throws SQLException
Gets the value of a column in the current row as a Java byte.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getShort

public short getShort(String columnName)
               throws SQLException
Gets the value of a column in the current row as a Java short.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getInt

public int getInt(String columnName)
           throws SQLException
Gets the value of a column in the current row as a Java int.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getLong

public long getLong(String columnName)
             throws SQLException
Gets the value of a column in the current row as a Java long.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getFloat

public float getFloat(String columnName)
               throws SQLException
Gets the value of a column in the current row as a Java float.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getDouble

public double getDouble(String columnName)
                 throws SQLException
Gets the value of a column in the current row as a Java double.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
SQLException - if a database access error occurs

getBigDecimal

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

Gets the value of a column in the current row as a java.math.BigDecimal object.
Parameters:
columnName - the SQL name of the column
scale - the number of digits to the right of the decimal
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getBytes

public byte[] getBytes(String columnName)
                throws SQLException
Gets the value of a column in the current row as a Java byte array. The bytes represent the raw values returned by the driver.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getDate

public Date getDate(String columnName)
             throws SQLException
Gets the value of a column in the current row as a java.sql.Date object.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTime

public Time getTime(String columnName)
             throws SQLException
Gets the value of a column in the current row as a java.sql.Time object.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTimestamp

public Timestamp getTimestamp(String columnName)
                       throws SQLException
Gets the value of a column in the current row as a java.sql.Timestamp object.
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getAsciiStream

public InputStream getAsciiStream(String columnName)
                           throws SQLException
Gets the value of a column in the current row 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 get method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

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 then the result is null.
Throws:
SQLException - if a database access error occurs

getUnicodeStream

public InputStream getUnicodeStream(String columnName)
                             throws SQLException
Deprecated.  

Gets the value of a column in the current row as a stream of Unicode 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 Unicode. The byte format of the Unicode stream must be Java UTF-8, as defined in the Java Virtual Machine Specification.

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 get method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

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 then the result is null.
Throws:
SQLException - if a database access error occurs

getBinaryStream

public InputStream getBinaryStream(String columnName)
                            throws SQLException
Gets the value of a column in the current row 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. The JDBC driver will do any necessary conversion from the database format into uninterpreted bytes.

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 get method implicitly closes the stream. Also, a stream may return 0 when the method available is called whether there is data available or not.

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 then the result is null.
Throws:
SQLException - if a database access error occurs

getWarnings

public SQLWarning getWarnings()
                       throws SQLException

The first warning reported by calls on this ResultSet is returned. Subsequent ResultSet warnings will be chained to this SQLWarning.

The warning chain is automatically cleared each time a new row is read.

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.

Returns:
the first SQLWarning or null
Throws:
SQLException - if a database access error occurs

clearWarnings

public void clearWarnings()
                   throws SQLException
After this call getWarnings returns null until a new warning is reported for this ResultSet.
Throws:
SQLException - if a database access error occurs

getCursorName

public String getCursorName()
                     throws SQLException
Gets the name of the SQL cursor used by this ResultSet.

In SQL, a result table is retrieved through a cursor that is named. The current row of a result 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 the 'for update' clause is omitted the positioned updates may fail.

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

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

Returns:
the ResultSet's SQL cursor name
Throws:
SQLException - if a database access error occurs

getMetaData

public ResultSetMetaData getMetaData()
                              throws SQLException
Retrieves the number, types and properties of a ResultSet's columns.
Returns:
the description of a ResultSet's columns
Throws:
SQLException - if a database access error occurs

getObject

public Object getObject(int columnIndex)
                 throws SQLException

Gets the value of a column in the current row as a Java object.

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

This method may also be used to read datatabase-specific abstract data types. JDBC 2.0 In the JDBC 2.0 API, the behavior of method getObject is extended to materialize data of SQL user-defined types. When the 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()).

Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
a java.lang.Object holding the column value
Throws:
SQLException - if a database access error occurs

getObject

public Object getObject(String columnName)
                 throws SQLException

Gets the value of a column in the current row as a Java object.

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

This method may also be used to read datatabase-specific abstract data types. JDBC 2.0 In the JDBC 2.0 API, the behavior of method getObject is extended to materialize data of SQL user-defined types. When the 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()).

Parameters:
columnName - the SQL name of the column
Returns:
a java.lang.Object holding the column value.
Throws:
SQLException - if a database access error occurs

findColumn

public int findColumn(String columnName)
               throws SQLException
Maps the given Resultset column name to its ResultSet column index.
Parameters:
columnName - the name of the column
Returns:
the column index
Throws:
SQLException - if a database access error occurs

getCharacterStream

public Reader getCharacterStream(int columnIndex)
                          throws SQLException
JDBC 2.0

Gets the value of a column in the current row as a java.io.Reader.

Parameters:
columnIndex - the first column is 1, the second is 2, ...

getCharacterStream

public Reader getCharacterStream(String columnName)
                          throws SQLException
JDBC 2.0

Gets the value of a column in the current row as a java.io.Reader.

Parameters:
columnName - the name of the column
Returns:
the value in the specified column as a java.io.Reader

getBigDecimal

public BigDecimal getBigDecimal(int columnIndex)
                         throws SQLException
JDBC 2.0 Gets the value of a column in the current row as a java.math.BigDecimal object with full precision.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value (full precision); if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getBigDecimal

public BigDecimal getBigDecimal(String columnName)
                         throws SQLException
JDBC 2.0 Gets the value of a column in the current row as a java.math.BigDecimal object with full precision.
Parameters:
columnName - the column name
Returns:
the column value (full precision); if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

isBeforeFirst

public boolean isBeforeFirst()
                      throws SQLException
JDBC 2.0

Indicates whether the cursor is before the first row in the result set.

Returns:
true if the cursor is before the first row, false otherwise. Returns false when the result set contains no rows.
Throws:
SQLException - if a database access error occurs

isAfterLast

public boolean isAfterLast()
                    throws SQLException
JDBC 2.0

Indicates whether the cursor is after the last row in the result set.

Returns:
true if the cursor is after the last row, false otherwise. Returns false when the result set contains no rows.
Throws:
SQLException - if a database access error occurs

isFirst

public boolean isFirst()
                throws SQLException
JDBC 2.0

Indicates whether the cursor is on the first row of the result set.

Returns:
true if the cursor is on the first row, false otherwise.
Throws:
SQLException - if a database access error occurs

isLast

public boolean isLast()
               throws SQLException
JDBC 2.0

Indicates whether the cursor is on the last row of the result set. 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.

Returns:
true if the cursor is on the last row, false otherwise.
Throws:
SQLException - if a database access error occurs

beforeFirst

public void beforeFirst()
                 throws SQLException
JDBC 2.0

Moves the cursor to the front of the result set, just before the first row. Has no effect if the result set contains no rows.

Throws:
SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY

afterLast

public void afterLast()
               throws SQLException
JDBC 2.0

Moves the cursor to the end of the result set, just after the last row. Has no effect if the result set contains no rows.

Throws:
SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY

first

public boolean first()
              throws SQLException
JDBC 2.0

Moves the cursor to the first row in the result set.

Returns:
true if the cursor is on a valid row; false if there are no rows in the result set
Throws:
SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY

last

public boolean last()
             throws SQLException
JDBC 2.0

Moves the cursor to the last row in the result set.

Returns:
true if the cursor is on a valid row; false if there are no rows in the result set
Throws:
SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY.

getRow

public int getRow()
           throws SQLException
JDBC 2.0

Retrieves the current row number. The first row is number 1, the second number 2, and so on.

Returns:
the current row number; 0 if there is no current row
Throws:
SQLException - if a database access error occurs

absolute

public boolean absolute(int row)
                 throws SQLException
JDBC 2.0

Moves the cursor to the given row number in the result set.

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 absolute(-1) positions the cursor on the last row, absolute(-2) indicates 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/after the first/last row, respectively.

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

Returns:
true if the cursor is on the result set; false otherwise
Throws:
SQLException - if a database access error occurs or row is 0, or result set type is TYPE_FORWARD_ONLY.

relative

public boolean relative(int rows)
                 throws SQLException
JDBC 2.0

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 relative(1) is different from calling next() because is makes sense to call next() when there is no current row, for example, when the cursor is positioned before the first row or after the last row of the result set.

Returns:
true if the cursor is on a row; false otherwise
Throws:
SQLException - if a database access error occurs, there is no current row, or the result set type is TYPE_FORWARD_ONLY

previous

public boolean previous()
                 throws SQLException
JDBC 2.0

Moves the cursor to the previous row in the result set.

Note: previous() is not the same as relative(-1) because it makes sense to callprevious() when there is no current row.

Returns:
true if the cursor is on a valid row; false if it is off the result set
Throws:
SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY

setFetchDirection

public void setFetchDirection(int direction)
                       throws SQLException
JDBC 2.0 Gives a hint as to the direction in which the rows in this result set will be processed. The initial value is determined by the statement that produced the result set. The fetch direction may be changed at any time.
Throws:
SQLException - if a database access error occurs or the result set type is TYPE_FORWARD_ONLY and the fetch direction is not FETCH_FORWARD.

getFetchDirection

public int getFetchDirection()
                      throws SQLException
JDBC 2.0 Returns the fetch direction for this result set.
Returns:
the current fetch direction for this result set
Throws:
SQLException - if a database access error occurs

setFetchSize

public void setFetchSize(int rows)
                  throws SQLException
JDBC 2.0 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 result set. 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 that created the result set. The fetch size may be changed at any time.
Parameters:
rows - the number of rows to fetch
Throws:
SQLException - if a database access error occurs or the condition 0 <= rows <= this.getMaxRows() is not satisfied.

getFetchSize

public int getFetchSize()
                 throws SQLException
JDBC 2.0 Returns the fetch size for this result set.
Returns:
the current fetch size for this result set
Throws:
SQLException - if a database access error occurs

getType

public int getType()
            throws SQLException
JDBC 2.0 Returns the type of this result set. The type is determined by the statement that created the result set.
Returns:
TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, or TYPE_SCROLL_SENSITIVE
Throws:
SQLException - if a database access error occurs

getConcurrency

public int getConcurrency()
                   throws SQLException
JDBC 2.0 Returns the concurrency mode of this result set. The concurrency used is determined by the statement that created the result set.
Returns:
the concurrency type, CONCUR_READ_ONLY or CONCUR_UPDATABLE
Throws:
SQLException - if a database access error occurs

rowUpdated

public boolean rowUpdated()
                   throws SQLException
JDBC 2.0 Indicates whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.
Returns:
true if the row has been visibly updated by the owner or another, and updates are detected
Throws:
SQLException - if a database access error occurs
See Also:
DatabaseMetaData.updatesAreDetected(int)

rowInserted

public boolean rowInserted()
                    throws SQLException
JDBC 2.0 Indicates whether the current row has had an insertion. The value returned depends on whether or not the result set can detect visible inserts.
Returns:
true if a row has had an insertion and insertions are detected
Throws:
SQLException - if a database access error occurs
See Also:
DatabaseMetaData.insertsAreDetected(int)

rowDeleted

public boolean rowDeleted()
                   throws SQLException
JDBC 2.0 Indicates 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 the result set can detect deletions.
Returns:
true if a row was deleted and deletions are detected
Throws:
SQLException - if a database access error occurs
See Also:
DatabaseMetaData.deletesAreDetected(int)

updateNull

public void updateNull(int columnIndex)
                throws SQLException
JDBC 2.0 Give a nullable column a null value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Throws:
SQLException - if a database access error occurs

updateBoolean

public void updateBoolean(int columnIndex,
                          boolean x)
                   throws SQLException
JDBC 2.0 Updates a column with a boolean value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateByte

public void updateByte(int columnIndex,
                       byte x)
                throws SQLException
JDBC 2.0 Updates a column with a byte value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateShort

public void updateShort(int columnIndex,
                        short x)
                 throws SQLException
JDBC 2.0 Updates a column with a short value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateInt

public void updateInt(int columnIndex,
                      int x)
               throws SQLException
JDBC 2.0 Updates a column with an integer value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateLong

public void updateLong(int columnIndex,
                       long x)
                throws SQLException
JDBC 2.0 Updates a column with a long value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateFloat

public void updateFloat(int columnIndex,
                        float x)
                 throws SQLException
JDBC 2.0 Updates a column with a float value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateDouble

public void updateDouble(int columnIndex,
                         double x)
                  throws SQLException
JDBC 2.0 Updates a column with a Double value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateBigDecimal

public void updateBigDecimal(int columnIndex,
                             BigDecimal x)
                      throws SQLException
JDBC 2.0 Updates a column with a BigDecimal value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateString

public void updateString(int columnIndex,
                         String x)
                  throws SQLException
JDBC 2.0 Updates a column with a String value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateBytes

public void updateBytes(int columnIndex,
                        byte[] x)
                 throws SQLException
JDBC 2.0 Updates a column with a byte array value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateDate

public void updateDate(int columnIndex,
                       Date x)
                throws SQLException
JDBC 2.0 Updates a column with a Date value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateTime

public void updateTime(int columnIndex,
                       Time x)
                throws SQLException
JDBC 2.0 Updates a column with a Time value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateTimestamp

public void updateTimestamp(int columnIndex,
                            Timestamp x)
                     throws SQLException
JDBC 2.0 Updates a column with a Timestamp value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateAsciiStream

public void updateAsciiStream(int columnIndex,
                              InputStream x,
                              int length)
                       throws SQLException
JDBC 2.0 Updates a column with an ascii stream value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs

updateBinaryStream

public void updateBinaryStream(int columnIndex,
                               InputStream x,
                               int length)
                        throws SQLException
JDBC 2.0 Updates a column with a binary stream value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs

updateCharacterStream

public void updateCharacterStream(int columnIndex,
                                  Reader x,
                                  int length)
                           throws SQLException
JDBC 2.0 Updates a column with a character stream value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs

updateObject

public void updateObject(int columnIndex,
                         Object x,
                         int scale)
                  throws SQLException
JDBC 2.0 Updates a column with an Object value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
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. For all other types this value will be ignored.
Throws:
SQLException - if a database access error occurs

updateObject

public void updateObject(int columnIndex,
                         Object x)
                  throws SQLException
JDBC 2.0 Updates a column with an Object value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs

updateNull

public void updateNull(String columnName)
                throws SQLException
JDBC 2.0 Updates a column with a null value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
Throws:
SQLException - if a database access error occurs

updateBoolean

public void updateBoolean(String columnName,
                          boolean x)
                   throws SQLException
JDBC 2.0 Updates a column with a boolean value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateByte

public void updateByte(String columnName,
                       byte x)
                throws SQLException
JDBC 2.0 Updates a column with a byte value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateShort

public void updateShort(String columnName,
                        short x)
                 throws SQLException
JDBC 2.0 Updates a column with a short value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateInt

public void updateInt(String columnName,
                      int x)
               throws SQLException
JDBC 2.0 Updates a column with an integer value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateLong

public void updateLong(String columnName,
                       long x)
                throws SQLException
JDBC 2.0 Updates a column with a long value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateFloat

public void updateFloat(String columnName,
                        float x)
                 throws SQLException
JDBC 2.0 Updates a column with a float value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateDouble

public void updateDouble(String columnName,
                         double x)
                  throws SQLException
JDBC 2.0 Updates a column with a double value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateBigDecimal

public void updateBigDecimal(String columnName,
                             BigDecimal x)
                      throws SQLException
JDBC 2.0 Updates a column with a BigDecimal value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateString

public void updateString(String columnName,
                         String x)
                  throws SQLException
JDBC 2.0 Updates a column with a String value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateBytes

public void updateBytes(String columnName,
                        byte[] x)
                 throws SQLException
JDBC 2.0 Updates a column with a byte array value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateDate

public void updateDate(String columnName,
                       Date x)
                throws SQLException
JDBC 2.0 Updates a column with a Date value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateTime

public void updateTime(String columnName,
                       Time x)
                throws SQLException
JDBC 2.0 Updates a column with a Time value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateTimestamp

public void updateTimestamp(String columnName,
                            Timestamp x)
                     throws SQLException
JDBC 2.0 Updates a column with a Timestamp value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

updateAsciiStream

public void updateAsciiStream(String columnName,
                              InputStream x,
                              int length)
                       throws SQLException
JDBC 2.0 Updates a column with an ascii stream value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
length - of the stream
Throws:
SQLException - if a database access error occurs

updateBinaryStream

public void updateBinaryStream(String columnName,
                               InputStream x,
                               int length)
                        throws SQLException
JDBC 2.0 Updates a column with a binary stream value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
length - of the stream
Throws:
SQLException - if a database access error occurs

updateCharacterStream

public void updateCharacterStream(String columnName,
                                  Reader reader,
                                  int length)
                           throws SQLException
JDBC 2.0 Updates a column with a character stream value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
length - of the stream
Throws:
SQLException - if a database access error occurs

updateObject

public void updateObject(String columnName,
                         Object x,
                         int scale)
                  throws SQLException
JDBC 2.0 Updates a column with an Object value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
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. For all other types this value will be ignored.
Throws:
SQLException - if a database access error occurs

updateObject

public void updateObject(String columnName,
                         Object x)
                  throws SQLException
JDBC 2.0 Updates a column with an Object value. The updateXXX methods are used to update column values in the current row, or the insert row. The updateXXX methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.
Parameters:
columnName - the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs

insertRow

public void insertRow()
               throws SQLException
JDBC 2.0 Inserts the contents of the insert row into the result set and the database. Must be on the insert row when this method is called.
Throws:
SQLException - if a database access error occurs, if called when not on the insert row, or if not all of non-nullable columns in the insert row have been given a value

updateRow

public void updateRow()
               throws SQLException
JDBC 2.0 Updates the underlying database with the new contents of the current row. Cannot be called when on the insert row.
Throws:
SQLException - if a database access error occurs or if called when on the insert row

deleteRow

public void deleteRow()
               throws SQLException
JDBC 2.0 Deletes the current row from the result set and the underlying database. Cannot be called when on the insert row.
Throws:
SQLException - if a database access error occurs or if called when on the insert row.

refreshRow

public void refreshRow()
                throws SQLException
JDBC 2.0 Refreshes the current row with its most recent value in the database. Cannot be called when 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 updateXXX, but before calling updateRow, then the updates made to the row are lost. Calling the method refreshRow frequently will likely slow performance.
Throws:
SQLException - if a database access error occurs or if called when on the insert row

cancelRowUpdates

public void cancelRowUpdates()
                      throws SQLException
JDBC 2.0 Cancels the updates made to a row. This method may be called after calling an updateXXX method(s) and before calling updateRow to rollback the updates made to a row. If no updates have been made or updateRow has already been called, then this method has no effect.
Throws:
SQLException - if a database access error occurs or if called when on the insert row

moveToInsertRow

public void moveToInsertRow()
                     throws SQLException
JDBC 2.0 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 updateXXX methods prior to inserting the row into the result set. Only the updateXXX, getXXX, 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. The method updateXXX must be called before a getXXX method can be called on a column value.
Throws:
SQLException - if a database access error occurs or the result set is not updatable

moveToCurrentRow

public void moveToCurrentRow()
                      throws SQLException
JDBC 2.0 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.
Throws:
SQLException - if a database access error occurs or the result set is not updatable

getStatement

public Statement getStatement()
                       throws SQLException
JDBC 2.0 Returns the Statement that produced this ResultSet object. If the result set was generated some other way, such as by a DatabaseMetaData method, this method returns null.
Returns:
the Statment that produced the result set or null if the result set was produced some other way
Throws:
SQLException - if a database access error occurs

getObject

public Object getObject(int i,
                        Map map)
                 throws SQLException
JDBC 2.0 Returns the value of a column in the current row as a Java object. This method uses the given Map object for the custom mapping of the SQL structured or distinct type that is being retrieved.
Parameters:
i - the first column is 1, the second is 2, ...
map - the mapping from SQL type names to Java classes
Returns:
an object representing the SQL value

getRef

public Ref getRef(int i)
           throws SQLException
JDBC 2.0 Gets a REF(<structured-type>) column value from the current row.
Parameters:
i - the first column is 1, the second is 2, ...
Returns:
a Ref object representing an SQL REF value

getBlob

public Blob getBlob(int i)
             throws SQLException
JDBC 2.0 Gets a BLOB value in the current row of this ResultSet object.
Parameters:
i - the first column is 1, the second is 2, ...
Returns:
a Blob object representing the SQL BLOB value in the specified column

getClob

public Clob getClob(int i)
             throws SQLException
JDBC 2.0 Gets a CLOB value in the current row of this ResultSet object.
Parameters:
i - the first column is 1, the second is 2, ...
Returns:
a Clob object representing the SQL CLOB value in the specified column

getArray

public Array getArray(int i)
               throws SQLException
JDBC 2.0 Gets an SQL ARRAY value from the current row of this ResultSet object.
Parameters:
i - the first column is 1, the second is 2, ...
Returns:
an Array object representing the SQL ARRAY value in the specified column

getObject

public Object getObject(String colName,
                        Map map)
                 throws SQLException
JDBC 2.0 Returns the value in the specified column as a Java object. This method uses the specified Map object for custom mapping if appropriate.
Parameters:
colName - the name of the column from which to retrieve the value
map - the mapping from SQL type names to Java classes
Returns:
an object representing the SQL value in the specified column

getRef

public Ref getRef(String colName)
           throws SQLException
JDBC 2.0 Gets a REF(<structured-type>) column value from the current row.
Parameters:
colName - the column name
Returns:
a Ref object representing the SQL REF value in the specified column

getBlob

public Blob getBlob(String colName)
             throws SQLException
JDBC 2.0 Gets a BLOB value in the current row of this ResultSet object.
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

getClob

public Clob getClob(String colName)
             throws SQLException
JDBC 2.0 Gets a CLOB value in the current row of this ResultSet object.
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

getArray

public Array getArray(String colName)
               throws SQLException
JDBC 2.0 Gets an SQL ARRAY value in the current row of this ResultSet object.
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

getDate

public Date getDate(int columnIndex,
                    Calendar cal)
             throws SQLException
JDBC 2.0 Gets the value of a column in the current row as a java.sql.Date object. This method uses the given calendar to construct an appropriate millisecond value for the Date if the underlying database does not store timezone information.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
cal - the calendar to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getDate

public Date getDate(String columnName,
                    Calendar cal)
             throws SQLException
Gets the value of a column in the current row as a java.sql.Date object. This method uses the given calendar to construct an appropriate millisecond value for the Date, if the underlying database does not store timezone information.
Parameters:
columnName - the SQL name of the column from which to retrieve the value
cal - the calendar to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTime

public Time getTime(int columnIndex,
                    Calendar cal)
             throws SQLException
Gets the value of a column in the current row as a java.sql.Time object. This method uses the given calendar to construct an appropriate millisecond value for the Time if the underlying database does not store timezone information.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
cal - the calendar to use in constructing the time
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTime

public Time getTime(String columnName,
                    Calendar cal)
             throws SQLException
Gets the value of a column in the current row as a java.sql.Time object. This method uses the given calendar to construct an appropriate millisecond value for the Time if the underlying database does not store timezone information.
Parameters:
columnName - the SQL name of the column
cal - the calendar to use in constructing the time
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTimestamp

public Timestamp getTimestamp(int columnIndex,
                              Calendar cal)
                       throws SQLException
Gets the value of a column in the current row as a java.sql.Timestamp object. This method uses the given calendar to construct an appropriate millisecond value for the Timestamp if the underlying database does not store timezone information.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
cal - the calendar to use in constructing the timestamp
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

getTimestamp

public Timestamp getTimestamp(String columnName,
                              Calendar cal)
                       throws SQLException
Gets the value of a column in the current row as a java.sql.Timestamp object. This method uses the given calendar to construct an appropriate millisecond value for the Timestamp if the underlying database does not store timezone information.
Parameters:
columnName - the SQL name of the column
cal - the calendar to use in constructing the timestamp
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if a database access error occurs

JavaTM 2 Platform
Standard Edition

Submit a bug or feature
Java, Java 2D, and JDBC are a trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.