Package virtuoso.javax

## Class OPLCachedRowSet

- java.lang.Object
- - virtuoso.javax.BaseRowSet
  - - virtuoso.javax.OPLCachedRowSet

All Implemented Interfaces:
  `java.io.Serializable`, `java.lang.Cloneable`, `javax.sql.RowSetInternal`

    public class OPLCachedRowSet
    extends BaseRowSet
    implements javax.sql.RowSetInternal, java.io.Serializable, java.lang.Cloneable

A OPLCachedRowSet is a disconnected, serializable, scrollable container for tabular data. A primary purpose of the OPLCachedRowSet class is to provide a representation of a JDBC ResultSet that can be passed between different components of a remote application. For example, a OPLCachedRowSet can be used to send the result of a query executed by an Enterprise JavaBeans component running in a server environment over a network to a client running in a web browser. A second use for OPLCachedRowSets is to provide scrolling and updating for ResultSets that do not provide these capabilities themselves. A OPLCachedRowSet can be used to augment the capabilities of a JDBC driver that does not have full support for scrolling and updating. Finally, a OPLCachedRowSet can be used to provide Java applications with access to tabular data in an environment such as a thin client or PDA, where it would be inappropriate to use a JDBC driver due to resource limitations or security considerations. The OPLCachedRowSet class provides a means to "get rows in" and "get changed rows out" without the need to implement the full JDBC API.

A OPLCachedRowSet object can contain data retrieved via a JDBC driver or data from some other source, such as a spreadsheet. Both a OPLCachedRowSet object and its metadata can be created from scratch. A component that acts as a factory for rowsets can use this capability to create a rowset containing data from non-JDBC data sources.

The term 'disconnected' implies that a OPLCachedRowSet only makes use of a JDBC connection briefly while data is being read from the database and used to populate it with rows, and again while updated rows are being propagated back to the underlying database. During the remainder of its lifetime, a OPLCachedRowSet object is not associated with an underlying database connection. A OPLCachedRowSet object can simply be thought of as a disconnected set of rows that are being cached outside of a data source. Since all data is cached in memory, OPLCachedRowSets are not appropriate for extremely large data sets.

The contents of a OPLCachedRowSet may be updated and the updates can be propagated to an underlying data source. OPLCachedRowSets support an optimistic concurrency control mechanism - no locks are maintained in the underlying database during disconnected use of the rowset. Both the original value and current value of the OPLCachedRowSet are maintained for use by the optimistic routines.

See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`protected class` `OPLCachedRowSet.Row`

### Nested classes/interfaces inherited from class virtuoso.javax.BaseRowSet

`BaseRowSet.Parameter`

### Field Summary

### Fields inherited from class virtuoso.javax.BaseRowSet

`ev_CursorMoved, ev_RowChanged, ev_RowSetChanged, map`

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

Constructors
`OPLCachedRowSet​()` Create a OPLCachedRowSet object.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`boolean` `absolute​(int row)` Move to an absolute row number in the rowset.
`void` `acceptChanges​()` Propagate all row update, insert, and delete changes to a data source.
`void` `acceptChanges​(java.sql.Connection _conn)` Like acceptChanges() above, but takes a Connection argument.
`void` `afterLast​()` Moves to the end of the rowset, just after the last row.
`void` `beforeFirst​()` Moves to the front of the rowset, just before the first row.
`void` `cancelRowDelete​()` Cancels deletion of the current row and notifies listeners that a row has changed.
`void` `cancelRowInsert​()` Cancels insertion of the current row and notifies listeners that a row has changed.
`void` `cancelRowUpdates​()` The cancelRowUpdates() method may be called after calling an updateXXX() method(s) and before calling updateRow() to rollback the updates made to a row.
`void` `clearWarnings​()` After this call getWarnings returns null until a new warning is reported for this ResultSet.
`protected java.lang.Object` `clone​()`
`void` `close​()` Releases the current contents of this rowset, discarding outstanding updates.
`boolean` `columnUpdated​(int columnIndex)` Determine if the column from the current row has been updated.
`javax.sql.RowSet` `createCopy​()` Creates a RowSet object that is a deep copy of this OPLCachedRowSet object's data.
`javax.sql.RowSet` `createShared​()` Returns a new rowset object backed by the same data.
`void` `deleteRow​()` Delete the current row from this OPLCachedRowSet object and it notifies listeners that a row has changed.
`void` `execute​()` Populates this OPLCachedRowSet object with data.
`void` `execute​(java.sql.Connection _conn)` Populates the rowset with data.
`void` `finalize​()`
`int` `findColumn​(java.lang.String columnName)` Map a Resultset column name to a ResultSet column index.
`boolean` `first​()` Moves to the first row in the rowset.
`java.sql.Array` `getArray​(int colIndex)` Get an array column.
`java.sql.Array` `getArray​(java.lang.String colName)` Get an array column.
`java.io.InputStream` `getAsciiStream​(int columnIndex)` A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream.
`java.io.InputStream` `getAsciiStream​(java.lang.String columnName)` A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream.
`java.math.BigDecimal` `getBigDecimal​(int columnIndex)` Get the value of a column in the current row as a java.math.BigDecimal object.
`java.math.BigDecimal` `getBigDecimal​(int columnIndex, int scale)` Deprecated.
`java.math.BigDecimal` `getBigDecimal​(java.lang.String columnName)` Get the value of a column in the current row as a java.math.BigDecimal object.
`java.math.BigDecimal` `getBigDecimal​(java.lang.String columnName, int scale)` Deprecated.
`java.io.InputStream` `getBinaryStream​(int columnIndex)` A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream.
`java.io.InputStream` `getBinaryStream​(java.lang.String columnName)` A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream.
`java.sql.Blob` `getBlob​(int colIndex)` Get a BLOB column.
`java.sql.Blob` `getBlob​(java.lang.String colName)` Get a BLOB column.
`boolean` `getBoolean​(int columnIndex)` Get the value of a column in the current row as a Java boolean.
`boolean` `getBoolean​(java.lang.String columnName)` Get the value of a column in the current row as a Java boolean.
`byte` `getByte​(int columnIndex)` Get the value of a column in the current row as a Java byte.
`byte` `getByte​(java.lang.String columnName)` Get the value of a column in the current row as a Java byte.
`byte[]` `getBytes​(int columnIndex)` Get the value of a column in the current row as a Java byte array.
`byte[]` `getBytes​(java.lang.String columnName)` Get the value of a column in the current row as a Java byte array.
`java.io.Reader` `getCharacterStream​(int columnIndex)` Get the value of a column in the current row as a java.io.Reader.
`java.io.Reader` `getCharacterStream​(java.lang.String columnName)` Get the value of a column in the current row as a java.io.Reader.
`java.sql.Clob` `getClob​(int colIndex)` Get a CLOB column.
`java.sql.Clob` `getClob​(java.lang.String colName)` Get a CLOB column.
`java.sql.Connection` `getConnection​()` Get the Connection passed to the rowset.
`java.lang.String` `getCursorName​()` Get the name of the SQL cursor used by this ResultSet.
`java.sql.Date` `getDate​(int columnIndex)` Get the value of a column in the current row as a java.sql.Date object.
`java.sql.Date` `getDate​(int columnIndex, java.util.Calendar cal)` Get the value of a column in the current row as a java.sql.Date object.
`java.sql.Date` `getDate​(java.lang.String columnName)` Get the value of a column in the current row as a java.sql.Date object.
`java.sql.Date` `getDate​(java.lang.String columnName, java.util.Calendar cal)` Get the value of a column in the current row as a java.sql.Date object.
`double` `getDouble​(int columnIndex)` Get the value of a column in the current row as a Java double.
`double` `getDouble​(java.lang.String columnName)` Get the value of a column in the current row as a Java double.
`float` `getFloat​(int columnIndex)` Get the value of a column in the current row as a Java float.
`float` `getFloat​(java.lang.String columnName)` Get the value of a column in the current row as a Java float.
`int` `getHoldability​()` Retrieves the holdability of this `ResultSet` object
`int` `getInt​(int columnIndex)` Get the value of a column in the current row as a Java int.
`int` `getInt​(java.lang.String columnName)` Get the value of a column in the current row as a Java int.
`int[]` `getKeyCols​()` Returns the columns that make a key to uniquely identify a row in this OPLCachedRowSet object.
`long` `getLong​(int columnIndex)` Get the value of a column in the current row as a Java long.
`long` `getLong​(java.lang.String columnName)` Get the value of a column in the current row as a Java long.
`java.sql.ResultSetMetaData` `getMetaData​()` The number, types and properties of a ResultSet's columns are provided by the getMetaData method.
`java.io.Reader` `getNCharacterStream​(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
`java.io.Reader` `getNCharacterStream​(java.lang.String columnLabel)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
`java.sql.NClob` `getNClob​(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `NClob` object in the Java programming language.
`java.sql.NClob` `getNClob​(java.lang.String columnLabel)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `NClob` object in the Java programming language.
`java.lang.String` `getNString​(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.
`java.lang.String` `getNString​(java.lang.String columnLabel)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.
`java.lang.Object` `getObject​(int columnIndex)` Get the value of a column in the current row as a Java object.
`<T> T` `getObject​(int columnIndex, java.lang.Class<T> type)` Retrieves the value of the designated column in the current row of this `ResultSet` object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.
`java.lang.Object` `getObject​(int colIndex, java.util.Map map)` Returns the value of column @i as a Java object.
`java.lang.Object` `getObject​(java.lang.String columnName)` Get the value of a column in the current row as a Java object.
`<T> T` `getObject​(java.lang.String columnLabel, java.lang.Class<T> type)` Retrieves the value of the designated column in the current row of this `ResultSet` object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.
`java.lang.Object` `getObject​(java.lang.String colName, java.util.Map map)` Returns the value of column @i as a Java object.
`java.sql.ResultSet` `getOriginal​()` Returns a result set containing the original value of the rowset.
`java.sql.ResultSet` `getOriginalRow​()` Returns a result set containing the original value of the current row only.
`java.sql.Ref` `getRef​(int colIndex)` Get a REF(<structured-type>) column.
`java.sql.Ref` `getRef​(java.lang.String colName)` Get a REF(<structured-type>) column.
`int` `getRow​()` Determine the current row number.
`java.sql.RowId` `getRowId​(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.
`java.sql.RowId` `getRowId​(java.lang.String columnLabel)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.
`short` `getShort​(int columnIndex)` Get the value of a column in the current row as a Java short.
`short` `getShort​(java.lang.String columnName)` Get the value of a column in the current row as a Java short.
`boolean` `getShowDeleted​()` This property determines whether or not rows marked for deletion appear in the set of current rows.
`java.sql.SQLXML` `getSQLXML​(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.
`java.sql.SQLXML` `getSQLXML​(java.lang.String columnLabel)` Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.
`java.sql.Statement` `getStatement​()` Return the Statement that produced the ResultSet.
`java.lang.String` `getString​(int columnIndex)` Get the value of a column in the current row as a Java String.
`java.lang.String` `getString​(java.lang.String columnName)` Get the value of a column in the current row as a Java String.
`java.lang.String` `getTableName​()` Returns an identifier for the object (table) that was used to create this rowset.
`java.sql.Time` `getTime​(int columnIndex)` Get the value of a column in the current row as a java.sql.Time object.
`java.sql.Time` `getTime​(int columnIndex, java.util.Calendar cal)` Get the value of a column in the current row as a java.sql.Time object.
`java.sql.Time` `getTime​(java.lang.String columnName)` Get the value of a column in the current row as a java.sql.Time object.
`java.sql.Time` `getTime​(java.lang.String columnName, java.util.Calendar cal)` Get the value of a column in the current row as a java.sql.Time object.
`java.sql.Timestamp` `getTimestamp​(int columnIndex)` Get the value of a column in the current row as a java.sql.Timestamp object.
`java.sql.Timestamp` `getTimestamp​(int columnIndex, java.util.Calendar cal)` Get the value of a column in the current row as a java.sql.Timestamp object.
`java.sql.Timestamp` `getTimestamp​(java.lang.String columnName)` Get the value of a column in the current row as a java.sql.Timestamp object.
`java.sql.Timestamp` `getTimestamp​(java.lang.String columnName, java.util.Calendar cal)` Get the value of a column in the current row as a java.sql.Timestamp object.
`java.io.InputStream` `getUnicodeStream​(int columnIndex)` Deprecated.
`java.io.InputStream` `getUnicodeStream​(java.lang.String columnName)` Deprecated.
`java.net.URL` `getURL​(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.
`java.net.URL` `getURL​(java.lang.String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.
`java.sql.SQLWarning` `getWarnings​()` The first warning reported by calls on this ResultSet is returned.
`void` `insertRow​()` Inserts the contents of the insert row into this rowset following the current row and it notifies listeners that the row has changed.
`boolean` `isAfterLast​()` Determine if the cursor is after the last row in the rowset.
`boolean` `isBeforeFirst​()` Determine if the cursor is before the first row in the rowset.
`boolean` `isClosed​()` Retrieves whether this `ResultSet` object has been closed.
`boolean` `isFirst​()` Determine if the cursor is on the first row of the rowset.
`boolean` `isLast​()` Determine if the cursor is on the last row of the rowset.
`boolean` `isWrapperFor​(java.lang.Class<?> iface)` Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.
`boolean` `last​()` Moves to the last row in the rowset.
`void` `moveToCurrentRow​()` Move the cursor to the remembered cursor position, usually the current row.
`void` `moveToInsertRow​()` Move to the insert row.
`boolean` `next​()` A ResultSet is initially positioned before its first row; the first call to next makes the first row the current row; the second call makes the second row the current row, etc.
`void` `populate​(java.sql.ResultSet rs)` Populate the OPLCachedRowSet object with data from a ResultSet.
`boolean` `previous​()` Moves to the previous row in the rowset.
`void` `refreshRow​()` Sets the current row with its original value and marks the row as not updated, thus undoing any changes made to the row since the last call to the methods updateRow or deleteRow.
`boolean` `relative​(int rows)` Moves a relative number of rows, either positive or negative.
`void` `release​()` Releases the current contents of the rowset.
`void` `restoreOriginal​()` Restores the rowset to its original state ( the original value of the rowset becomes the current value).
`boolean` `rowDeleted​()` Determine if this row has been deleted.
`boolean` `rowInserted​()` Determine if the current row has been inserted.
`boolean` `rowUpdated​()` Determine if the current row has been updated.
`void` `setCommand​(java.lang.String cmd)` Sets this OPLCachedRowSet object's command property to the given String object and clears the parameters, if any, that were set for the previous command.
`void` `setConcurrency​(int concurrency)` Sets the concurrency for this rowset to the specified concurrency.
`void` `setKeyColumns​(int[] keys)` Sets this OPLCachedRowSet object's keyCols field with the given array of column numbers, which forms a key for uniquely identifying a row in this rowset.
`void` `setMetaData​(javax.sql.RowSetMetaData md)` Set the rowset's metadata.
`void` `setOriginal​()` Marks all rows in this rowset as being original rows.
`void` `setOriginalRow​()` Marks the current row in this rowset as being an original row.
`void` `setShowDeleted​(boolean value)` Set the show deleted property.
`void` `setTableName​(java.lang.String _tableName)` Sets the identifier for the table from which this rowset was derived to the given table name.
`int` `size​()` Returns the number of rows in this OPLCachedRowSet object.
`java.util.Collection` `toCollection​()` Convert the rowset to a collection of tables.
`java.util.Collection` `toCollection​(int col)` Return a column of the rowset as a collection.
`<T> T` `unwrap​(java.lang.Class<T> iface)` Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
`void` `updateArray​(int columnIndex, java.sql.Array x)` Updates the designated column with a `java.sql.Array` value.
`void` `updateArray​(java.lang.String columnName, java.sql.Array x)` Updates the designated column with a `java.sql.Array` value.
`void` `updateAsciiStream​(int columnIndex, java.io.InputStream x)` Updates the designated column with an ascii stream value.
`void` `updateAsciiStream​(int columnIndex, java.io.InputStream x, int length)` Update a column with an ascii stream value.
`void` `updateAsciiStream​(int columnIndex, java.io.InputStream x, long length)` Updates the designated column with an ascii stream value, which will have the specified number of bytes.
`void` `updateAsciiStream​(java.lang.String columnLabel, java.io.InputStream x)` Updates the designated column with an ascii stream value.
`void` `updateAsciiStream​(java.lang.String columnName, java.io.InputStream x, int length)` Update a column with an ascii stream value.
`void` `updateAsciiStream​(java.lang.String columnLabel, java.io.InputStream x, long length)` Updates the designated column with an ascii stream value, which will have the specified number of bytes.
`void` `updateBigDecimal​(int columnIndex, java.math.BigDecimal x)` Update a column with a BigDecimal value.
`void` `updateBigDecimal​(java.lang.String columnName, java.math.BigDecimal x)` Update a column with a BigDecimal value.
`void` `updateBinaryStream​(int columnIndex, java.io.InputStream x)` Updates the designated column with a binary stream value.
`void` `updateBinaryStream​(int columnIndex, java.io.InputStream x, int length)` Update a column with a binary stream value.
`void` `updateBinaryStream​(int columnIndex, java.io.InputStream x, long length)` Updates the designated column with a binary stream value, which will have the specified number of bytes.
`void` `updateBinaryStream​(java.lang.String columnLabel, java.io.InputStream x)` Updates the designated column with a binary stream value.
`void` `updateBinaryStream​(java.lang.String columnName, java.io.InputStream x, int length)` Update a column with a binary stream value.
`void` `updateBinaryStream​(java.lang.String columnLabel, java.io.InputStream x, long length)` Updates the designated column with a binary stream value, which will have the specified number of bytes.
`void` `updateBlob​(int columnIndex, java.io.InputStream inputStream)` Updates the designated column using the given input stream.
`void` `updateBlob​(int columnIndex, java.io.InputStream inputStream, long length)` Updates the designated column using the given input stream, which will have the specified number of bytes.
`void` `updateBlob​(int columnIndex, java.sql.Blob x)` Updates the designated column with a `java.sql.Blob` value.
`void` `updateBlob​(java.lang.String columnLabel, java.io.InputStream inputStream)` Updates the designated column using the given input stream.
`void` `updateBlob​(java.lang.String columnLabel, java.io.InputStream inputStream, long length)` Updates the designated column using the given input stream, which will have the specified number of bytes.
`void` `updateBlob​(java.lang.String columnName, java.sql.Blob x)` Updates the designated column with a `java.sql.Blob` value.
`void` `updateBoolean​(int columnIndex, boolean x)` Update a column with a boolean value.
`void` `updateBoolean​(java.lang.String columnName, boolean x)` Update a column with a boolean value.
`void` `updateByte​(int columnIndex, byte x)` Update a column with a byte value.
`void` `updateByte​(java.lang.String columnName, byte x)` Update a column with a byte value.
`void` `updateBytes​(int columnIndex, byte[] x)` Update a column with a byte array value.
`void` `updateBytes​(java.lang.String columnName, byte[] x)` Update a column with a byte array value.
`void` `updateCharacterStream​(int columnIndex, java.io.Reader x)` Updates the designated column with a character stream value.
`void` `updateCharacterStream​(int columnIndex, java.io.Reader x, int length)` Update a column with a character stream value.
`void` `updateCharacterStream​(int columnIndex, java.io.Reader x, long length)` Updates the designated column with a character stream value, which will have the specified number of bytes.
`void` `updateCharacterStream​(java.lang.String columnLabel, java.io.Reader reader)` Updates the designated column with a character stream value.
`void` `updateCharacterStream​(java.lang.String columnName, java.io.Reader reader, int length)` Update a column with a character stream value.
`void` `updateCharacterStream​(java.lang.String columnLabel, java.io.Reader reader, long length)` Updates the designated column with a character stream value, which will have the specified number of bytes.
`void` `updateClob​(int columnIndex, java.io.Reader reader)` Updates the designated column using the given `Reader` object.
`void` `updateClob​(int columnIndex, java.io.Reader reader, long length)` Updates the designated column using the given `Reader` object, which is the given number of characters long.
`void` `updateClob​(int columnIndex, java.sql.Clob x)` Updates the designated column with a `java.sql.Clob` value.
`void` `updateClob​(java.lang.String columnLabel, java.io.Reader reader)` Updates the designated column using the given `Reader` object.
`void` `updateClob​(java.lang.String columnLabel, java.io.Reader reader, long length)` Updates the designated column using the given `Reader` object, which is the given number of characters long.
`void` `updateClob​(java.lang.String columnName, java.sql.Clob x)` Updates the designated column with a `java.sql.Clob` value.
`void` `updateDate​(int columnIndex, java.sql.Date x)` Update a column with a Date value.
`void` `updateDate​(java.lang.String columnName, java.sql.Date x)` Update a column with a Date value.
`void` `updateDouble​(int columnIndex, double x)` Update a column with a Double value.
`void` `updateDouble​(java.lang.String columnName, double x)` Update a column with a double value.
`void` `updateFloat​(int columnIndex, float x)` Update a column with a float value.
`void` `updateFloat​(java.lang.String columnName, float x)` Update a column with a float value.
`void` `updateInt​(int columnIndex, int x)` Update a column with an integer value.
`void` `updateInt​(java.lang.String columnName, int x)` Update a column with an integer value.
`void` `updateLong​(int columnIndex, long x)` Update a column with a long value.
`void` `updateLong​(java.lang.String columnName, long x)` Update a column with a long value.
`void` `updateNCharacterStream​(int columnIndex, java.io.Reader x)` Updates the designated column with a character stream value.
`void` `updateNCharacterStream​(int columnIndex, java.io.Reader x, long length)` Updates the designated column with a character stream value, which will have the specified number of bytes.
`void` `updateNCharacterStream​(java.lang.String columnLabel, java.io.Reader reader)` Updates the designated column with a character stream value.
`void` `updateNCharacterStream​(java.lang.String columnLabel, java.io.Reader reader, long length)` Updates the designated column with a character stream value, which will have the specified number of bytes.
`void` `updateNClob​(int columnIndex, java.io.Reader reader)` Updates the designated column using the given `Reader` The data will be read from the stream as needed until end-of-stream is reached.
`void` `updateNClob​(int columnIndex, java.io.Reader reader, long length)` Updates the designated column using the given `Reader` object, which is the given number of characters long.
`void` `updateNClob​(int columnIndex, java.sql.NClob x)` Updates the designated column with a `java.sql.NClob` value.
`void` `updateNClob​(java.lang.String columnLabel, java.io.Reader reader)` Updates the designated column using the given `Reader` object.
`void` `updateNClob​(java.lang.String columnLabel, java.io.Reader reader, long length)` Updates the designated column using the given `Reader` object, which is the given number of characters long.
`void` `updateNClob​(java.lang.String columnLabel, java.sql.NClob nClob)` Updates the designated column with a `java.sql.NClob` value.
`void` `updateNString​(int columnIndex, java.lang.String nString)` Updates the designated column with a `String` value.
`void` `updateNString​(java.lang.String columnLabel, java.lang.String nString)` Updates the designated column with a `String` value.
`void` `updateNull​(int columnIndex)` Give a nullable column a null value.
`void` `updateNull​(java.lang.String columnName)` Update a column with a null value.
`void` `updateObject​(int columnIndex, java.lang.Object x)` Update a column with an Object value.
`void` `updateObject​(int columnIndex, java.lang.Object x, int scale)` Update a column with an Object value.
`void` `updateObject​(java.lang.String columnName, java.lang.Object x)` Update a column with an Object value.
`void` `updateObject​(java.lang.String columnName, java.lang.Object x, int scale)` Update a column with an Object value.
`void` `updateRef​(int columnIndex, java.sql.Ref x)` Updates the designated column with a `java.sql.Ref` value.
`void` `updateRef​(java.lang.String columnName, java.sql.Ref x)` Updates the designated column with a `java.sql.Ref` value.
`void` `updateRow​()` Marks the current row of this rowset as updated but it does not update the row to the underlying data source.
`void` `updateRowId​(int columnIndex, java.sql.RowId x)` Updates the designated column with a `RowId` value.
`void` `updateRowId​(java.lang.String columnLabel, java.sql.RowId x)` Updates the designated column with a `RowId` value.
`void` `updateShort​(int columnIndex, short x)` Update a column with a short value.
`void` `updateShort​(java.lang.String columnName, short x)` Update a column with a short value.
`void` `updateSQLXML​(int columnIndex, java.sql.SQLXML xmlObject)` Updates the designated column with a `java.sql.SQLXML` value.
`void` `updateSQLXML​(java.lang.String columnLabel, java.sql.SQLXML xmlObject)` Updates the designated column with a `java.sql.SQLXML` value.
`void` `updateString​(int columnIndex, java.lang.String x)` Update a column with a String value.
`void` `updateString​(java.lang.String columnName, java.lang.String x)` Update a column with a String value.
`void` `updateTime​(int columnIndex, java.sql.Time x)` Update a column with a Time value.
`void` `updateTime​(java.lang.String columnName, java.sql.Time x)` Update a column with a Time value.
`void` `updateTimestamp​(int columnIndex, java.sql.Timestamp x)` Update a column with a Timestamp value.
`void` `updateTimestamp​(java.lang.String columnName, java.sql.Timestamp x)` Update a column with a Timestamp value.
`boolean` `wasNull​()` A column may have the value of SQL NULL; wasNull reports whether the last column read had this special value.

### Methods inherited from class virtuoso.javax.BaseRowSet

`addRowSetListener, clearParameters, getCommand, getConcurrency, getDataSourceName, getEscapeProcessing, getFetchDirection, getFetchSize, getMaxFieldSize, getMaxRows, getParam, getParams, getPassword, getQueryTimeout, getTransactionIsolation, getType, getTypeMap, getUrl, getUsername, isReadOnly, notifyListener, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setDataSourceName, setDate, setDate, setDate, setDate, setDouble, setDouble, setEscapeProcessing, setFetchDirection, setFetchSize, setFloat, setFloat, setInt, setInt, setLong, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setRowId, setRowId, setShort, setShort, setSQLXML, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUnicodeStream, setUrl, setURL, setUsername`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.sql.ResultSet

`updateObject, updateObject, updateObject, updateObject`

### Methods inherited from interface javax.sql.RowSetInternal

`getParams`

### Constructor Detail

#### OPLCachedRowSet

    public OPLCachedRowSet​()
                    throws java.sql.SQLException

Create a OPLCachedRowSet object. The object has no metadata.

Throws:
  `java.sql.SQLException` - if an error occurs.

### Method Detail

#### clone

    protected java.lang.Object clone​()
                              throws java.lang.CloneNotSupportedException

Overrides:
  `clone` in class `java.lang.Object`
Throws:
  `java.lang.CloneNotSupportedException`

#### finalize

    public void finalize​()
                  throws java.lang.Throwable

Overrides:
  `finalize` in class `java.lang.Object`
Throws:
  `java.lang.Throwable`

#### setCommand

    public void setCommand​(java.lang.String cmd)
                    throws java.sql.SQLException

Sets this OPLCachedRowSet object's command property to the given String object and clears the parameters, if any, that were set for the previous command.

Overrides:
  `setCommand` in class `BaseRowSet`
Parameters:
  `cmd` - - a String object containing an SQL query that will be set as the command
Throws:
  `java.sql.SQLException` - - if an error occurs

#### setConcurrency

    public void setConcurrency​(int concurrency)
                        throws java.sql.SQLException

Sets the concurrency for this rowset to the specified concurrency. The default concurrency is ResultSet.CONCUR_UPDATABLE.

Overrides:
  `setConcurrency` in class `BaseRowSet`
Parameters:
  `concurrency` - - one of the following constants: ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
Throws:
  `java.sql.SQLException` - - if an error occurs

#### acceptChanges

    public void acceptChanges​()
                       throws java.sql.SQLException

Propagate all row update, insert, and delete changes to a data source. An SQLException is thrown if any of the updates cannot be propagated. If acceptChanges() fails then the caller can assume that none of the updates are reflected in the data source. The current row is set to the first "updated" row that resulted in an exception, in the case that an exception is thrown. With one exception, if the row that caused the exception is a "deleted" row, then in the usual case, when deleted rows are not shown, the current row is not affected. When successful, calling acceptChanges() replaces the original value of the rowset with the current value. Note: Both the original and current value of the rowset are maintained. The original state is the value of the rowset following its creation (i.e. empty), or following the last call to acceptChanges(), execute(), populate(), release(), or restoreOriginal(). Internally, a RowSetWriter component is envoked to write the data for each row.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### acceptChanges

    public void acceptChanges​(java.sql.Connection _conn)
                       throws java.sql.SQLException

Like acceptChanges() above, but takes a Connection argument. The Connection is used internally when doing the updates. This form is not used unless the underlying data source is a JDBC data source.

Parameters:
  `_conn` - a database connection
Throws:
  `java.sql.SQLException` - if an error occurs.

#### execute

    public void execute​()
                 throws java.sql.SQLException

Populates this OPLCachedRowSet object with data. This form of the method uses the rowset's user, password, and url or data source name properties to create a database connection. If properties that are needed have not been set, this method will throw an exception. Another form of this method uses an existing JDBC Connection object instead of creating a new one; therefore, it ignores the properties used for establishing a new connection. The query specified by the command property is executed to create a ResultSet object from which to retrieve data. The current contents of the rowset are discarded, and the rowset's metadata is also (re)set. If there are outstanding updates, they are also ignored. The method execute closes any database connections that it creates.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### execute

    public void execute​(java.sql.Connection _conn)
                 throws java.sql.SQLException

Populates the rowset with data. The first form uses the properties: url/data source name, user, and password to create a database connection. If these properties have not been set, an exception is thrown. The second form uses an existing JDBC connection object instead. The values of the url/data source name, user, and password properties are ignored when the second form is used. Execute() closes any database connections that it creates. The command specified by the command property is executed to retrieve the data. The current contents of the rowset are discarded and the rowset's metadata is also (re)set. If there are outstanding updates, they are also ignored.

Parameters:
  `_conn` - a database connection
Throws:
  `java.sql.SQLException` - if an error occurs.

#### populate

    public void populate​(java.sql.ResultSet rs)
                  throws java.sql.SQLException

Populate the OPLCachedRowSet object with data from a ResultSet. This method is an alternative to execute() for filling the rowset with data. Populate() does not require that the properties needed by execute(), such as the command property, be set. A RowSetChangedEvent is sent to all registered listeners prior to returning.

Parameters:
  `rs` - the data to be read
Throws:
  `java.sql.SQLException` - if an error occurs.

#### setShowDeleted

    public void setShowDeleted​(boolean value)
                        throws java.sql.SQLException

Set the show deleted property.

Parameters:
  `value` - true if deleted rows should be shown, false otherwise
Throws:
  `java.sql.SQLException` - if an error occurs.

#### getShowDeleted

    public boolean getShowDeleted​()
                           throws java.sql.SQLException

This property determines whether or not rows marked for deletion appear in the set of current rows. The default value is false.

Returns:
  true if deleted rows are visible, false otherwise
Throws:
  `java.sql.SQLException` - if an error occurs.

#### getTableName

    public java.lang.String getTableName​()
                                  throws java.sql.SQLException

Returns an identifier for the object (table) that was used to create this rowset.

Returns:
  a String object that identifies the table from which this OPLCachedRowSet object was derived
Throws:
  `java.sql.SQLException` - if an error occurs.

#### setTableName

    public void setTableName​(java.lang.String _tableName)
                      throws java.sql.SQLException

Sets the identifier for the table from which this rowset was derived to the given table name. Note: You do not usually need to set a table name, because the OPLCachedRowSet tries to determine the table name from your SQL query command.

Parameters:
  `_tableName` - - a String object that identifies the table from which this OPLCachedRowSet object was derived
Throws:
  `java.sql.SQLException` - if an error occurs.

#### getKeyCols

    public int[] getKeyCols​()
                     throws java.sql.SQLException

Returns the columns that make a key to uniquely identify a row in this OPLCachedRowSet object.

Returns:
  an array of column numbers that constitute a key for this rowset
Throws:
  `java.sql.SQLException` - if an error occurs.

#### setKeyColumns

    public void setKeyColumns​(int[] keys)
                       throws java.sql.SQLException

Sets this OPLCachedRowSet object's keyCols field with the given array of column numbers, which forms a key for uniquely identifying a row in this rowset. Note: If you do not set the keyCols, the OPLCachedRowSet will set automatically based on RowSetMetaData

Parameters:
  `keys` - - an array of int indicating the columns that form a key for this OPLCachedRowSet object; every element in the array must be greater than 0 and less than or equal to the number of columns in this rowset
Throws:
  `java.sql.SQLException` - if an error occurs.

#### cancelRowDelete

    public void cancelRowDelete​()
                         throws java.sql.SQLException

Cancels deletion of the current row and notifies listeners that a row has changed. After calling cancelRowDelete() the current row is no longer marked for deletion. An exception is thrown if there is no current row. Note: This method can be ignored if deleted rows are not being shown (the normal case).

Throws:
  `java.sql.SQLException` - if an error occurs.

#### cancelRowInsert

    public void cancelRowInsert​()
                         throws java.sql.SQLException

Cancels insertion of the current row and notifies listeners that a row has changed. An exception is thrown if the row is not an inserted row. The current row is immediately removed from the rowset. This operation cannot be undone.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### cancelRowUpdates

    public void cancelRowUpdates​()
                          throws java.sql.SQLException

The cancelRowUpdates() method may be called after calling an updateXXX() method(s) and before calling updateRow() to rollback the updates made to a row. If no updates have been made or updateRow() has already been called, then this method has no effect. It notifies listeners that a row has changed, if it has effect.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### columnUpdated

    public boolean columnUpdated​(int columnIndex)
                          throws java.sql.SQLException

Determine if the column from the current row has been updated.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  true if the column has been updated
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### setOriginal

    public void setOriginal​()
                     throws java.sql.SQLException

Marks all rows in this rowset as being original rows. Any updates made to the rows become the original values for the rowset. Calls to the method setOriginal cannot be reversed.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### setOriginalRow

    public void setOriginalRow​()
                        throws java.sql.SQLException

Marks the current row in this rowset as being an original row. The row is no longer marked as inserted, deleted, or updated, and its values become the original values. A call to setOriginalRow cannot be reversed.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### restoreOriginal

    public void restoreOriginal​()
                         throws java.sql.SQLException

Restores the rowset to its original state ( the original value of the rowset becomes the current value). All updates, inserts, and deletes made to the original state are lost. The cursor is positioned before the first row. A RowSetChangedEvent is sent to all registered listeners prior to returning.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### size

    public int size​()

Returns the number of rows in this OPLCachedRowSet object.

Returns:
  the number of rows

#### toCollection

    public java.util.Collection toCollection​()
                                      throws java.sql.SQLException

Convert the rowset to a collection of tables. Each tables represents a row of the original rowset. The tables are keyed by column number. A copy of the rowset's contents is made.

Returns:
  a collection object
Throws:
  `java.sql.SQLException` - if an error occurs.

#### toCollection

    public java.util.Collection toCollection​(int col)
                                      throws java.sql.SQLException

Return a column of the rowset as a collection. Makes a copy of the column data.

Parameters:
  `col` - The column number
Returns:
  a collection object
Throws:
  `java.sql.SQLException` - if an error occurs.

#### release

    public void release​()
                 throws java.sql.SQLException

Releases the current contents of the rowset. Outstanding updates are discarded. The rowset contains no rows after release is called. A RowSetChangedEvent is sent to all registered listeners prior to returning.

Throws:
  `java.sql.SQLException` - if an error occurs.

#### createCopy

    public javax.sql.RowSet createCopy​()
                                throws java.sql.SQLException

Creates a RowSet object that is a deep copy of this OPLCachedRowSet object's data. Updates made on a copy are not visible to the original rowset; a copy of a rowset is completely independent from the original. Making a copy saves the cost of creating an identical rowset from first principles, which can be quite expensive. For example, it does not do the query to a remote database server.

Returns:
  a copy of the rowset
Throws:
  `java.sql.SQLException` - if an error occurs.

#### createShared

    public javax.sql.RowSet createShared​()
                                  throws java.sql.SQLException

Returns a new rowset object backed by the same data. Updates made by a shared duplicate are visible to the original rowset and other duplicates. A rowset and its duplicates form a set of cursors that iterate over a shared set of rows, providing different views of the underlying data. Duplicates also share property values. So, for example, if a rowset is read-only then all of its duplicates will be read-only.

Returns:
  a shared rowset object
Throws:
  `java.sql.SQLException` - if an error occurs.

#### setMetaData

    public void setMetaData​(javax.sql.RowSetMetaData md)
                     throws java.sql.SQLException

Set the rowset's metadata.

Specified by:
  `setMetaData` in interface `javax.sql.RowSetInternal`
Parameters:
  `md` - a metadata object
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getConnection

    public java.sql.Connection getConnection​()
                                      throws java.sql.SQLException

Get the Connection passed to the rowset.

Specified by:
  `getConnection` in interface `javax.sql.RowSetInternal`
Returns:
  the Connection passed to the rowset, or null if none
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getOriginal

    public java.sql.ResultSet getOriginal​()
                                   throws java.sql.SQLException

Returns a result set containing the original value of the rowset. The cursor is positioned before the first row in the result set. Only rows contained in the result set returned by getOriginal() are said to have an original value.

Specified by:
  `getOriginal` in interface `javax.sql.RowSetInternal`
Returns:
  the original value of the rowset
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getOriginalRow

    public java.sql.ResultSet getOriginalRow​()
                                      throws java.sql.SQLException

Returns a result set containing the original value of the current row only. If the current row has no original value an empty result set is returned. If there is no current row an exception is thrown.

Specified by:
  `getOriginalRow` in interface `javax.sql.RowSetInternal`
Returns:
  the original value of the row
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### close

    public void close​()
               throws java.sql.SQLException

Releases the current contents of this rowset, discarding outstanding updates. The rowset contains no rows after the method release is called. This method sends a RowSetChangedEvent object to all registered listeners prior to returning.

Overrides:
  `close` in class `BaseRowSet`
Throws:
  `java.sql.SQLException` - if an error occurs.

#### next

    public boolean next​()
                 throws java.sql.SQLException

A ResultSet is initially positioned before its first row; the first call to next makes the first row the current row; the second call makes the second row the current row, etc.

If an input stream from the previous row is open, it is implicitly closed. The ResultSet's warning chain is cleared when a new row is read.

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

#### previous

    public boolean previous​()
                     throws java.sql.SQLException

Moves to the previous row in the rowset.

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

Returns:
  true if on a valid row, false if off the rowset.
Throws:
  `java.sql.SQLException` - if a database-access error occurs, or rowset type is TYPE_FORWAR_DONLY.

#### first

    public boolean first​()
                  throws java.sql.SQLException

Moves to the first row in the rowset. It notifies listeners that the cursor has moved.

Returns:
  true if on a valid row, false if no rows in the rowset.
Throws:
  `java.sql.SQLException` - if a database-access error occurs, or rowset type is TYPE_FORWARD_ONLY.

#### last

    public boolean last​()
                 throws java.sql.SQLException

Moves to the last row in the rowset. It notifies listeners that the cursor has moved.

Returns:
  true if on a valid row, false if no rows in the rowset.
Throws:
  `java.sql.SQLException` - if a database-access error occurs, or rowset type is TYPE_FORWARD_ONLY.

#### absolute

    public boolean absolute​(int row)
                     throws java.sql.SQLException

Move to an absolute row number in the rowset. It notifies listeners that the cursor has moved.

If row is positive, moves to an absolute row with respect to the beginning of the rowset. The first row is row 1, the second is row 2, etc.

If row is negative, moves to an absolute row position with respect to the end of rowset. For example, calling absolute(-1) positions the cursor on the last row, absolute(-2) indicates the next-to-last row, etc.

An attempt to position the cursor beyond the first/last row in the rowset, leaves the cursor before/after the first/last row, respectively.

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

Returns:
  true if on the rowset, false if off.
Throws:
  `java.sql.SQLException` - if a database-access error occurs, or row is 0, or rowset type is TYPE_FORWARD_ONLY.

#### relative

    public boolean relative​(int rows)
                     throws java.sql.SQLException

Moves a relative number of rows, either positive or negative. Attempting to move beyond the first/last row in the rowset positions the cursor before/after the the first/last row. Calling relative(0) is valid, but does not change the cursor position. It notifies listeners that the cursor has moved.

Note: Calling relative(1) is different than calling next() since 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 rowset.

Returns:
  true if on a row, false otherwise.
Throws:
  `java.sql.SQLException` - if a database-access error occurs, or there is no current row, or rowset type is TYPE_FORWARD_ONLY.

#### beforeFirst

    public void beforeFirst​()
                     throws java.sql.SQLException

Moves to the front of the rowset, just before the first row. Has no effect if the rowset contains no rows. It notifies listeners that the cursor has moved.

Throws:
  `java.sql.SQLException` - if a database-access error occurs, or rowset type is TYPE_FORWARD_ONLY

#### afterLast

    public void afterLast​()
                   throws java.sql.SQLException

Moves to the end of the rowset, just after the last row. Has no effect if the rowset contains no rows. It notifies listeners that the cursor has moved.

Throws:
  `java.sql.SQLException` - if a database-access error occurs, or rowset type is TYPE_FORWARD_ONLY.

#### isBeforeFirst

    public boolean isBeforeFirst​()
                          throws java.sql.SQLException

Determine if the cursor is before the first row in the rowset.

Returns:
  true if before the first row, false otherwise. Returns false when the rowset contains no rows.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### isAfterLast

    public boolean isAfterLast​()
                        throws java.sql.SQLException

Determine if the cursor is after the last row in the rowset.

Returns:
  true if after the last row, false otherwise. Returns false when the rowset contains no rows.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### isFirst

    public boolean isFirst​()
                    throws java.sql.SQLException

Determine if the cursor is on the first row of the rowset.

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

#### isLast

    public boolean isLast​()
                   throws java.sql.SQLException

Determine if the cursor is on the last row of the rowset. Note: Calling isLast() may be expensive since the rowset might need to check ahead one row in order to determine whether the current row is the last row in the rowset.

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

#### getRow

    public int getRow​()
               throws java.sql.SQLException

Determine the current row number. The first row is number 1, the second number 2, etc.

Returns:
  the current row number, else return 0 if there is no current row
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### rowUpdated

    public boolean rowUpdated​()
                       throws java.sql.SQLException

Determine if the current row has been updated. The value returned depends on whether or not the rowset can detect updates.

Returns:
  true if the row has been visibly updated by the owner or another, and updates are detected
Throws:
  `java.sql.SQLException` - if a database-access error occurs
See Also:
  `DatabaseMetaData.updatesAreDetected(int)`

#### rowInserted

    public boolean rowInserted​()
                        throws java.sql.SQLException

Determine if the current row has been inserted. The value returned depends on whether or not the rowset can detect visible inserts.

Returns:
  true if inserted and inserts are detected
Throws:
  `java.sql.SQLException` - if a database-access error occurs
See Also:
  `DatabaseMetaData.insertsAreDetected(int)`

#### rowDeleted

    public boolean rowDeleted​()
                       throws java.sql.SQLException

Determine if this row has been deleted. A deleted row may leave a visible "hole" in a rowset. This method can be used to detect holes in a rowset. The value returned depends on whether or not the rowset can detect deletions.

Returns:
  true if deleted and deletes are detected
Throws:
  `java.sql.SQLException` - if a database-access error occurs
See Also:
  `DatabaseMetaData.deletesAreDetected(int)`

#### refreshRow

    public void refreshRow​()
                    throws java.sql.SQLException

Sets the current row with its original value and marks the row as not updated, thus undoing any changes made to the row since the last call to the methods updateRow or deleteRow. This method should be called only when the cursor is on a row in this rowset. Cannot be called when on the insert row.

Throws:
  `java.sql.SQLException` - if a database-access error occurs, or if called when on the insert row.

#### insertRow

    public void insertRow​()
                   throws java.sql.SQLException

Inserts the contents of the insert row into this rowset following the current row and it notifies listeners that the row has changed. The cursor must be on the insert row when this method is called. The method marks the current row as inserted, but it does not insert the row to the underlying data source. The method acceptChanges must be called to insert the row to the data source.

Throws:
  `java.sql.SQLException` - if a database access error occurs, if this method is called when the cursor is not on the insert row

#### updateRow

    public void updateRow​()
                   throws java.sql.SQLException

Marks the current row of this rowset as updated but it does not update the row to the underlying data source. The method acceptChanges must be called to update the row to the data source. It notifies listeners that the row has changed also. Cannot be called when on the insert row.

Throws:
  `java.sql.SQLException` - if a database-access error occurs, or if called when on the insert row

#### deleteRow

    public void deleteRow​()
                   throws java.sql.SQLException

Delete the current row from this OPLCachedRowSet object and it notifies listeners that a row has changed. Cannot be called when the cursor is on the insert row. The method marks the current row as deleted, but it does not delete the row from the underlying data source. The method acceptChanges must be called to delete the row in the data source.

Throws:
  `java.sql.SQLException` - if a database-access error occurs, or if called when on the insert row.

#### moveToInsertRow

    public void moveToInsertRow​()
                         throws java.sql.SQLException

Move 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 rowset. It is essentially a buffer where a new row may be constructed by calling the updateXXX() methods prior to inserting the row into the rowset. Only the updateXXX(), getXXX(), and insertRow() methods may be called when the cursor is on the insert row. All of the columns in a rowset must be given a value each time this method is called before calling insertRow(). UpdateXXX()must be called before getXXX() on a column.

Throws:
  `java.sql.SQLException` - if a database-access error occurs, or the rowset is not updatable

#### moveToCurrentRow

    public void moveToCurrentRow​()
                          throws java.sql.SQLException

Move the cursor to the remembered cursor position, usually the current row. Has no effect unless the cursor is on the insert row.

Throws:
  `java.sql.SQLException` - if a database-access error occurs, or the rowset is not updatable

#### wasNull

    public boolean wasNull​()
                    throws java.sql.SQLException

A column may have the value of SQL NULL; wasNull reports whether the last column read had this special value. Note that you must first call getXXX on a column to try to read its value and then call wasNull() to find if the value was the SQL NULL.

Returns:
  true if last column read was SQL NULL
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getWarnings

    public java.sql.SQLWarning getWarnings​()
                                    throws java.sql.SQLException

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

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

Note: This warning chain only covers warnings caused by ResultSet methods. Any warning caused by statement methods (such as reading OUT parameters) will be chained on the Statement object.

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

#### clearWarnings

    public void clearWarnings​()
                       throws java.sql.SQLException

After this call getWarnings returns null until a new warning is reported for this ResultSet.

Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getCursorName

    public java.lang.String getCursorName​()
                                   throws java.sql.SQLException

Get the name of the SQL cursor used by this ResultSet.

Returns:
  the null
Throws:
  `java.sql.SQLException` - if an error occurs.

#### getMetaData

    public java.sql.ResultSetMetaData getMetaData​()
                                           throws java.sql.SQLException

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

Returns:
  the description of a ResultSet's columns
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### findColumn

    public int findColumn​(java.lang.String columnName)
                   throws java.sql.SQLException

Map a Resultset column name to a ResultSet column index.

Parameters:
  `columnName` - the name of the column
Returns:
  the column index
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getString

    public java.lang.String getString​(int columnIndex)
                               throws java.sql.SQLException

Get the value of a column in the current row as a Java String.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBoolean

    public boolean getBoolean​(int columnIndex)
                       throws java.sql.SQLException

Get the value of a column in the current row as a Java boolean.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is false
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getByte

    public byte getByte​(int columnIndex)
                 throws java.sql.SQLException

Get the value of a column in the current row as a Java byte.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getShort

    public short getShort​(int columnIndex)
                   throws java.sql.SQLException

Get the value of a column in the current row as a Java short.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getInt

    public int getInt​(int columnIndex)
               throws java.sql.SQLException

Get the value of a column in the current row as a Java int.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getLong

    public long getLong​(int columnIndex)
                 throws java.sql.SQLException

Get the value of a column in the current row as a Java long.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getFloat

    public float getFloat​(int columnIndex)
                   throws java.sql.SQLException

Get the value of a column in the current row as a Java float.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getDouble

    public double getDouble​(int columnIndex)
                     throws java.sql.SQLException

Get the value of a column in the current row as a Java double.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(int columnIndex)
                                       throws java.sql.SQLException

Get the value of a column in the current row as a java.math.BigDecimal object.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value (full precision); if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(int columnIndex,
                                              int scale)
                                       throws java.sql.SQLException

Deprecated.
Get the value of a column in the current row as a java.math.BigDecimal object.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `scale` - the number of digits to the right of the decimal
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBytes

    public byte[] getBytes​(int columnIndex)
                    throws java.sql.SQLException

Get the value of a column in the current row as a Java byte array. The bytes represent the raw values returned by the driver.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getDate

    public java.sql.Date getDate​(int columnIndex)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Date object.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTime

    public java.sql.Time getTime​(int columnIndex)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Time object.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(int columnIndex)
                                    throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Timestamp object.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getAsciiStream

    public java.io.InputStream getAsciiStream​(int columnIndex)
                                       throws java.sql.SQLException

A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

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

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a Java input stream that delivers the database column value as a stream of one byte ASCII characters. If the value is SQL NULL then the result is null.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getUnicodeStream

    public java.io.InputStream getUnicodeStream​(int columnIndex)
                                         throws java.sql.SQLException

Deprecated.
A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode.

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

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a Java input stream that delivers the database column value as a stream of two byte Unicode characters. If the value is SQL NULL then the result is null.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBinaryStream

    public java.io.InputStream getBinaryStream​(int columnIndex)
                                        throws java.sql.SQLException

A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values.

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

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL then the result is null.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getObject

    public java.lang.Object getObject​(int columnIndex)
                               throws java.sql.SQLException

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

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

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

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

#### getString

    public java.lang.String getString​(java.lang.String columnName)
                               throws java.sql.SQLException

Get the value of a column in the current row as a Java String.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBoolean

    public boolean getBoolean​(java.lang.String columnName)
                       throws java.sql.SQLException

Get the value of a column in the current row as a Java boolean.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is false
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getByte

    public byte getByte​(java.lang.String columnName)
                 throws java.sql.SQLException

Get the value of a column in the current row as a Java byte.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getShort

    public short getShort​(java.lang.String columnName)
                   throws java.sql.SQLException

Get the value of a column in the current row as a Java short.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getInt

    public int getInt​(java.lang.String columnName)
               throws java.sql.SQLException

Get the value of a column in the current row as a Java int.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getLong

    public long getLong​(java.lang.String columnName)
                 throws java.sql.SQLException

Get the value of a column in the current row as a Java long.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getFloat

    public float getFloat​(java.lang.String columnName)
                   throws java.sql.SQLException

Get the value of a column in the current row as a Java float.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getDouble

    public double getDouble​(java.lang.String columnName)
                     throws java.sql.SQLException

Get the value of a column in the current row as a Java double.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(java.lang.String columnName,
                                              int scale)
                                       throws java.sql.SQLException

Deprecated.
Get the value of a column in the current row as a java.math.BigDecimal object.

Parameters:
  `columnName` - is the SQL name of the column
  `scale` - the number of digits to the right of the decimal
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBytes

    public byte[] getBytes​(java.lang.String columnName)
                    throws java.sql.SQLException

Get the value of a column in the current row as a Java byte array. The bytes represent the raw values returned by the driver.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getDate

    public java.sql.Date getDate​(java.lang.String columnName)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Date object.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTime

    public java.sql.Time getTime​(java.lang.String columnName)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Time object.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(java.lang.String columnName)
                                    throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Timestamp object.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getAsciiStream

    public java.io.InputStream getAsciiStream​(java.lang.String columnName)
                                       throws java.sql.SQLException

A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  a Java input stream that delivers the database column value as a stream of one byte ASCII characters. If the value is SQL NULL then the result is null.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getUnicodeStream

    public java.io.InputStream getUnicodeStream​(java.lang.String columnName)
                                         throws java.sql.SQLException

Deprecated.
A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  a Java input stream that delivers the database column value as a stream of two byte Unicode characters. If the value is SQL NULL then the result is null.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getBinaryStream

    public java.io.InputStream getBinaryStream​(java.lang.String columnName)
                                        throws java.sql.SQLException

A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Parameters:
  `columnName` - is the SQL name of the column
Returns:
  a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL then the result is null.
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getObject

    public java.lang.Object getObject​(java.lang.String columnName)
                               throws java.sql.SQLException

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

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

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

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

#### getCharacterStream

    public java.io.Reader getCharacterStream​(int columnIndex)
                                      throws java.sql.SQLException

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

Throws:
  `java.sql.SQLException`

#### getCharacterStream

    public java.io.Reader getCharacterStream​(java.lang.String columnName)
                                      throws java.sql.SQLException

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

Throws:
  `java.sql.SQLException`

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(java.lang.String columnName)
                                       throws java.sql.SQLException

Get the value of a column in the current row as a java.math.BigDecimal object.

Throws:
  `java.sql.SQLException`

#### updateNull

    public void updateNull​(int columnIndex)
                    throws java.sql.SQLException

Give a nullable column a null value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBoolean

    public void updateBoolean​(int columnIndex,
                              boolean x)
                       throws java.sql.SQLException

Update a column with a boolean value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateByte

    public void updateByte​(int columnIndex,
                           byte x)
                    throws java.sql.SQLException

Update a column with a byte value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateShort

    public void updateShort​(int columnIndex,
                            short x)
                     throws java.sql.SQLException

Update a column with a short value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateInt

    public void updateInt​(int columnIndex,
                          int x)
                   throws java.sql.SQLException

Update a column with an integer value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateLong

    public void updateLong​(int columnIndex,
                           long x)
                    throws java.sql.SQLException

Update a column with a long value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateFloat

    public void updateFloat​(int columnIndex,
                            float x)
                     throws java.sql.SQLException

Update a column with a float value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateDouble

    public void updateDouble​(int columnIndex,
                             double x)
                      throws java.sql.SQLException

Update a column with a Double value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBigDecimal

    public void updateBigDecimal​(int columnIndex,
                                 java.math.BigDecimal x)
                          throws java.sql.SQLException

Update a column with a BigDecimal value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateString

    public void updateString​(int columnIndex,
                             java.lang.String x)
                      throws java.sql.SQLException

Update a column with a String value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBytes

    public void updateBytes​(int columnIndex,
                            byte[] x)
                     throws java.sql.SQLException

Update a column with a byte array value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateDate

    public void updateDate​(int columnIndex,
                           java.sql.Date x)
                    throws java.sql.SQLException

Update a column with a Date value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateTime

    public void updateTime​(int columnIndex,
                           java.sql.Time x)
                    throws java.sql.SQLException

Update a column with a Time value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateTimestamp

    public void updateTimestamp​(int columnIndex,
                                java.sql.Timestamp x)
                         throws java.sql.SQLException

Update a column with a Timestamp value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateAsciiStream

    public void updateAsciiStream​(int columnIndex,
                                  java.io.InputStream x,
                                  int length)
                           throws java.sql.SQLException

Update a column with an ascii stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBinaryStream

    public void updateBinaryStream​(int columnIndex,
                                   java.io.InputStream x,
                                   int length)
                            throws java.sql.SQLException

Update a column with a binary stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateCharacterStream

    public void updateCharacterStream​(int columnIndex,
                                      java.io.Reader x,
                                      int length)
                               throws java.sql.SQLException

Update a column with a character stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateObject

    public void updateObject​(int columnIndex,
                             java.lang.Object x,
                             int scale)
                      throws java.sql.SQLException

Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `scale` - For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types this is the number of digits after the decimal. For all other types this value will be ignored.
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateObject

    public void updateObject​(int columnIndex,
                             java.lang.Object x)
                      throws java.sql.SQLException

Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateNull

    public void updateNull​(java.lang.String columnName)
                    throws java.sql.SQLException

Update a column with a null value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBoolean

    public void updateBoolean​(java.lang.String columnName,
                              boolean x)
                       throws java.sql.SQLException

Update a column with a boolean value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateByte

    public void updateByte​(java.lang.String columnName,
                           byte x)
                    throws java.sql.SQLException

Update a column with a byte value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateShort

    public void updateShort​(java.lang.String columnName,
                            short x)
                     throws java.sql.SQLException

Update a column with a short value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateInt

    public void updateInt​(java.lang.String columnName,
                          int x)
                   throws java.sql.SQLException

Update a column with an integer value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateLong

    public void updateLong​(java.lang.String columnName,
                           long x)
                    throws java.sql.SQLException

Update a column with a long value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateFloat

    public void updateFloat​(java.lang.String columnName,
                            float x)
                     throws java.sql.SQLException

Update a column with a float value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateDouble

    public void updateDouble​(java.lang.String columnName,
                             double x)
                      throws java.sql.SQLException

Update a column with a double value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBigDecimal

    public void updateBigDecimal​(java.lang.String columnName,
                                 java.math.BigDecimal x)
                          throws java.sql.SQLException

Update a column with a BigDecimal value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateString

    public void updateString​(java.lang.String columnName,
                             java.lang.String x)
                      throws java.sql.SQLException

Update a column with a String value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBytes

    public void updateBytes​(java.lang.String columnName,
                            byte[] x)
                     throws java.sql.SQLException

Update a column with a byte array value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateDate

    public void updateDate​(java.lang.String columnName,
                           java.sql.Date x)
                    throws java.sql.SQLException

Update a column with a Date value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateTime

    public void updateTime​(java.lang.String columnName,
                           java.sql.Time x)
                    throws java.sql.SQLException

Update a column with a Time value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateTimestamp

    public void updateTimestamp​(java.lang.String columnName,
                                java.sql.Timestamp x)
                         throws java.sql.SQLException

Update a column with a Timestamp value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateAsciiStream

    public void updateAsciiStream​(java.lang.String columnName,
                                  java.io.InputStream x,
                                  int length)
                           throws java.sql.SQLException

Update a column with an ascii stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
  `length` - of the stream
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateBinaryStream

    public void updateBinaryStream​(java.lang.String columnName,
                                   java.io.InputStream x,
                                   int length)
                            throws java.sql.SQLException

Update a column with a binary stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
  `length` - of the stream
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateCharacterStream

    public void updateCharacterStream​(java.lang.String columnName,
                                      java.io.Reader reader,
                                      int length)
                               throws java.sql.SQLException

Update a column with a character stream value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `reader` - the new column value
  `length` - of the stream
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateObject

    public void updateObject​(java.lang.String columnName,
                             java.lang.Object x,
                             int scale)
                      throws java.sql.SQLException

Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
  `scale` - For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types this is the number of digits after the decimal. For all other types this value will be ignored.
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### updateObject

    public void updateObject​(java.lang.String columnName,
                             java.lang.Object x)
                      throws java.sql.SQLException

Update a column with an Object value. The updateXXX() methods are used to update column values in the current row, or the insert row. The updateXXX() methods do not update the underlying database, instead the updateRow() or insertRow() methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### getStatement

    public java.sql.Statement getStatement​()
                                    throws java.sql.SQLException

Return the Statement that produced the ResultSet.

Returns:
  the Statement that produced the rowset (return the null for the OPLCachedRowSet)
Throws:
  `java.sql.SQLException` - if a database-access error occurs

#### getObject

    public java.lang.Object getObject​(int colIndex,
                                      java.util.Map map)
                               throws java.sql.SQLException

Returns the value of column @i as a Java object. Use the map to determine the class from which to construct data of SQL structured and distinct types.

Parameters:
  `colIndex` - the first column is 1, the second is 2, ...
  `map` - the mapping from SQL type names to Java classes
Returns:
  an object representing the SQL value
Throws:
  `java.sql.SQLException`

#### getRef

    public java.sql.Ref getRef​(int colIndex)
                        throws java.sql.SQLException

Get a REF(<structured-type>) column.

Parameters:
  `colIndex` - the first column is 1, the second is 2, ...
Returns:
  an object representing data of an SQL REF type
Throws:
  `java.sql.SQLException`

#### getBlob

    public java.sql.Blob getBlob​(int colIndex)
                          throws java.sql.SQLException

Get a BLOB column.

Parameters:
  `colIndex` - the first column is 1, the second is 2, ...
Returns:
  an object representing a BLOB
Throws:
  `java.sql.SQLException`

#### getClob

    public java.sql.Clob getClob​(int colIndex)
                          throws java.sql.SQLException

Get a CLOB column.

Parameters:
  `colIndex` - the first column is 1, the second is 2, ...
Returns:
  an object representing a CLOB
Throws:
  `java.sql.SQLException`

#### getArray

    public java.sql.Array getArray​(int colIndex)
                            throws java.sql.SQLException

Get an array column.

Parameters:
  `colIndex` - the first column is 1, the second is 2, ...
Returns:
  an object representing an SQL array
Throws:
  `java.sql.SQLException`

#### getObject

    public java.lang.Object getObject​(java.lang.String colName,
                                      java.util.Map map)
                               throws java.sql.SQLException

Returns the value of column @i as a Java object. Use the map to determine the class from which to construct data of SQL structured and distinct types.

Parameters:
  `colName` - the column name
  `map` - the mapping from SQL type names to Java classes
Returns:
  an object representing the SQL value
Throws:
  `java.sql.SQLException`

#### getRef

    public java.sql.Ref getRef​(java.lang.String colName)
                        throws java.sql.SQLException

Get a REF(<structured-type>) column.

Parameters:
  `colName` - the column name
Returns:
  an object representing data of an SQL REF type
Throws:
  `java.sql.SQLException`

#### getBlob

    public java.sql.Blob getBlob​(java.lang.String colName)
                          throws java.sql.SQLException

Get a BLOB column.

Parameters:
  `colName` - the column name
Returns:
  an object representing a BLOB
Throws:
  `java.sql.SQLException`

#### getClob

    public java.sql.Clob getClob​(java.lang.String colName)
                          throws java.sql.SQLException

Get a CLOB column.

Parameters:
  `colName` - the column name
Returns:
  an object representing a CLOB
Throws:
  `java.sql.SQLException`

#### getArray

    public java.sql.Array getArray​(java.lang.String colName)
                            throws java.sql.SQLException

Get an array column.

Parameters:
  `colName` - the column name
Returns:
  an object representing an SQL array
Throws:
  `java.sql.SQLException`

#### getDate

    public java.sql.Date getDate​(int columnIndex,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database does not store timezone information.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `cal` - the calendar to use in constructing the date
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getDate

    public java.sql.Date getDate​(java.lang.String columnName,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Date object. Use the calendar to construct an appropriate millisecond value for the Date, if the underlying database does not store timezone information.

Parameters:
  `columnName` - is the SQL name of the column
  `cal` - the calendar to use in constructing the date
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTime

    public java.sql.Time getTime​(int columnIndex,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database does not store timezone information.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `cal` - the calendar to use in constructing the time
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTime

    public java.sql.Time getTime​(java.lang.String columnName,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Time object. Use the calendar to construct an appropriate millisecond value for the Time, if the underlying database does not store timezone information.

Parameters:
  `columnName` - is the SQL name of the column
  `cal` - the calendar to use in constructing the time
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(int columnIndex,
                                           java.util.Calendar cal)
                                    throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database does not store timezone information.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `cal` - the calendar to use in constructing the timestamp
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(java.lang.String columnName,
                                           java.util.Calendar cal)
                                    throws java.sql.SQLException

Get the value of a column in the current row as a java.sql.Timestamp object. Use the calendar to construct an appropriate millisecond value for the Timestamp, if the underlying database does not store timezone information.

Parameters:
  `columnName` - is the SQL name of the column
  `cal` - the calendar to use in constructing the timestamp
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### getURL

    public java.net.URL getURL​(int columnIndex)
                        throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.

Parameters:
  `columnIndex` - the index of the column 1 is the first, 2 is the second,...
Returns:
  the column value as a `java.net.URL` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
Throws:
  `java.sql.SQLException` - if a database access error occurs, or if a URL is malformed
Since:
  1.4

#### getURL

    public java.net.URL getURL​(java.lang.String columnName)
                        throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.

Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value as a `java.net.URL` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
Throws:
  `java.sql.SQLException` - if a database access error occurs or if a URL is malformed
Since:
  1.4

#### updateRef

    public void updateRef​(int columnIndex,
                          java.sql.Ref x)
                   throws java.sql.SQLException

Updates the designated column with a `java.sql.Ref` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### updateRef

    public void updateRef​(java.lang.String columnName,
                          java.sql.Ref x)
                   throws java.sql.SQLException

Updates the designated column with a `java.sql.Ref` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### updateBlob

    public void updateBlob​(int columnIndex,
                           java.sql.Blob x)
                    throws java.sql.SQLException

Updates the designated column with a `java.sql.Blob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### updateBlob

    public void updateBlob​(java.lang.String columnName,
                           java.sql.Blob x)
                    throws java.sql.SQLException

Updates the designated column with a `java.sql.Blob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### updateClob

    public void updateClob​(int columnIndex,
                           java.sql.Clob x)
                    throws java.sql.SQLException

Updates the designated column with a `java.sql.Clob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### updateClob

    public void updateClob​(java.lang.String columnName,
                           java.sql.Clob x)
                    throws java.sql.SQLException

Updates the designated column with a `java.sql.Clob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### updateArray

    public void updateArray​(int columnIndex,
                            java.sql.Array x)
                     throws java.sql.SQLException

Updates the designated column with a `java.sql.Array` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### updateArray

    public void updateArray​(java.lang.String columnName,
                            java.sql.Array x)
                     throws java.sql.SQLException

Updates the designated column with a `java.sql.Array` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.4

#### getRowId

    public java.sql.RowId getRowId​(int columnIndex)
                            throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.

Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
Returns:
  the column value; if the value is a SQL `NULL` the value returned is `null`
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getRowId

    public java.sql.RowId getRowId​(java.lang.String columnLabel)
                            throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.RowId` object in the Java programming language.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
  the column value ; if the value is a SQL `NULL` the value returned is `null`
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateRowId

    public void updateRowId​(int columnIndex,
                            java.sql.RowId x)
                     throws java.sql.SQLException

Updates the designated column with a `RowId` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
  `x` - the column value
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateRowId

    public void updateRowId​(java.lang.String columnLabel,
                            java.sql.RowId x)
                     throws java.sql.SQLException

Updates the designated column with a `RowId` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `x` - the column value
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getHoldability

    public int getHoldability​()
                       throws java.sql.SQLException

Retrieves the holdability of this `ResultSet` object

Returns:
  either `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`
Throws:
  `java.sql.SQLException` - if a database access error occurs or this method is called on a closed result set
Since:
  1.6

#### isClosed

    public boolean isClosed​()
                     throws java.sql.SQLException

Retrieves whether this `ResultSet` object has been closed. A `ResultSet` is closed if the method close has been called on it, or if it is automatically closed.

Returns:
  true if this `ResultSet` object is closed; false if it is still open
Throws:
  `java.sql.SQLException` - if a database access error occurs
Since:
  1.6

#### updateNString

    public void updateNString​(int columnIndex,
                              java.lang.String nString)
                       throws java.sql.SQLException

Updates the designated column with a `String` value. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
  `nString` - the value for the column to be updated
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; the result set concurrency is `CONCUR_READ_ONLY` or if a database access error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNString

    public void updateNString​(java.lang.String columnLabel,
                              java.lang.String nString)
                       throws java.sql.SQLException

Updates the designated column with a `String` value. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `nString` - the value for the column to be updated
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; the result set concurrency is `CONCUR_READ_ONLY` or if a database access error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNClob

    public void updateNClob​(int columnIndex,
                            java.sql.NClob x)
                     throws java.sql.SQLException

Updates the designated column with a `java.sql.NClob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
  `x` - the value for the column to be updated
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is `CONCUR_READ_ONLY`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNClob

    public void updateNClob​(java.lang.String columnLabel,
                            java.sql.NClob nClob)
                     throws java.sql.SQLException

Updates the designated column with a `java.sql.NClob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `nClob` - the value for the column to be updated
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is `CONCUR_READ_ONLY`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNClob

    public java.sql.NClob getNClob​(int columnIndex)
                            throws java.sql.SQLException

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

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a `NClob` object representing the SQL `NCLOB` value in the specified column
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNClob

    public java.sql.NClob getNClob​(java.lang.String columnLabel)
                            throws java.sql.SQLException

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

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
  a `NClob` object representing the SQL `NCLOB` value in the specified column
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getSQLXML

    public java.sql.SQLXML getSQLXML​(int columnIndex)
                              throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a `SQLXML` object that maps an `SQL XML` value
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getSQLXML

    public java.sql.SQLXML getSQLXML​(java.lang.String columnLabel)
                              throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` as a `java.sql.SQLXML` object in the Java programming language.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
  a `SQLXML` object that maps an `SQL XML` value
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateSQLXML

    public void updateSQLXML​(int columnIndex,
                             java.sql.SQLXML xmlObject)
                      throws java.sql.SQLException

Updates the designated column with a `java.sql.SQLXML` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
  `xmlObject` - the value for the column to be updated
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; this method is called on a closed result set; the `java.xml.transform.Result`, `Writer` or `OutputStream` has not been closed for the `SQLXML` object; if there is an error processing the XML value or the result set concurrency is `CONCUR_READ_ONLY`. The `getCause` method of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML.
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateSQLXML

    public void updateSQLXML​(java.lang.String columnLabel,
                             java.sql.SQLXML xmlObject)
                      throws java.sql.SQLException

Updates the designated column with a `java.sql.SQLXML` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `xmlObject` - the column value
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; this method is called on a closed result set; the `java.xml.transform.Result`, `Writer` or `OutputStream` has not been closed for the `SQLXML` object; if there is an error processing the XML value or the result set concurrency is `CONCUR_READ_ONLY`. The `getCause` method of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML.
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNString

    public java.lang.String getNString​(int columnIndex)
                                throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the column value; if the value is SQL `NULL`, the value returned is `null`
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNString

    public java.lang.String getNString​(java.lang.String columnLabel)
                                throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
  the column value; if the value is SQL `NULL`, the value returned is `null`
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNCharacterStream

    public java.io.Reader getNCharacterStream​(int columnIndex)
                                       throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNCharacterStream

    public java.io.Reader getNCharacterStream​(java.lang.String columnLabel)
                                       throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
  a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNCharacterStream

    public void updateNCharacterStream​(int columnIndex,
                                       java.io.Reader x,
                                       long length)
                                throws java.sql.SQLException

Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNCharacterStream

    public void updateNCharacterStream​(java.lang.String columnLabel,
                                       java.io.Reader reader,
                                       long length)
                                throws java.sql.SQLException

Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - the `java.io.Reader` object containing the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateAsciiStream

    public void updateAsciiStream​(int columnIndex,
                                  java.io.InputStream x,
                                  long length)
                           throws java.sql.SQLException

Updates the designated column with an ascii stream value, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBinaryStream

    public void updateBinaryStream​(int columnIndex,
                                   java.io.InputStream x,
                                   long length)
                            throws java.sql.SQLException

Updates the designated column with a binary stream value, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateCharacterStream

    public void updateCharacterStream​(int columnIndex,
                                      java.io.Reader x,
                                      long length)
                               throws java.sql.SQLException

Updates the designated column with a character stream value, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateAsciiStream

    public void updateAsciiStream​(java.lang.String columnLabel,
                                  java.io.InputStream x,
                                  long length)
                           throws java.sql.SQLException

Updates the designated column with an ascii stream value, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBinaryStream

    public void updateBinaryStream​(java.lang.String columnLabel,
                                   java.io.InputStream x,
                                   long length)
                            throws java.sql.SQLException

Updates the designated column with a binary stream value, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateCharacterStream

    public void updateCharacterStream​(java.lang.String columnLabel,
                                      java.io.Reader reader,
                                      long length)
                               throws java.sql.SQLException

Updates the designated column with a character stream value, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - the `java.io.Reader` object containing the new column value
  `length` - the length of the stream
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBlob

    public void updateBlob​(int columnIndex,
                           java.io.InputStream inputStream,
                           long length)
                    throws java.sql.SQLException

Updates the designated column using the given input stream, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `inputStream` - An object that contains the data to set the parameter value to.
  `length` - the number of bytes in the parameter data.
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBlob

    public void updateBlob​(java.lang.String columnLabel,
                           java.io.InputStream inputStream,
                           long length)
                    throws java.sql.SQLException

Updates the designated column using the given input stream, which will have the specified number of bytes.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `inputStream` - An object that contains the data to set the parameter value to.
  `length` - the number of bytes in the parameter data.
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateClob

    public void updateClob​(int columnIndex,
                           java.io.Reader reader,
                           long length)
                    throws java.sql.SQLException

Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `reader` - An object that contains the data to set the parameter value to.
  `length` - the number of characters in the parameter data.
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateClob

    public void updateClob​(java.lang.String columnLabel,
                           java.io.Reader reader,
                           long length)
                    throws java.sql.SQLException

Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - An object that contains the data to set the parameter value to.
  `length` - the number of characters in the parameter data.
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNClob

    public void updateNClob​(int columnIndex,
                            java.io.Reader reader,
                            long length)
                     throws java.sql.SQLException

Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
  `reader` - An object that contains the data to set the parameter value to.
  `length` - the number of characters in the parameter data.
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency is `CONCUR_READ_ONLY`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNClob

    public void updateNClob​(java.lang.String columnLabel,
                            java.io.Reader reader,
                            long length)
                     throws java.sql.SQLException

Updates the designated column using the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - An object that contains the data to set the parameter value to.
  `length` - the number of characters in the parameter data.
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is `CONCUR_READ_ONLY`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNCharacterStream

    public void updateNCharacterStream​(int columnIndex,
                                       java.io.Reader x)
                                throws java.sql.SQLException

Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNCharacterStream` which takes a length parameter.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNCharacterStream

    public void updateNCharacterStream​(java.lang.String columnLabel,
                                       java.io.Reader reader)
                                throws java.sql.SQLException

Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` columns.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNCharacterStream` which takes a length parameter.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - the `java.io.Reader` object containing the new column value
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateAsciiStream

    public void updateAsciiStream​(int columnIndex,
                                  java.io.InputStream x)
                           throws java.sql.SQLException

Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateAsciiStream` which takes a length parameter.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBinaryStream

    public void updateBinaryStream​(int columnIndex,
                                   java.io.InputStream x)
                            throws java.sql.SQLException

Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBinaryStream` which takes a length parameter.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateCharacterStream

    public void updateCharacterStream​(int columnIndex,
                                      java.io.Reader x)
                               throws java.sql.SQLException

Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateCharacterStream` which takes a length parameter.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateAsciiStream

    public void updateAsciiStream​(java.lang.String columnLabel,
                                  java.io.InputStream x)
                           throws java.sql.SQLException

Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateAsciiStream` which takes a length parameter.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBinaryStream

    public void updateBinaryStream​(java.lang.String columnLabel,
                                   java.io.InputStream x)
                            throws java.sql.SQLException

Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBinaryStream` which takes a length parameter.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `x` - the new column value
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateCharacterStream

    public void updateCharacterStream​(java.lang.String columnLabel,
                                      java.io.Reader reader)
                               throws java.sql.SQLException

Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateCharacterStream` which takes a length parameter.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - the `java.io.Reader` object containing the new column value
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBlob

    public void updateBlob​(int columnIndex,
                           java.io.InputStream inputStream)
                    throws java.sql.SQLException

Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBlob` which takes a length parameter.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `inputStream` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateBlob

    public void updateBlob​(java.lang.String columnLabel,
                           java.io.InputStream inputStream)
                    throws java.sql.SQLException

Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateBlob` which takes a length parameter.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `inputStream` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateClob

    public void updateClob​(int columnIndex,
                           java.io.Reader reader)
                    throws java.sql.SQLException

Updates the designated column using the given `Reader` object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateClob` which takes a length parameter.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `reader` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateClob

    public void updateClob​(java.lang.String columnLabel,
                           java.io.Reader reader)
                    throws java.sql.SQLException

Updates the designated column using the given `Reader` object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateClob` which takes a length parameter.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is `CONCUR_READ_ONLY` or this method is called on a closed result set
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNClob

    public void updateNClob​(int columnIndex,
                            java.io.Reader reader)
                     throws java.sql.SQLException

Updates the designated column using the given `Reader` The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNClob` which takes a length parameter.

Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
  `reader` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency is `CONCUR_READ_ONLY`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### updateNClob

    public void updateNClob​(java.lang.String columnLabel,
                            java.io.Reader reader)
                     throws java.sql.SQLException

Updates the designated column using the given `Reader` object. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `updateNClob` which takes a length parameter.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `reader` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is `CONCUR_READ_ONLY`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### unwrap

    public <T> T unwrap​(java.lang.Class<T> iface)
                 throws java.sql.SQLException

Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling `unwrap` recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an `SQLException` is thrown.

Parameters:
  `iface` - A Class defining an interface that the result must implement.
Returns:
  an object that implements the interface. May be a proxy for the actual implementing object.
Throws:
  `java.sql.SQLException` - If no object found that implements the interface
Since:
  1.6

#### isWrapperFor

    public boolean isWrapperFor​(java.lang.Class<?> iface)
                         throws java.sql.SQLException

Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling `isWrapperFor` on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to `unwrap` so that callers can use this method to avoid expensive `unwrap` calls that may fail. If this method returns true then calling `unwrap` with the same argument should succeed.

Parameters:
  `iface` - a Class defining an interface.
Returns:
  true if this implements the interface or directly or indirectly wraps an object that does.
Throws:
  `java.sql.SQLException` - if an error occurs while determining whether this is a wrapper for an object with the given interface.
Since:
  1.6

#### getObject

    public <T> T getObject​(int columnIndex,
                           java.lang.Class<T> type)
                    throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a `SQLException` is thrown.

At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements `SQLData`, or `Struct`. Additional conversions may be supported and are vendor defined.

Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `type` - Class representing the Java data type to convert the designated column to.
Returns:
  an instance of `type` holding the column value
Throws:
  `java.sql.SQLException` - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.7

#### getObject

    public <T> T getObject​(java.lang.String columnLabel,
                           java.lang.Class<T> type)
                    throws java.sql.SQLException

Retrieves the value of the designated column in the current row of this `ResultSet` object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a `SQLException` is thrown.

At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements `SQLData`, or `Struct`. Additional conversions may be supported and are vendor defined.

Parameters:
  `columnLabel` - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
  `type` - Class representing the Java data type to convert the designated column to.
Returns:
  an instance of `type` holding the column value
Throws:
  `java.sql.SQLException` - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.7