Java Platform 1.2

java.sql
Interface ResultSet


public abstract 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 Moves the cursor to the given row number in the result set.
 void afterLast()
          JDBC 2.0 Moves the cursor to the end of the result set, just after the last row.
 void beforeFirst()
          JDBC 2.0 Moves the cursor to the front of the result set, just before the first row.
 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 Moves the cursor to the first row in the result set.
 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 Gets the value of a column in the current row as a java.io.Reader.
 Reader getCharacterStream(String columnName)
          JDBC 2.0 Gets the value of a column in the current row as a java.io.Reader.
 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 Retrieves the current row number.
 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 Indicates whether the cursor is after the last row in the result set.
 boolean isBeforeFirst()
          JDBC 2.0 Indicates whether the cursor is before the first row in the result set.
 boolean isFirst()
          JDBC 2.0 Indicates whether the cursor is on the first row of the result set.
 boolean isLast()
          JDBC 2.0 Indicates whether the cursor is on the last row of the result set.
 boolean last()
          JDBC 2.0 Moves the cursor to the last row in the result set.
 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 Moves the cursor to the previous row in the result set.
 void refreshRow()
          JDBC 2.0 Refreshes the current row with its most recent value in the database.
 boolean relative(int rows)
          JDBC 2.0 Moves the cursor a relative number of rows, either positive or negative.
 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