## org.firebirdsql.jdbc
Class AbstractResultSet

    java.lang.Object
      org.firebirdsql.jdbc.AbstractResultSet

All Implemented Interfaces:
  ResultSet, Wrapper, FBObjectListener.FetcherListener, Synchronizable

Direct Known Subclasses:
  FBResultSet

    public abstract class AbstractResultSet

extends Object
implements ResultSet, Synchronizable, FBObjectListener.FetcherListener

Implementation of `ResultSet` interface.

Author:
  David Jencks, Roman Rokytskyy

Field Summary
`protected GDSHelper` `gdsHelper`
`byte[][]` `row`
`XSQLVAR[]` `xsqlvars`

Fields inherited from interface java.sql.ResultSet
`CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE`

Constructor Summary
`protected` `AbstractResultSet(GDSHelper gdsHelper, AbstractStatement fbStatement, AbstractIscStmtHandle stmt, FBObjectListener.ResultSetListener listener, boolean trimStrings, int rsType, int rsConcurrency, int rsHoldability, boolean cached)` Creates a new `FBResultSet` instance.
`protected` `AbstractResultSet(XSQLVAR[] xsqlvars, ArrayList rows)`

Method Summary
`boolean` `absolute(int row)` Moves the cursor to the given row number in this `ResultSet` object.
`protected void` `addWarning(SQLWarning warning)`
`void` `afterLast()` Moves the cursor to the end of this `ResultSet` object, just after the last row.
`void` `allRowsFetched(org.firebirdsql.jdbc.FBFetcher fetcher)` Notify listener that underlying fetcher fetched all rows.
`void` `beforeFirst()` Moves the cursor to the front of this `ResultSet` object, just before the first row.
`void` `cancelRowUpdates()` Cancels the updates made to the current row in this `ResultSet` object.
`protected void` `checkCursorMove()` Check if statement is open and prepare statement for cursor move.
`void` `clearWarnings()` Clears all warnings reported on this `ResultSet` object.
`void` `close()` Releases this `ResultSet` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.
`void` `deleteRow()` Deletes the current row from this `ResultSet` object and from the underlying database.
`void` `fetcherClosed(org.firebirdsql.jdbc.FBFetcher fetcher)` Notify listener that underlying fetcher is closed.
`int` `findColumn(String columnName)` Maps the given `ResultSet` column name to its `ResultSet` column index.
`boolean` `first()` Moves the cursor to the first row in this `ResultSet` object.
`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.
`Array` `getArray(String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.
`InputStream` `getAsciiStream(int columnIndex)` Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters.
`InputStream` `getAsciiStream(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `InputStream`.
`BigDecimal` `getBigDecimal(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a BigDecimal object.
`BigDecimal` `getBigDecimal(int columnIndex, int scale)` Deprecated.
`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.
`BigDecimal` `getBigDecimal(String columnName, int scale)` Deprecated.
`InputStream` `getBinaryStream(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a binary InputStream.
`InputStream` `getBinaryStream(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a binary `InputStream`.
`Blob` `getBlob(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a Blob object.
`Blob` `getBlob(String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.
`boolean` `getBoolean(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `boolean` value.
`boolean` `getBoolean(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` value.
`byte` `getByte(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `byte` value.
`byte` `getByte(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` value.
`byte[]` `getBytes(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `byte` array.
`byte[]` `getBytes(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array.
`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.
`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.
`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.
`Clob` `getClob(String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.
`int` `getConcurrency()` Returns the concurrency mode of this `ResultSet` object.
`String` `getCursorName()` Gets the name of the SQL cursor used by this `ResultSet` object.
`Date` `getDate(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `Date` object.
`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.
`Date` `getDate(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Date`.
`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.
`double` `getDouble(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `double` value.
`double` `getDouble(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` value.
`String` `getExecutionPlan()`
`int` `getFetchDirection()` Returns the fetch direction for this `ResultSet` object.
`int` `getFetchSize()` Returns the fetch size for this `ResultSet` object.
`FBField` `getField(int columnIndex)` Get the `FBField` object at the given column index
`FBField` `getField(int columnIndex, boolean checkRowPosition)` Factory method for the field access objects
`FBField` `getField(String columnName)` Get a `FBField` by name.
`float` `getFloat(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `float` value.
`float` `getFloat(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` value.
`int` `getHoldability()`
`int` `getInt(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as an `int` value.
`int` `getInt(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` value.
`long` `getLong(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `long` value.
`long` `getLong(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` value.
`ResultSetMetaData` `getMetaData()` Retrieves the number, types and properties of this `ResultSet` object's columns.
`Object` `getObject(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as an `Object`.
`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.
`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.
`Object` `getObject(String columnName, 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.
`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.
`Ref` `getRef(String columnName)` Returns the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.
`int` `getRow()` Retrieves the current row number.
`short` `getShort(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `short` value.
`short` `getShort(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` value.
`Statement` `getStatement()` Returns the `Statement` object that produced this `ResultSet` object.
`String` `getString(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `String` object.
`String` `getString(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String`.
`Object` `getSynchronizationObject()` Get synchronization object.
`Time` `getTime(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `Time` object.
`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.
`Time` `getTime(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Time` object.
`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.
`Timestamp` `getTimestamp(int columnIndex)` Retrieve the value of the designated column in the current row of this ResultSet as a `Timestamp` object.
`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.
`Timestamp` `getTimestamp(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Timestamp` object.
`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.
`int` `getType()` Returns the type of this `ResultSet` object.
`InputStream` `getUnicodeStream(int columnIndex)` Deprecated.
`InputStream` `getUnicodeStream(String columnName)` Deprecated.
`URL` `getURL(int param1)` This operation is not supported
`URL` `getURL(String param1)` This operation is not supported
`SQLWarning` `getWarnings()` Returns the first warning reported by calls on this `ResultSet` object.
`protected XSQLVAR` `getXsqlvar(int columnIndex)` Returns the XSQLVAR structure for the specified column.
`void` `insertRow()` Inserts the contents of the insert row into this `ResultSet` objaect and into the database.
`boolean` `isAfterLast()` Indicates whether the cursor is after the last row in this `ResultSet` object.
`boolean` `isBeforeFirst()` Indicates whether the cursor is before the first row in this `ResultSet` object.
`boolean` `isClosed()`
`boolean` `isFirst()` Indicates whether the cursor is on the first row of this `ResultSet` object.
`boolean` `isLast()` Indicates whether the cursor is on the last row of this `ResultSet` object.
`boolean` `last()` Moves the cursor to the last row in this `ResultSet` object.
`void` `moveToCurrentRow()` Moves the cursor to the remembered cursor position, usually the current row.
`void` `moveToInsertRow()` Moves the cursor to the insert row.
`boolean` `next()` Moves the cursor down one row from its current position.
`boolean` `previous()` Moves the cursor to the previous row in this `ResultSet` object.
`void` `refreshRow()` Refreshes the current row with its most recent value in the database.
`boolean` `relative(int rows)` Moves the cursor a relative number of rows, either positive or negative.
`void` `rowChanged(org.firebirdsql.jdbc.FBFetcher fetcher, byte[][] newRow)` Notify listener that underlying row was changed.
`boolean` `rowDeleted()` Indicates whether a row has been deleted.
`boolean` `rowInserted()` Indicates whether the current row has had an insertion.
`boolean` `rowUpdated()` Indicates whether the current row has been updated.
`void` `setFetchDirection(int direction)` Gives a hint as to the direction in which the rows in this `ResultSet` object will be processed.
`void` `setFetchSize(int rows)` Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this `ResultSet` object.
`void` `updateArray(int param1, Array param2)` This operation is not supported
`void` `updateArray(String param1, Array param2)` This operation is not supported
`void` `updateAsciiStream(int columnIndex, InputStream x, int length)` Updates the designated column with an ascii stream value.
`void` `updateAsciiStream(String columnName, InputStream x, int length)` Updates the designated column with an ascii stream value.
`void` `updateBigDecimal(int columnIndex, BigDecimal x)` Updates the designated column with a `java.math.BigDecimal` value.
`void` `updateBigDecimal(String columnName, BigDecimal x)` Updates the designated column with a `java.sql.BigDecimal` value.
`void` `updateBinaryStream(int columnIndex, InputStream x, int length)` Updates the designated column with a binary stream value.
`void` `updateBinaryStream(String columnName, InputStream x, int length)` Updates the designated column with a binary stream value.
`void` `updateBlob(int param1, Blob param2)` This operation is not supported
`void` `updateBlob(String param1, Blob param2)` This operation is not supported
`void` `updateBoolean(int columnIndex, boolean x)` Updates the designated column with a `boolean` value.
`void` `updateBoolean(String columnName, boolean x)` Updates the designated column with a `boolean` value.
`void` `updateByte(int columnIndex, byte x)` Updates the designated column with a `byte` value.
`void` `updateByte(String columnName, byte x)` Updates the designated column with a `byte` value.
`void` `updateBytes(int columnIndex, byte[] x)` Updates the designated column with a `byte` array value.
`void` `updateBytes(String columnName, byte[] x)` Updates the designated column with a `boolean` value.
`void` `updateCharacterStream(int columnIndex, Reader x, int length)` Updates the designated column with a character stream value.
`void` `updateCharacterStream(String columnName, Reader reader, int length)` Updates the designated column with a character stream value.
`void` `updateClob(int param1, Clob param2)` This operation is not supported
`void` `updateClob(String param1, Clob param2)` This operation is not supported
`void` `updateDate(int columnIndex, Date x)` Updates the designated column with a `java.sql.Date` value.
`void` `updateDate(String columnName, Date x)` Updates the designated column with a `java.sql.Date` value.
`void` `updateDouble(int columnIndex, double x)` Updates the designated column with a `double` value.
`void` `updateDouble(String columnName, double x)` Updates the designated column with a `double` value.
`void` `updateFloat(int columnIndex, float x)` Updates the designated column with a `float` value.
`void` `updateFloat(String columnName, float x)` Updates the designated column with a `float` value.
`void` `updateInt(int columnIndex, int x)` Updates the designated column with an `int` value.
`void` `updateInt(String columnName, int x)` Updates the designated column with an `int` value.
`void` `updateLong(int columnIndex, long x)` Updates the designated column with a `long` value.
`void` `updateLong(String columnName, long x)` Updates the designated column with a `long` value.
`void` `updateNull(int columnIndex)` Gives a nullable column a null value.
`void` `updateNull(String columnName)` Updates the designated column with a `null` value.
`void` `updateObject(int columnIndex, Object x)` Updates the designated column with an `Object` value.
`void` `updateObject(int columnIndex, Object x, int scale)` Updates the designated column with an `Object` value.
`void` `updateObject(String columnName, Object x)` Updates the designated column with an `Object` value.
`void` `updateObject(String columnName, Object x, int scale)` Updates the designated column with an `Object` value.
`void` `updateRef(int param1, Ref param2)` This operation is not supported
`void` `updateRef(String param1, Ref param2)` This operation is not supported
`void` `updateRow()` Updates the underlying database with the new contents of the current row of this `ResultSet` object.
`void` `updateShort(int columnIndex, short x)` Updates the designated column with a `short` value.
`void` `updateShort(String columnName, short x)` Updates the designated column with a `short` value.
`void` `updateString(int columnIndex, String x)` Updates the designated column with a `String` value.
`void` `updateString(String columnName, String x)` Updates the designated column with a `String` value.
`void` `updateTime(int columnIndex, Time x)` Updates the designated column with a `java.sql.Time` value.
`void` `updateTime(String columnName, Time x)` Updates the designated column with a `java.sql.Time` value.
`void` `updateTimestamp(int columnIndex, Timestamp x)` Updates the designated column with a `java.sql.Timestamp` value.
`void` `updateTimestamp(String columnName, Timestamp x)` Updates the designated column with a `java.sql.Timestamp` value.
`boolean` `wasNull()` Reports whether the last column read had a value of SQL `NULL`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface java.sql.ResultSet

`getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getRowId, getRowId, getSQLXML, getSQLXML, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateRowId, updateRowId, updateSQLXML, updateSQLXML`

Methods inherited from interface java.sql.Wrapper
`isWrapperFor, unwrap`

Field Detail

### gdsHelper

    protected GDSHelper gdsHelper

### xsqlvars

    public XSQLVAR[] xsqlvars

### row

    public byte[][] row

Constructor Detail

### AbstractResultSet

    protected AbstractResultSet(GDSHelper gdsHelper,
                                AbstractStatement fbStatement,
                                AbstractIscStmtHandle stmt,
                                FBObjectListener.ResultSetListener listener,
                                boolean trimStrings,
                                int rsType,
                                int rsConcurrency,
                                int rsHoldability,
                                boolean cached)
                         throws SQLException

  Creates a new `FBResultSet` instance.

  Parameters:
    `gdsHelper` - a `AbstractConnection` value
    `fbStatement` - a `AbstractStatement` value
    `stmt` - an `isc_stmt_handle` value
  Throws:
    `SQLException`

### AbstractResultSet

    protected AbstractResultSet(XSQLVAR[] xsqlvars,
                                ArrayList rows)
                         throws SQLException

Throws:
  `SQLException`

Method Detail

### allRowsFetched

    public void allRowsFetched(org.firebirdsql.jdbc.FBFetcher fetcher)
                        throws SQLException

  Description copied from interface: `FBObjectListener.FetcherListener`
  Notify listener that underlying fetcher fetched all rows.

  Specified by:
    `allRowsFetched` in interface `FBObjectListener.FetcherListener`
  Parameters:
    `fetcher` - fetcher that fetched all rows.
  Throws:
    `SQLException`

### fetcherClosed

    public void fetcherClosed(org.firebirdsql.jdbc.FBFetcher fetcher)
                       throws SQLException

  Description copied from interface: `FBObjectListener.FetcherListener`
  Notify listener that underlying fetcher is closed.

  Specified by:
    `fetcherClosed` in interface `FBObjectListener.FetcherListener`
  Parameters:
    `fetcher` - fetcher that was closed.
  Throws:
    `SQLException`

### rowChanged

    public void rowChanged(org.firebirdsql.jdbc.FBFetcher fetcher,
                           byte[][] newRow)
                    throws SQLException

  Description copied from interface: `FBObjectListener.FetcherListener`
  Notify listener that underlying row was changed.

  Specified by:
    `rowChanged` in interface `FBObjectListener.FetcherListener`
  Parameters:
    `fetcher` - instance of `FBFetcher` that caused this event.
    `newRow` - new row.
  Throws:
    `SQLException`

### checkCursorMove

    protected void checkCursorMove()
                            throws SQLException

  Check if statement is open and prepare statement for cursor move.

  Throws:
    `SQLException` - if statement is closed.

### getSynchronizationObject

    public Object getSynchronizationObject()
                                    throws SQLException

  Description copied from interface: `Synchronizable`
  Get synchronization object.

  Specified by:
    `getSynchronizationObject` in interface `Synchronizable`
  Returns:
    object, cannot be `null`.
  Throws:
    `SQLException` - if something went wrong.

### next

    public boolean next()
                 throws SQLException

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

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

  Specified by:
    `next` in interface `ResultSet`
  Returns:
    `true` if the new current row is valid; `false` if there are no more rows
  Throws:
    `SQLException` - if a database access error occurs

### close

    public void close()
               throws SQLException

  Releases this `ResultSet` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.

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

  Specified by:
    `close` in interface `ResultSet`
  Throws:
    `SQLException` - if a database access error occurs

### wasNull

    public boolean wasNull()
                    throws SQLException

  Reports whether the last column read had a value of SQL `NULL`. Note that you must first call 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`.

  Specified by:
    `wasNull` in interface `ResultSet`
  Returns:
    `true` if the last column value read was SQL `NULL` and `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs

### getAsciiStream

    public InputStream getAsciiStream(int columnIndex)
                               throws SQLException

  Retrieves the value of the designated column in the current row of this ResultSet object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values.

  Specified by:
    `getAsciiStream` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    a stream of ascii characters
  Throws:
    `SQLException` - if this parameter cannot be retrieved as an ASCII stream

### getBigDecimal

    public BigDecimal getBigDecimal(int columnIndex)
                             throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a BigDecimal object.

  Specified by:
    `getBigDecimal` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The value of the field as a BigDecimal
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a BigDecimal

### getBinaryStream

    public InputStream getBinaryStream(int columnIndex)
                                throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a binary InputStream.

  Specified by:
    `getBinaryStream` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The value of the field as a binary input stream
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a binary InputStream

### getBlob

    public Blob getBlob(int columnIndex)
                 throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a Blob object.

  Specified by:
    `getBlob` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The value of the field as a Blob object
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a Blob

### getBoolean

    public boolean getBoolean(int columnIndex)
                       throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `boolean` value.

  Specified by:
    `getBoolean` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `boolean` value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `boolean`

### getByte

    public byte getByte(int columnIndex)
                 throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `byte` value.

  Specified by:
    `getByte` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `byte` value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `byte`

### getBytes

    public byte[] getBytes(int columnIndex)
                    throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `byte` array.

  Specified by:
    `getBytes` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `byte` array value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `byte` array

### getDate

    public Date getDate(int columnIndex)
                 throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `Date` object.

  Specified by:
    `getDate` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `Date` object of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `Date` object

### getDouble

    public double getDouble(int columnIndex)
                     throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `double` value.

  Specified by:
    `getDouble` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `double` value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `double`

### getFloat

    public float getFloat(int columnIndex)
                   throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `float` value.

  Specified by:
    `getFloat` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `float` value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `float`

### getInt

    public int getInt(int columnIndex)
               throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as an `int` value.

  Specified by:
    `getInt` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `int` value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as an `int`

### getLong

    public long getLong(int columnIndex)
                 throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `long` value.

  Specified by:
    `getLong` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `long` value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `long`

### getObject

    public Object getObject(int columnIndex)
                     throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as an `Object`.

  Specified by:
    `getObject` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `Object` representation of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as an `Object`

### getShort

    public short getShort(int columnIndex)
                   throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `short` value.

  Specified by:
    `getShort` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `short` value of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `short`

### getString

    public String getString(int columnIndex)
                     throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `String` object.

  Specified by:
    `getString` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `String` representation of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `String`

### getTime

    public Time getTime(int columnIndex)
                 throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `Time` object.

  Specified by:
    `getTime` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `Time` representation of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `Time` object

### getTimestamp

    public Timestamp getTimestamp(int columnIndex)
                           throws SQLException

  Retrieve the value of the designated column in the current row of this ResultSet as a `Timestamp` object.

  Specified by:
    `getTimestamp` in interface `ResultSet`
  Parameters:
    `columnIndex` - The index of the parameter to retrieve, first parameter is 1, second is 2, ...
  Returns:
    The `Timestamp` representation of the field
  Throws:
    `SQLException` - if this paramater cannot be retrieved as a `Timestamp` object

### getUnicodeStream

    public InputStream getUnicodeStream(int columnIndex)
                                 throws SQLException

  Deprecated.

  Specified by:
    `getUnicodeStream` in interface `ResultSet`
  Throws:
    `SQLException`

### getXsqlvar

    protected XSQLVAR getXsqlvar(int columnIndex)

  Returns the XSQLVAR structure for the specified column.

### getField

    public FBField getField(int columnIndex)
                     throws SQLException

  Get the `FBField` object at the given column index

  Parameters:
    `columnIndex` - The index of the parameter, 1 is the first index
  Throws:
    `SQLException` - If there is an error accessing the field

### getField

    public FBField getField(int columnIndex,
                            boolean checkRowPosition)
                     throws SQLException

  Factory method for the field access objects

  Throws:
    `SQLException`

### getField

    public FBField getField(String columnName)
                     throws SQLException

  Get a `FBField` by name.

  Parameters:
    `columnName` - The name of the field to be retrieved
  Throws:
    `SQLException` - if the field cannot be retrieved

### getBigDecimal

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

  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.

  Specified by:
    `getBigDecimal` in interface `ResultSet`
  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `scale` - the number of digits to the right of the decimal point
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getString

    public String getString(String columnName)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String`.

  Specified by:
    `getString` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getBoolean

    public boolean getBoolean(String columnName)
                       throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` value.

  Specified by:
    `getBoolean` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `String` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getByte

    public byte getByte(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` value.

  Specified by:
    `getByte` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `byte` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getShort

    public short getShort(String columnName)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` value.

  Specified by:
    `getShort` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    THe `short` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getInt

    public int getInt(String columnName)
               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` value.

  Specified by:
    `getInt` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `int` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getLong

    public long getLong(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` value.

  Specified by:
    `getLong` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `long` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getFloat

    public float getFloat(String columnName)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` value.

  Specified by:
    `getFloat` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `float` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getDouble

    public double getDouble(String columnName)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` value.

  Specified by:
    `getDouble` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `double` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getBigDecimal

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

  Deprecated.

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `BigDecimal`.

  Specified by:
    `getBigDecimal` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `BigDecimal` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getBytes

    public byte[] getBytes(String columnName)
                    throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array.

  Specified by:
    `getBytes` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `byte` array value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getDate

    public Date getDate(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Date`.

  Specified by:
    `getDate` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `Date` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getTime

    public Time getTime(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Time` object.

  Specified by:
    `getTime` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `Time` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getTimestamp

    public Timestamp getTimestamp(String columnName)
                           throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Timestamp` object.

  Specified by:
    `getTimestamp` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The `Timestamp` value
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getAsciiStream

    public InputStream getAsciiStream(String columnName)
                               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `InputStream`.

  Specified by:
    `getAsciiStream` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The value as an `InputStream`
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getUnicodeStream

    public InputStream getUnicodeStream(String columnName)
                                 throws SQLException

  Deprecated.

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a unicode `InputStream`.

  Specified by:
    `getUnicodeStream` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The value as a unicode `InputStream`
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getBinaryStream

    public InputStream getBinaryStream(String columnName)
                                throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a binary `InputStream`.

  Specified by:
    `getBinaryStream` in interface `ResultSet`
  Parameters:
    `columnName` - The SQL name of the column
  Returns:
    The value as a binary `InputStream`
  Throws:
    `SQLException` - if the given column cannot be retrieved

### getWarnings

    public SQLWarning getWarnings()
                           throws SQLException

  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.

  Specified by:
    `getWarnings` in interface `ResultSet`
  Returns:
    the first `SQLWarning` object reported or `null`
  Throws:
    `SQLException` - if a database access error occurs

### clearWarnings

    public void clearWarnings()
                       throws SQLException

  Clears all warnings reported on this `ResultSet` object. After this method is called, the method `getWarnings` returns `null` until a new warning is reported for this `ResultSet` object.

  Specified by:
    `clearWarnings` in interface `ResultSet`
  Throws:
    `SQLException` - if a database access error occurs

### getCursorName

    public String getCursorName()
                         throws SQLException

  Gets the name of the SQL cursor used by this `ResultSet` 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.

  Specified by:
    `getCursorName` in interface `ResultSet`
  Returns:
    the SQL name for this `ResultSet` object's cursor
  Throws:
    `SQLException` - if a database access error occurs

### getMetaData

    public ResultSetMetaData getMetaData()
                                  throws SQLException

  Retrieves the number, types and properties of this `ResultSet` object's columns.

  Specified by:
    `getMetaData` in interface `ResultSet`
  Returns:
    the description of this `ResultSet` object's columns
  Throws:
    `SQLException` - if a database access error occurs TODO we need another way of specifying the exended metadata if this result set is constructed in code.

### getObject

    public Object getObject(String columnName)
                     throws SQLException

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

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

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

  Specified by:
    `getObject` in interface `ResultSet`
  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    a `java.lang.Object` holding the column value
  Throws:
    `SQLException` - if a database access error occurs

### findColumn

    public int findColumn(String columnName)
                   throws SQLException

  Maps the given `ResultSet` column name to its `ResultSet` column index.

  Specified by:
    `findColumn` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
  Returns:
    the column index of the given column name
  Throws:
    `SQLException` - if a database access error occurs

### getCharacterStream

    public Reader getCharacterStream(int columnIndex)
                              throws SQLException

  Gets the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.

  Specified by:
    `getCharacterStream` in interface `ResultSet`
  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
  Throws:
    `SQLException`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getCharacterStream

    public Reader getCharacterStream(String columnName)
                              throws SQLException

  Gets the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.

  Specified by:
    `getCharacterStream` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
  Returns:
    a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
  Throws:
    `SQLException`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getBigDecimal

    public BigDecimal getBigDecimal(String columnName)
                             throws SQLException

  Gets the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` with full precision.

  Specified by:
    `getBigDecimal` in interface `ResultSet`
  Parameters:
    `columnName` - the column name
  Returns:
    the column value (full precision); if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### isBeforeFirst

    public boolean isBeforeFirst()
                          throws SQLException

  Indicates whether the cursor is before the first row in this `ResultSet` object.

  Specified by:
    `isBeforeFirst` in interface `ResultSet`
  Returns:
    `true` if the cursor is before the first row; `false` if the cursor is at any other position or the result set contains no rows
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### isAfterLast

    public boolean isAfterLast()
                        throws SQLException

  Indicates whether the cursor is after the last row in this `ResultSet` object.

  Specified by:
    `isAfterLast` in interface `ResultSet`
  Returns:
    `true` if the cursor is after the last row; `false` if the cursor is at any other position or the result set contains no rows
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### isFirst

    public boolean isFirst()
                    throws SQLException

  Indicates whether the cursor is on the first row of this `ResultSet` object.

  Specified by:
    `isFirst` in interface `ResultSet`
  Returns:
    `true` if the cursor is on the first row; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### isLast

    public boolean isLast()
                   throws SQLException

  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.

  Specified by:
    `isLast` in interface `ResultSet`
  Returns:
    `true` if the cursor is on the last row; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### beforeFirst

    public void beforeFirst()
                     throws SQLException

  Moves the cursor to the front of this `ResultSet` object, just before the first row. This method has no effect if the result set contains no rows.

  Specified by:
    `beforeFirst` in interface `ResultSet`
  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### afterLast

    public void afterLast()
                   throws SQLException

  Moves the cursor to the end of this `ResultSet` object, just after the last row. This method has no effect if the result set contains no rows.

  Specified by:
    `afterLast` in interface `ResultSet`
  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### first

    public boolean first()
                  throws SQLException

  Moves the cursor to the first row in this `ResultSet` object.

  Specified by:
    `first` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### last

    public boolean last()
                 throws SQLException

  Moves the cursor to the last row in this `ResultSet` object.

  Specified by:
    `last` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### getRow

    public int getRow()
               throws SQLException

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

  Specified by:
    `getRow` in interface `ResultSet`
  Returns:
    the current row number; `0` if there is no current row
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### absolute

    public boolean absolute(int row)
                     throws SQLException

  Moves the cursor to the given row number in this `ResultSet` object.

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

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

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

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

  Specified by:
    `absolute` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### relative

    public boolean relative(int rows)
                     throws SQLException

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

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

  Specified by:
    `relative` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### previous

    public boolean previous()
                     throws SQLException

  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.

  Specified by:
    `previous` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### setFetchDirection

    public void setFetchDirection(int direction)
                           throws SQLException

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

  Specified by:
    `setFetchDirection` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API, `Statement.setFetchDirection(int)`

### getFetchDirection

    public int getFetchDirection()
                          throws SQLException

  Returns the fetch direction for this `ResultSet` object.

  Specified by:
    `getFetchDirection` in interface `ResultSet`
  Returns:
    the current fetch direction for this `ResultSet` object
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### setFetchSize

    public void setFetchSize(int rows)
                      throws SQLException

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

  Specified by:
    `setFetchSize` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### getFetchSize

    public int getFetchSize()
                     throws SQLException

  Returns the fetch size for this `ResultSet` object.

  Specified by:
    `getFetchSize` in interface `ResultSet`
  Returns:
    the current fetch size for this `ResultSet` object
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getType

    public int getType()
                throws SQLException

  Returns the type of this `ResultSet` object. The type is determined by the `Statement` object that created the result set.

  Specified by:
    `getType` in interface `ResultSet`
  Returns:
    `TYPE_FORWARD_ONLY`, `TYPE_SCROLL_INSENSITIVE`, or `TYPE_SCROLL_SENSITIVE`
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getConcurrency

    public int getConcurrency()
                       throws SQLException

  Returns the concurrency mode of this `ResultSet` object. The concurrency used is determined by the `Statement` object that created the result set.

  Specified by:
    `getConcurrency` in interface `ResultSet`
  Returns:
    the concurrency type, either `CONCUR_READ_ONLY` or `CONCUR_UPDATABLE`
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### rowUpdated

    public boolean rowUpdated()
                       throws SQLException

  Indicates whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.

  Specified by:
    `rowUpdated` in interface `ResultSet`
  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
  Since:
    1.2
  See Also:
    `DatabaseMetaData.updatesAreDetected(int)`, What Is in the JDBC 2.0 API

### rowInserted

    public boolean rowInserted()
                        throws SQLException

  Indicates whether the current row has had an insertion. The value returned depends on whether or not this `ResultSet` object can detect visible inserts.

  Specified by:
    `rowInserted` in interface `ResultSet`
  Returns:
    `true` if a row has had an insertion and insertions are detected; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    `DatabaseMetaData.insertsAreDetected(int)`, What Is in the JDBC 2.0 API

### rowDeleted

    public boolean rowDeleted()
                       throws SQLException

  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.

  Specified by:
    `rowDeleted` in interface `ResultSet`
  Returns:
    `true` if a row was deleted and deletions are detected; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    `DatabaseMetaData.deletesAreDetected(int)`, What Is in the JDBC 2.0 API

### updateNull

    public void updateNull(int columnIndex)
                    throws SQLException

  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.

  Specified by:
    `updateNull` in interface `ResultSet`
  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateBoolean

    public void updateBoolean(int columnIndex,
                              boolean x)
                       throws SQLException

  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.

  Specified by:
    `updateBoolean` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateByte

    public void updateByte(int columnIndex,
                           byte x)
                    throws SQLException

  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.

  Specified by:
    `updateByte` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateShort

    public void updateShort(int columnIndex,
                            short x)
                     throws SQLException

  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.

  Specified by:
    `updateShort` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateInt

    public void updateInt(int columnIndex,
                          int x)
                   throws SQLException

  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.

  Specified by:
    `updateInt` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateLong

    public void updateLong(int columnIndex,
                           long x)
                    throws SQLException

  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.

  Specified by:
    `updateLong` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateFloat

    public void updateFloat(int columnIndex,
                            float x)
                     throws SQLException

  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.

  Specified by:
    `updateFloat` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateDouble

    public void updateDouble(int columnIndex,
                             double x)
                      throws SQLException

  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.

  Specified by:
    `updateDouble` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateBigDecimal

    public void updateBigDecimal(int columnIndex,
                                 BigDecimal x)
                          throws SQLException

  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.

  Specified by:
    `updateBigDecimal` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateString

    public void updateString(int columnIndex,
                             String x)
                      throws SQLException

  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.

  Specified by:
    `updateString` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateBytes

    public void updateBytes(int columnIndex,
                            byte[] x)
                     throws SQLException

  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.

  Specified by:
    `updateBytes` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateDate

    public void updateDate(int columnIndex,
                           Date x)
                    throws SQLException

  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.

  Specified by:
    `updateDate` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateTime

    public void updateTime(int columnIndex,
                           Time x)
                    throws SQLException

  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.

  Specified by:
    `updateTime` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateTimestamp

    public void updateTimestamp(int columnIndex,
                                Timestamp x)
                         throws SQLException

  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.

  Specified by:
    `updateTimestamp` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateAsciiStream

    public void updateAsciiStream(int columnIndex,
                                  InputStream x,
                                  int length)
                           throws SQLException

  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.

  Specified by:
    `updateAsciiStream` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateBinaryStream

    public void updateBinaryStream(int columnIndex,
                                   InputStream x,
                                   int length)
                            throws SQLException

  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.

  Specified by:
    `updateBinaryStream` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateCharacterStream

    public void updateCharacterStream(int columnIndex,
                                      Reader x,
                                      int length)
                               throws SQLException

  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.

  Specified by:
    `updateCharacterStream` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateObject

    public void updateObject(int columnIndex,
                             Object x,
                             int scale)
                      throws SQLException

  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.

  Specified by:
    `updateObject` in interface `ResultSet`
  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
    `scale` - for `java.sql.Types.DECIMA` or `java.sql.Types.NUMERIC` types, this is the number of digits after the decimal point. For all other types this value will be ignored.
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateObject

    public void updateObject(int columnIndex,
                             Object x)
                      throws SQLException

  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.

  Specified by:
    `updateObject` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateNull

    public void updateNull(String columnName)
                    throws SQLException

  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.

  Specified by:
    `updateNull` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateBoolean

    public void updateBoolean(String columnName,
                              boolean x)
                       throws SQLException

  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.

  Specified by:
    `updateBoolean` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateByte

    public void updateByte(String columnName,
                           byte x)
                    throws SQLException

  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.

  Specified by:
    `updateByte` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateShort

    public void updateShort(String columnName,
                            short x)
                     throws SQLException

  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.

  Specified by:
    `updateShort` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateInt

    public void updateInt(String columnName,
                          int x)
                   throws SQLException

  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.

  Specified by:
    `updateInt` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateLong

    public void updateLong(String columnName,
                           long x)
                    throws SQLException

  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.

  Specified by:
    `updateLong` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateFloat

    public void updateFloat(String columnName,
                            float x)
                     throws SQLException

  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.

  Specified by:
    `updateFloat` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateDouble

    public void updateDouble(String columnName,
                             double x)
                      throws SQLException

  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.

  Specified by:
    `updateDouble` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateBigDecimal

    public void updateBigDecimal(String columnName,
                                 BigDecimal x)
                          throws SQLException

  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.

  Specified by:
    `updateBigDecimal` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateString

    public void updateString(String columnName,
                             String x)
                      throws SQLException

  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.

  Specified by:
    `updateString` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateBytes

    public void updateBytes(String columnName,
                            byte[] x)
                     throws SQLException

  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.

  Specified by:
    `updateBytes` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateDate

    public void updateDate(String columnName,
                           Date x)
                    throws SQLException

  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.

  Specified by:
    `updateDate` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateTime

    public void updateTime(String columnName,
                           Time x)
                    throws SQLException

  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.

  Specified by:
    `updateTime` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateTimestamp

    public void updateTimestamp(String columnName,
                                Timestamp x)
                         throws SQLException

  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.

  Specified by:
    `updateTimestamp` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### updateAsciiStream

    public void updateAsciiStream(String columnName,
                                  InputStream x,
                                  int length)
                           throws SQLException

  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.

  Specified by:
    `updateAsciiStream` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateBinaryStream

    public void updateBinaryStream(String columnName,
                                   InputStream x,
                                   int length)
                            throws SQLException

  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.

  Specified by:
    `updateBinaryStream` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateCharacterStream

    public void updateCharacterStream(String columnName,
                                      Reader reader,
                                      int length)
                               throws SQLException

  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.

  Specified by:
    `updateCharacterStream` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateObject

    public void updateObject(String columnName,
                             Object x,
                             int scale)
                      throws SQLException

  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.

  Specified by:
    `updateObject` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateObject

    public void updateObject(String columnName,
                             Object x)
                      throws SQLException

  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.

  Specified by:
    `updateObject` in interface `ResultSet`
  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### insertRow

    public void insertRow()
                   throws SQLException

  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.

  Specified by:
    `insertRow` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### updateRow

    public void updateRow()
                   throws SQLException

  Updates the underlying database with the new contents of the current row of this `ResultSet` object. This method cannot be called when the cursor is on the insert row.

  Specified by:
    `updateRow` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### deleteRow

    public void deleteRow()
                   throws SQLException

  Deletes the current row from this `ResultSet` object and from the underlying database. This method cannot be called when the cursor is on the insert row.

  Specified by:
    `deleteRow` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### refreshRow

    public void refreshRow()
                    throws SQLException

  Refreshes the current row with its most recent value in the database. This method cannot be called when the cursor is on the insert row.

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

  All values are refetched subject to the transaction isolation level and cursor sensitivity. If `refreshRow` is called after calling an `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.

  Specified by:
    `refreshRow` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### cancelRowUpdates

    public void cancelRowUpdates()
                          throws SQLException

  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.

  Specified by:
    `cancelRowUpdates` in interface `ResultSet`
  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
  See Also:
    What Is in the JDBC 2.0 API

### moveToInsertRow

    public void moveToInsertRow()
                         throws SQLException

  Moves the cursor to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the `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.

  Specified by:
    `moveToInsertRow` in interface `ResultSet`
  Throws:
    `SQLException` - if a database access error occurs or the result set is not updatable
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### moveToCurrentRow

    public void moveToCurrentRow()
                          throws SQLException

  Moves the cursor to the remembered cursor position, usually the current row. This method has no effect if the cursor is not on the insert row.

  Specified by:
    `moveToCurrentRow` in interface `ResultSet`
  Throws:
    `SQLException` - if a database access error occurs or the result set is not updatable
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getStatement

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

  Specified by:
    `getStatement` in interface `ResultSet`
  Returns:
    the `Statment` object that produced this `ResultSet` object or `null` if the result set was produced some other way

### getObject

    public Object getObject(int i,
                            Map map)
                     throws SQLException

  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.

  Specified by:
    `getObject` in interface `ResultSet`
  Parameters:
    `i` - the first column is 1, the second is 2, ...
    `map` - a `java.util.Map` object that contains the mapping from SQL type names to classes in the Java programming language
  Returns:
    an `Object` in the Java programming language representing the SQL value
  Throws:
    `SQLException`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getRef

    public Ref getRef(int i)
               throws SQLException

  Returns the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.

  Specified by:
    `getRef` in interface `ResultSet`
  Parameters:
    `i` - the first column is 1, the second is 2, ...
  Returns:
    a `Ref` object representing an SQL `REF` value
  Throws:
    `SQLException`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getClob

    public Clob getClob(int i)
                 throws SQLException

  Returns the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.

  Specified by:
    `getClob` in interface `ResultSet`
  Parameters:
    `i` - the first column is 1, the second is 2, ...
  Returns:
    a `Clob` object representing the SQL `CLOB` value in the specified column
  Throws:
    `SQLException`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getArray

    public Array getArray(int i)
                   throws SQLException

  Returns the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.

  Specified by:
    `getArray` in interface `ResultSet`
  Parameters:
    `i` - the first column is 1, the second is 2, ...
  Returns:
    an `Array` object representing the SQL `ARRAY` value in the specified column
  Throws:
    `SQLException`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getObject

    public Object getObject(String columnName,
                            Map map)
                     throws SQLException

  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.

  Specified by:
    `getObject` in interface `ResultSet`
  Parameters:
    `columnName` - 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`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getRef

    public Ref getRef(String columnName)
               throws SQLException

  Returns the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.

  Specified by:
    `getRef` in interface `ResultSet`
  Parameters:
    `columnName` - the column name
  Returns:
    a `Ref` object representing the SQL `REF` value in the specified column
  Throws:
    `SQLException`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getBlob

    public Blob getBlob(String columnName)
                 throws SQLException

  Returns the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.

  Specified by:
    `getBlob` in interface `ResultSet`
  Parameters:
    `columnName` - 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`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getClob

    public Clob getClob(String columnName)
                 throws SQLException

  Returns the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.

  Specified by:
    `getClob` in interface `ResultSet`
  Parameters:
    `columnName` - 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`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getArray

    public Array getArray(String columnName)
                   throws SQLException

  Returns the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.

  Specified by:
    `getArray` in interface `ResultSet`
  Parameters:
    `columnName` - 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`
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getDate

    public Date getDate(int columnIndex,
                        Calendar cal)
                 throws SQLException

  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.

  Specified by:
    `getDate` in interface `ResultSet`
  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `cal` - the `java.util.Calendar` object to use in constructing the date
  Returns:
    the column value as a `java.sql.Date` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getDate

    public Date getDate(String columnName,
                        Calendar cal)
                 throws SQLException

  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.

  Specified by:
    `getDate` in interface `ResultSet`
  Parameters:
    `columnName` - the SQL name of the column from which to retrieve the value
    `cal` - the `java.util.Calendar` object to use in constructing the date
  Returns:
    the column value as a `java.sql.Date` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getTime

    public Time getTime(int columnIndex,
                        Calendar cal)
                 throws SQLException

  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.

  Specified by:
    `getTime` in interface `ResultSet`
  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `cal` - the `java.util.Calendar` object to use in constructing the time
  Returns:
    the column value as a `java.sql.Time` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getTime

    public Time getTime(String columnName,
                        Calendar cal)
                 throws SQLException

  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.

  Specified by:
    `getTime` in interface `ResultSet`
  Parameters:
    `columnName` - the SQL name of the column
    `cal` - the `java.util.Calendar` object to use in constructing the time
  Returns:
    the column value as a `java.sql.Time` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getTimestamp

    public Timestamp getTimestamp(int columnIndex,
                                  Calendar cal)
                           throws SQLException

  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.

  Specified by:
    `getTimestamp` in interface `ResultSet`
  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `cal` - the `java.util.Calendar` object to use in constructing the timestamp
  Returns:
    the column value as a `java.sql.Timestamp` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getTimestamp

    public Timestamp getTimestamp(String columnName,
                                  Calendar cal)
                           throws SQLException

  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.

  Specified by:
    `getTimestamp` in interface `ResultSet`
  Parameters:
    `columnName` - the SQL name of the column
    `cal` - the `java.util.Calendar` object to use in constructing the date
  Returns:
    the column value as a `java.sql.Timestamp` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
  See Also:
    What Is in the JDBC 2.0 API

### getURL

    public URL getURL(int param1)
               throws SQLException

  This operation is not supported

  Specified by:
    `getURL` in interface `ResultSet`
  Parameters:
    `param1` - <description>
  Returns:
    <description>
  Throws:
    `SQLException` - <description>

### getURL

    public URL getURL(String param1)
               throws SQLException

  This operation is not supported

  Specified by:
    `getURL` in interface `ResultSet`
  Parameters:
    `param1` - <description>
  Returns:
    <description>
  Throws:
    `SQLException` - <description>

### updateRef

    public void updateRef(int param1,
                          Ref param2)
                   throws SQLException

  This operation is not supported

  Specified by:
    `updateRef` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### updateRef

    public void updateRef(String param1,
                          Ref param2)
                   throws SQLException

  This operation is not supported

  Specified by:
    `updateRef` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### updateBlob

    public void updateBlob(int param1,
                           Blob param2)
                    throws SQLException

  This operation is not supported

  Specified by:
    `updateBlob` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### updateBlob

    public void updateBlob(String param1,
                           Blob param2)
                    throws SQLException

  This operation is not supported

  Specified by:
    `updateBlob` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### updateClob

    public void updateClob(int param1,
                           Clob param2)
                    throws SQLException

  This operation is not supported

  Specified by:
    `updateClob` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### updateClob

    public void updateClob(String param1,
                           Clob param2)
                    throws SQLException

  This operation is not supported

  Specified by:
    `updateClob` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### updateArray

    public void updateArray(int param1,
                            Array param2)
                     throws SQLException

  This operation is not supported

  Specified by:
    `updateArray` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### updateArray

    public void updateArray(String param1,
                            Array param2)
                     throws SQLException

  This operation is not supported

  Specified by:
    `updateArray` in interface `ResultSet`
  Parameters:
    `param1` - <description>
    `param2` - <description>
  Throws:
    `SQLException` - <description>

### getExecutionPlan

    public String getExecutionPlan()
                            throws SQLException

  Throws:
    `SQLException`

### getHoldability

    public int getHoldability()
                       throws SQLException

  Specified by:
    `getHoldability` in interface `ResultSet`
  Throws:
    `SQLException`

### isClosed

    public boolean isClosed()
                     throws SQLException

  Specified by:
    `isClosed` in interface `ResultSet`
  Throws:
    `SQLException`

### addWarning

    protected void addWarning(SQLWarning warning)

Copyright © 2001-2010. All Rights Reserved.