com.gargoylesoftware.base.resource.jdbc

Class ResultSetWrapper

public final class ResultSetWrapper extends Object implements ResultSet

A table of data representing a database result set, which is usually generated by executing a statement that queries the database.

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

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


       Statement stmt = con.createStatement(
                                      ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
       ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
       // rs will be scrollable, will not show changes made by others,
       // and will be updatable

 
The ResultSet interface provides getXXX methods for retrieving column values from the current row. Values can be retrieved using either the index number of the column or the name of the column. In general, using the column index will be more efficient. Columns are numbered from 1. For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once.

For the getXXX methods, a JDBC driver attempts to convert the underlying data to the Java type specified in the XXX part of the getXXX method and returns a suitable Java value. The JDBC specification has a table showing the 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 a getXXX method is called with a column name and several columns have the same name, the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query that generated the result set. For columns that are NOT explicitly named in the query, it is best to use column numbers. If column names are used, there is no way for the programmer to guarantee that they actually refer to the intended columns.

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

The updateXXX methods may be used in two ways:

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

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

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

Version: $Revision: 1.3 $

Author: Mike Bowler

Field Summary
ResultSetdelegate_
booleanisOpen_
Constructor Summary
ResultSetWrapper(ResultSet resultSet)
Create a wrapper
Method Summary
booleanabsolute(int row)
Moves the cursor to the given row number in this ResultSet object.
voidafterLast()
Moves the cursor to the end of this ResultSet object, just after the last row.
voidbeforeFirst()
Moves the cursor to the front of this ResultSet object, just before the first row.
voidcancelRowUpdates()
Cancels the updates made to the current row in this ResultSet object.
voidcheckIsOpen()
voidclearWarnings()
Clears all warnings reported on this ResultSet object.
voidclose()
Releases this ResultSet object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.
voiddeleteRow()
Deletes the current row from this ResultSet object and from the underlying database.
intfindColumn(String columnName)
Maps the given ResultSet column name to its ResultSet column index.
booleanfirst()
Moves the cursor to the first row in this ResultSet object.
ArraygetArray(int i)
Returns the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.
ArraygetArray(String colName)
Returns the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.
InputStreamgetAsciiStream(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters.
InputStreamgetAsciiStream(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters.
BigDecimalgetBigDecimal(int columnIndex, int scale)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.BigDecimal in the Java programming language.
BigDecimalgetBigDecimal(String columnName, int scale)
Gets the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal in the Java programming language.
BigDecimalgetBigDecimal(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal with full precision.
BigDecimalgetBigDecimal(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal with full precision.
InputStreamgetBinaryStream(int columnIndex)
Gets the value of a column in the current row as a stream of Gets the value of the designated column in the current row of this ResultSet object as a binary stream of uninterpreted bytes.
InputStreamgetBinaryStream(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted byte s.
BlobgetBlob(int i)
Returns the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.
BlobgetBlob(String colName)
Returns the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.
booleangetBoolean(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.
booleangetBoolean(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.
bytegetByte(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.
bytegetByte(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.
byte[]getBytes(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a byte array in the Java programming language.
byte[]getBytes(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a byte array in the Java programming language.
ReadergetCharacterStream(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
ReadergetCharacterStream(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
ClobgetClob(int i)
Returns the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.
ClobgetClob(String colName)
Returns the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.
intgetConcurrency()
Returns the concurrency mode of this ResultSet object.
StringgetCursorName()
Gets the name of the SQL cursor used by this ResultSet object.
DategetDate(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
DategetDate(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
DategetDate(int columnIndex, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
DategetDate(String columnName, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.
ResultSetgetDelegate()
Return the wrapped object
doublegetDouble(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.
doublegetDouble(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.
intgetFetchDirection()
Returns the fetch direction for this ResultSet object.
intgetFetchSize()
Returns the fetch size for this ResultSet object.
floatgetFloat(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.
floatgetFloat(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.
intgetInt(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.
intgetInt(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.
longgetLong(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.
longgetLong(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.
ResultSetMetaDatagetMetaData()
Retrieves the number, types and properties of this ResultSet object's columns.
ObjectgetObject(int columnIndex)

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

ObjectgetObject(String columnName)

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

ObjectgetObject(int i, Map map)
Returns the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language.
ObjectgetObject(String colName, Map map)
Returns the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language.
RefgetRef(int i)
Returns the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.
RefgetRef(String colName)
Returns the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.
intgetRow()
Retrieves the current row number.
shortgetShort(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.
shortgetShort(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.
StatementgetStatement()
Returns the Statement object that produced this ResultSet object.
StringgetString(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
StringgetString(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
TimegetTime(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
TimegetTime(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
TimegetTime(int columnIndex, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
TimegetTime(String columnName, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.
TimestampgetTimestamp(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
TimestampgetTimestamp(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object.
TimestampgetTimestamp(int columnIndex, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
TimestampgetTimestamp(String columnName, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.
intgetType()
Returns the type of this ResultSet object.
InputStreamgetUnicodeStream(int columnIndex)
Gets the value of a column in the current row as a stream of Gets the value of the designated column in the current row of this ResultSet object as as a stream of Unicode characters.
InputStreamgetUnicodeStream(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a stream of Unicode characters.
URLgetURL(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
URLgetURL(String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.
SQLWarninggetWarnings()
Returns the first warning reported by calls on this ResultSet object.
voidinsertRow()
Inserts the contents of the insert row into this ResultSet objaect and into the database.
booleanisAfterLast()
Indicates whether the cursor is after the last row in this ResultSet object.
booleanisBeforeFirst()
Indicates whether the cursor is before the first row in this ResultSet object.
booleanisClosed()
Return true if this object is closed
booleanisFirst()
Indicates whether the cursor is on the first row of this ResultSet object.
booleanisLast()
Indicates whether the cursor is on the last row of this ResultSet object.
booleanlast()
Moves the cursor to the last row in this ResultSet object.
voidmoveToCurrentRow()
Moves the cursor to the remembered cursor position, usually the current row.
voidmoveToInsertRow()
Moves the cursor to the insert row.
booleannext()
Moves the cursor down one row from its current position.
booleanprevious()
Moves the cursor to the previous row in this ResultSet object.
voidrefreshRow()
Refreshes the current row with its most recent value in the database.
booleanrelative(int rows)
Moves the cursor a relative number of rows, either positive or negative.
booleanrowDeleted()
Indicates whether a row has been deleted.
booleanrowInserted()
Indicates whether the current row has had an insertion.
booleanrowUpdated()
Indicates whether the current row has been updated.
voidsetFetchDirection(int direction)
Gives a hint as to the direction in which the rows in this ResultSet object will be processed.
voidsetFetchSize(int rows)
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object.
voidupdateArray(int columnIndex, Array x)
Updates the designated column with a java.sql.Array value.
voidupdateArray(String columnName, Array x)
Updates the designated column with a java.sql.Array value.
voidupdateAsciiStream(int columnIndex, InputStream x, int length)
Updates the designated column with an ascii stream value.
voidupdateAsciiStream(String columnName, InputStream x, int length)
Updates the designated column with an ascii stream value.
voidupdateBigDecimal(int columnIndex, BigDecimal x)
Updates the designated column with a java.math.BigDecimal value.
voidupdateBigDecimal(String columnName, BigDecimal x)
Updates the designated column with a java.sql.BigDecimal value.
voidupdateBinaryStream(int columnIndex, InputStream x, int length)
Updates the designated column with a binary stream value.
voidupdateBinaryStream(String columnName, InputStream x, int length)
Updates the designated column with a binary stream value.
voidupdateBlob(int columnIndex, Blob x)
Updates the designated column with a java.sql.Blob value.
voidupdateBlob(String columnName, Blob x)
Updates the designated column with a java.sql.Blob value.
voidupdateBoolean(int columnIndex, boolean x)
Updates the designated column with a boolean value.
voidupdateBoolean(String columnName, boolean x)
Updates the designated column with a boolean value.
voidupdateByte(int columnIndex, byte x)
Updates the designated column with a byte value.
voidupdateByte(String columnName, byte x)
Updates the designated column with a byte value.
voidupdateBytes(int columnIndex, byte[] x)
Updates the designated column with a byte array value.
voidupdateBytes(String columnName, byte[] x)
Updates the designated column with a boolean value.
voidupdateCharacterStream(int columnIndex, Reader x, int length)
Updates the designated column with a character stream value.
voidupdateCharacterStream(String columnName, Reader reader, int length)
Updates the designated column with a character stream value.
voidupdateClob(int columnIndex, Clob x)
Updates the designated column with a java.sql.Clob value.
voidupdateClob(String columnName, Clob x)
Updates the designated column with a java.sql.Clob value.
voidupdateDate(int columnIndex, Date x)
Updates the designated column with a java.sql.Date value.
voidupdateDate(String columnName, Date x)
Updates the designated column with a java.sql.Date value.
voidupdateDouble(int columnIndex, double x)
Updates the designated column with a double value.
voidupdateDouble(String columnName, double x)
Updates the designated column with a double value.
voidupdateFloat(int columnIndex, float x)
Updates the designated column with a float value.
voidupdateFloat(String columnName, float x)
Updates the designated column with a float value.
voidupdateInt(int columnIndex, int x)
Updates the designated column with an int value.
voidupdateInt(String columnName, int x)
Updates the designated column with an int value.
voidupdateLong(int columnIndex, long x)
Updates the designated column with a long value.
voidupdateLong(String columnName, long x)
Updates the designated column with a long value.
voidupdateNull(int columnIndex)
Gives a nullable column a null value.
voidupdateNull(String columnName)
Updates the designated column with a null value.
voidupdateObject(int columnIndex, Object x, int scale)
Updates the designated column with an Object value.
voidupdateObject(int columnIndex, Object x)
Updates the designated column with an Object value.
voidupdateObject(String columnName, Object x, int scale)
Updates the designated column with an Object value.
voidupdateObject(String columnName, Object x)
Updates the designated column with an Object value.
voidupdateRef(int columnIndex, Ref x)
Updates the designated column with a java.sql.Ref value.
voidupdateRef(String columnName, Ref x)
Updates the designated column with a java.sql.Ref value.
voidupdateRow()
Updates the underlying database with the new contents of the current row of this ResultSet object.
voidupdateShort(int columnIndex, short x)
Updates the designated column with a short value.
voidupdateShort(String columnName, short x)
Updates the designated column with a short value.
voidupdateString(int columnIndex, String x)
Updates the designated column with a String value.
voidupdateString(String columnName, String x)
Updates the designated column with a String value.
voidupdateTime(int columnIndex, Time x)
Updates the designated column with a java.sql.Time value.
voidupdateTime(String columnName, Time x)
Updates the designated column with a java.sql.Time value.
voidupdateTimestamp(int columnIndex, Timestamp x)
Updates the designated column with a java.sql.Timestamp value.
voidupdateTimestamp(String columnName, Timestamp x)
Updates the designated column with a java.sql.Timestamp value.
booleanwasNull()
Reports whether the last column read had a value of SQL NULL .

Field Detail

delegate_

private ResultSet delegate_

isOpen_

private boolean isOpen_

Constructor Detail

ResultSetWrapper

public ResultSetWrapper(ResultSet resultSet)
Create a wrapper

Parameters: resultSet The resultSet that we are wrapping

Method Detail

absolute

public final boolean absolute(int row)
Moves the cursor to the given row number in this ResultSet object.

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

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

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

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

Parameters: row the row to move to

Returns: true if the cursor is on the result set; false otherwise

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

Since: 1.2

afterLast

public final void afterLast()
Moves the cursor to the end of this ResultSet object, just after the last row. This method has no effect if the result set contains no rows.

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

Since: 1.2

beforeFirst

public final void beforeFirst()
Moves the cursor to the front of this ResultSet object, just before the first row. This method has no effect if the result set contains no rows.

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

Since: 1.2

cancelRowUpdates

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

Throws: SQLException if a database access error occurs or if this method is called when the cursor is on the insert row

Since: 1.2

checkIsOpen

private void checkIsOpen()

clearWarnings

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

Throws: SQLException if a database access error occurs

close

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

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

Throws: SQLException if a database access error occurs

deleteRow

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

Throws: SQLException if a database access error occurs or if this method is called when the cursor is on the insert row

Since: 1.2

findColumn

public final int findColumn(String columnName)
Maps the given ResultSet column name to its ResultSet column index.

Parameters: columnName the name of the column

Returns: the column index of the given column name

Throws: SQLException if a database access error occurs

first

public final boolean first()
Moves the cursor to the first row in this ResultSet object.

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

Since: 1.2

getArray

public final Array getArray(int i)
Returns the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.

Parameters: i the first column is 1, the second is 2, ...

Returns: an Array object representing the SQL ARRAY value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getArray

public final Array getArray(String colName)
Returns the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.

Parameters: colName the name of the column from which to retrieve the value

Returns: an Array object representing the SQL ARRAY value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getAsciiStream

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

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

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

Returns: a Java input stream that delivers the database column value as a stream of one-byte ASCII characters; if the value is SQL NULL , the value returned is null

Throws: SQLException if a database access error occurs

getAsciiStream

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

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getXXX 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 , the value returned is null.

Throws: SQLException if a database access error occurs

getBigDecimal

public final BigDecimal getBigDecimal(int columnIndex, int scale)

Deprecated:

Gets the value of the designated column in the current row of this ResultSet object as a java.sql.BigDecimal in the Java programming language.

Parameters: columnIndex the first column is 1, the second is 2, ... scale the number of digits to the right of the decimal point

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getBigDecimal

public final BigDecimal getBigDecimal(String columnName, int scale)

Deprecated:

Gets the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal in the Java programming language.

Parameters: columnName the SQL name of the column scale the number of digits to the right of the decimal point

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getBigDecimal

public final BigDecimal getBigDecimal(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal 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 value returned is null in the Java programming language.

Throws: SQLException if a database access error occurs

Since: 1.2

getBigDecimal

public final BigDecimal getBigDecimal(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.math.BigDecimal with full precision.

Parameters: columnName the column name

Returns: the column value (full precision); if the value is SQL NULL , the value returned is null in the Java programming language.

Throws: SQLException if a database access error occurs

Since: 1.2

getBinaryStream

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

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

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

Returns: a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL NULL , the value returned is null

Throws: SQLException if a database access error occurs

getBinaryStream

public final InputStream getBinaryStream(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted byte s. 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 getXXX 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 , the result is null

Throws: SQLException if a database access error occurs

getBlob

public final Blob getBlob(int i)
Returns the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.

Parameters: i the first column is 1, the second is 2, ...

Returns: a Blob object representing the SQL BLOB value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getBlob

public final Blob getBlob(String colName)
Returns the value of the designated column in the current row of this ResultSet object as a Blob object in the Java programming language.

Parameters: colName the name of the column from which to retrieve the value

Returns: a Blob object representing the SQL BLOB value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getBoolean

public final boolean getBoolean(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is false

Throws: SQLException if a database access error occurs

getBoolean

public final boolean getBoolean(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a boolean in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is false

Throws: SQLException if a database access error occurs

getByte

public final byte getByte(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getByte

public final byte getByte(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a byte in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getBytes

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

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

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getBytes

public final byte[] getBytes(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a byte array in the Java programming language. The bytes represent the raw values returned by the driver.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getCharacterStream

public final Reader getCharacterStream(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.

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

Returns: a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language.

Throws: SQLException if a database access error occurs

Since: 1.2

getCharacterStream

public final Reader getCharacterStream(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.

Parameters: columnName the name of the column

Returns: a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language.

Throws: SQLException if a database access error occurs

Since: 1.2

getClob

public final Clob getClob(int i)
Returns the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.

Parameters: i the first column is 1, the second is 2, ...

Returns: a Clob object representing the SQL CLOB value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getClob

public final Clob getClob(String colName)
Returns the value of the designated column in the current row of this ResultSet object as a Clob object in the Java programming language.

Parameters: colName the name of the column from which to retrieve the value

Returns: a Clob object representing the SQL CLOB value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getConcurrency

public final int getConcurrency()
Returns the concurrency mode of this ResultSet object. The concurrency used is determined by the Statement object that created the result set.

Returns: the concurrency type, either CONCUR_READ_ONLY or CONCUR_UPDATABLE

Throws: SQLException if a database access error occurs

Since: 1.2

getCursorName

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

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

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

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

Returns: the SQL name for this ResultSet object's cursor

Throws: SQLException if a database access error occurs

getDate

public final Date getDate(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getDate

public final Date getDate(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getDate

public final Date getDate(int columnIndex, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.

Parameters: columnIndex the first column is 1, the second is 2, ... cal the java.util.Calendar object to use in constructing the date

Returns: the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs

Since: 1.2

getDate

public final Date getDate(String columnName, Calendar cal)
Returns the value of the designated column in the current row of this ResultSet object as a java.sql.Date object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.

Parameters: columnName the SQL name of the column from which to retrieve the value cal the java.util.Calendar object to use in constructing the date

Returns: the column value as a java.sql.Date object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs

Since: 1.2

getDelegate

public final ResultSet getDelegate()
Return the wrapped object

Returns: The wrapped object

getDouble

public final double getDouble(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getDouble

public final double getDouble(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getFetchDirection

public final int getFetchDirection()
Returns the fetch direction for this ResultSet object.

Returns: the current fetch direction for this ResultSet object

Throws: SQLException if a database access error occurs

Since: 1.2

getFetchSize

public final int getFetchSize()
Returns the fetch size for this ResultSet object.

Returns: the current fetch size for this ResultSet object

Throws: SQLException if a database access error occurs

Since: 1.2

getFloat

public final float getFloat(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getFloat

public final float getFloat(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a float in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getInt

public final int getInt(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getInt

public final int getInt(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getLong

public final long getLong(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getLong

public final long getLong(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a long in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getMetaData

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

Returns: the description of this ResultSet object's columns

Throws: SQLException if a database access error occurs

getObject

public final Object getObject(int columnIndex)

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

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

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

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 final Object getObject(String columnName)

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

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

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

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

getObject

public final Object getObject(int i, Map map)
Returns the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language. 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 a java.util.Map object that contains the mapping from SQL type names to classes in the Java programming language

Returns: an Object in the Java programming language representing the SQL value

Throws: SQLException if a database access error occurs

Since: 1.2

getObject

public final Object getObject(String colName, Map map)
Returns the value of the designated column in the current row of this ResultSet object as an Object in the Java programming language. 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 a java.util.Map object that contains the mapping from SQL type names to classes in the Java programming language

Returns: an Object representing the SQL value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getRef

public final Ref getRef(int i)
Returns the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.

Parameters: i the first column is 1, the second is 2, ...

Returns: a Ref object representing an SQL REF value

Throws: SQLException if a database access error occurs

Since: 1.2

getRef

public final Ref getRef(String colName)
Returns the value of the designated column in the current row of this ResultSet object as a Ref object in the Java programming language.

Parameters: colName the column name

Returns: a Ref object representing the SQL REF value in the specified column

Throws: SQLException if a database access error occurs

Since: 1.2

getRow

public final int getRow()
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

Since: 1.2

getShort

public final short getShort(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getShort

public final short getShort(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a short in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is 0

Throws: SQLException if a database access error occurs

getStatement

public final Statement getStatement()
Returns the Statement object that produced this ResultSet object. If the result set was generated some other way, such as by a DatabaseMetaData method, this method returns null .

Returns: the Statment object that produced this ResultSet object or null if the result set was produced some other way

Throws: SQLException if a database access error occurs

Since: 1.2

getString

public final String getString(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getString

public final String getString(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getTime

public final Time getTime(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getTime

public final Time getTime(String columnName)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Time object in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getTime

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

Parameters: columnIndex the first column is 1, the second is 2, ... cal the java.util.Calendar object to use in constructing the time

Returns: the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs

Since: 1.2

getTime

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

Parameters: columnName the SQL name of the column cal the java.util.Calendar object to use in constructing the time

Returns: the column value as a java.sql.Time object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs

Since: 1.2

getTimestamp

public final Timestamp getTimestamp(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as a java.sql.Timestamp object in the Java programming language.

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

Returns: the column value; if the value is SQL NULL, the value returned is null

Throws: SQLException if a database access error occurs

getTimestamp

public final Timestamp getTimestamp(String columnName)
Gets the value of the designated column in the current row of this ResultSet object 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 value returned is null

Throws: SQLException if a database access error occurs

getTimestamp

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

Parameters: columnIndex the first column is 1, the second is 2, ... cal the java.util.Calendar object to use in constructing the timestamp

Returns: the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs

Since: 1.2

getTimestamp

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

Parameters: columnName the SQL name of the column cal the java.util.Calendar object to use in constructing the date

Returns: the column value as a java.sql.Timestamp object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs

Since: 1.2

getType

public final int getType()
Returns the type of this ResultSet object. The type is determined by the Statement object that created the result set.

Returns: TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE , or TYPE_SCROLL_SENSITIVE

Throws: SQLException if a database access error occurs

Since: 1.2

getUnicodeStream

public final InputStream getUnicodeStream(int columnIndex)

Deprecated: use getCharacterStream in place of getUnicodeStream

Gets the value of a column in the current row as a stream of Gets the value of the designated column in the current row of this ResultSet object as as a stream of Unicode characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. 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 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 getXXX method implicitly closes the stream. Also, a stream may return 0 when the method InputStream.available is called whether there is data available or not.

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 in Java UTF-8 byte format; if the value is SQL NULL , the value returned is null

Throws: SQLException if a database access error occurs

getUnicodeStream

public final InputStream getUnicodeStream(String columnName)

Deprecated:

Gets the value of the designated column in the current row of this ResultSet object 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 getXXX 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 , the value returned is null.

Throws: SQLException if a database access error occurs

getURL

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

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

Returns: the column value as a java.net.URL object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs, or if a URL is malformed

Since: 1.4

getURL

public URL getURL(String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL object in the Java programming language.

Parameters: columnName the SQL name of the column

Returns: the column value as a java.net.URL object; if the value is SQL NULL, the value returned is null in the Java programming language

Throws: SQLException if a database access error occurs or if a URL is malformed

Since: 1.4

getWarnings

public final SQLWarning getWarnings()
Returns the first warning reported by calls on this ResultSet object. Subsequent warnings on this ResultSet object will be chained to the SQLWarning object that this method returns.

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

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 object reported or null

Throws: SQLException if a database access error occurs

insertRow

public final void insertRow()
Inserts the contents of the insert row into this ResultSet objaect and into the database. The cursor must be on the insert row when this method is called.

Throws: SQLException if a database access error occurs, if this method is called when the cursor is not on the insert row, or if not all of non-nullable columns in the insert row have been given a value

Since: 1.2

isAfterLast

public final boolean isAfterLast()
Indicates whether the cursor is after the last row in this ResultSet object.

Returns: true if the cursor is after the last row; false if the cursor is at any other position or the result set contains no rows

Throws: SQLException if a database access error occurs

Since: 1.2

isBeforeFirst

public final boolean isBeforeFirst()
Indicates whether the cursor is before the first row in this ResultSet object.

Returns: true if the cursor is before the first row; false if the cursor is at any other position or the result set contains no rows

Throws: SQLException if a database access error occurs

Since: 1.2

isClosed

public final boolean isClosed()
Return true if this object is closed

Returns: true if this object is closed

isFirst

public final boolean isFirst()
Indicates whether the cursor is on the first row of this ResultSet object.

Returns: true if the cursor is on the first row; false otherwise

Throws: SQLException if a database access error occurs

Since: 1.2

isLast

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

Returns: true if the cursor is on the last row; false otherwise

Throws: SQLException if a database access error occurs

Since: 1.2

last

public final boolean last()
Moves the cursor to the last row in this ResultSet object.

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

Since: 1.2

moveToCurrentRow

public final void moveToCurrentRow()
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

Since: 1.2

moveToInsertRow

public final void moveToInsertRow()
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. An updateXXX method 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

Since: 1.2

next

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

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

Returns: true if the new current row is valid; false if there are no more rows

Throws: SQLException if a database access error occurs

previous

public final boolean previous()
Moves the cursor to the previous row in this ResultSet object.

Note: Calling the method previous() is not the same as calling the method 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

Since: 1.2

refreshRow

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

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

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

Throws: SQLException if a database access error occurs or if this method is called when the cursor is on the insert row

Since: 1.2

relative

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

Note: Calling the method relative(1) is different from calling the method 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.

Parameters: rows the number of rows to move

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

Since: 1.2

rowDeleted

public final boolean rowDeleted()
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 this ResultSet object can detect deletions.

Returns: true if a row was deleted and deletions are detected; false otherwise

Throws: SQLException if a database access error occurs

rowInserted

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

Returns: true if a row has had an insertion and insertions are detected; false otherwise

Throws: SQLException if a database access error occurs

rowUpdated

public final boolean rowUpdated()
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

setFetchDirection

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

Parameters: direction The direction

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

Since: 1.2

setFetchSize

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

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

Since: 1.2

updateArray

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

Parameters: columnIndex the first column is 1, the second is 2, ... x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateArray

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

Parameters: columnName the name of the column x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateAsciiStream

public final void updateAsciiStream(int columnIndex, InputStream x, int length)
Updates the designated 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

Since: 1.2

updateAsciiStream

public final void updateAsciiStream(String columnName, InputStream x, int length)
Updates the designated 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 the length of the stream

Throws: SQLException if a database access error occurs

Since: 1.2

updateBigDecimal

public final void updateBigDecimal(int columnIndex, BigDecimal x)
Updates the designated column with a java.math.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

Since: 1.2

updateBigDecimal

public final void updateBigDecimal(String columnName, BigDecimal x)
Updates the designated column with a java.sql.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

Since: 1.2

updateBinaryStream

public final void updateBinaryStream(int columnIndex, InputStream x, int length)
Updates the designated 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

Since: 1.2

updateBinaryStream

public final void updateBinaryStream(String columnName, InputStream x, int length)
Updates the designated 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 the length of the stream

Throws: SQLException if a database access error occurs

Since: 1.2

updateBlob

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

Parameters: columnIndex the first column is 1, the second is 2, ... x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateBlob

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

Parameters: columnName the name of the column x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateBoolean

public final void updateBoolean(int columnIndex, boolean x)
Updates the designated 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

Since: 1.2

updateBoolean

public final void updateBoolean(String columnName, boolean x)
Updates the designated 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

Since: 1.2

updateByte

public final void updateByte(int columnIndex, byte x)
Updates the designated 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

Since: 1.2

updateByte

public final void updateByte(String columnName, byte x)
Updates the designated 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

Since: 1.2

updateBytes

public final void updateBytes(int columnIndex, byte[] x)
Updates the designated 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

Since: 1.2

updateBytes

public final void updateBytes(String columnName, byte[] x)
Updates the designated 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. 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

Since: 1.2

updateCharacterStream

public final void updateCharacterStream(int columnIndex, Reader x, int length)
Updates the designated 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

Since: 1.2

updateCharacterStream

public final void updateCharacterStream(String columnName, Reader reader, int length)
Updates the designated 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 reader the new column value length the length of the stream

Throws: SQLException if a database access error occurs

Since: 1.2

updateClob

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

Parameters: columnIndex the first column is 1, the second is 2, ... x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateClob

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

Parameters: columnName the name of the column x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateDate

public final void updateDate(int columnIndex, Date x)
Updates the designated column with a java.sql.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

Since: 1.2

updateDate

public final void updateDate(String columnName, Date x)
Updates the designated column with a java.sql.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

Since: 1.2

updateDouble

public final void updateDouble(int columnIndex, double x)
Updates the designated 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

Since: 1.2

updateDouble

public final void updateDouble(String columnName, double x)
Updates the designated 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

Since: 1.2

updateFloat

public final void updateFloat(int columnIndex, float x)
Updates the designated 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

Since: 1.2

updateFloat

public final void updateFloat(String columnName, float x)
Updates the designated 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

Since: 1.2

updateInt

public final void updateInt(int columnIndex, int x)
Updates the designated column with an int 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

Since: 1.2

updateInt

public final void updateInt(String columnName, int x)
Updates the designated column with an int 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

Since: 1.2

updateLong

public final void updateLong(int columnIndex, long x)
Updates the designated 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

Since: 1.2

updateLong

public final void updateLong(String columnName, long x)
Updates the designated 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

Since: 1.2

updateNull

public final void updateNull(int columnIndex)
Gives 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

Since: 1.2

updateNull

public final void updateNull(String columnName)
Updates the designated 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

Since: 1.2

updateObject

public final void updateObject(int columnIndex, Object x, int scale)
Updates the designated 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.DECIMA or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types this value will be ignored.

Throws: SQLException if a database access error occurs

Since: 1.2

updateObject

public final void updateObject(int columnIndex, Object x)
Updates the designated 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

Since: 1.2

updateObject

public final void updateObject(String columnName, Object x, int scale)
Updates the designated 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.DECIMA or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types this value will be ignored.

Throws: SQLException if a database access error occurs

Since: 1.2

updateObject

public final void updateObject(String columnName, Object x)
Updates the designated 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

Since: 1.2

updateRef

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

Parameters: columnIndex the first column is 1, the second is 2, ... x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateRef

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

Parameters: columnName the name of the column x the new column value

Throws: SQLException if a database access error occurs

Since: 1.4

updateRow

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

Throws: SQLException if a database access error occurs or if this method is called when the cursor is on the insert row

Since: 1.2

updateShort

public final void updateShort(int columnIndex, short x)
Updates the designated 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

Since: 1.2

updateShort

public final void updateShort(String columnName, short x)
Updates the designated 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

Since: 1.2

updateString

public final void updateString(int columnIndex, String x)
Updates the designated 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

Since: 1.2

updateString

public final void updateString(String columnName, String x)
Updates the designated 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

Since: 1.2

updateTime

public final void updateTime(int columnIndex, Time x)
Updates the designated column with a java.sql.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

Since: 1.2

updateTime

public final void updateTime(String columnName, Time x)
Updates the designated column with a java.sql.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

Since: 1.2

updateTimestamp

public final void updateTimestamp(int columnIndex, Timestamp x)
Updates the designated column with a java.sql.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

Since: 1.2

updateTimestamp

public final void updateTimestamp(String columnName, Timestamp x)
Updates the designated column with a java.sql.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

Since: 1.2

wasNull

public final boolean wasNull()
Reports whether the last column read had a value of SQL NULL . Note that you must first call one of the getXXX methods on a column to try to read its value and then call the method wasNull to see if the value read was SQL NULL.

Returns: true if the last column value read was SQL NULL and false otherwise

Throws: SQLException if a database access error occurs