Package virtuoso.jdbc4

## Class VirtuosoResultSet

- java.lang.Object
- - virtuoso.jdbc4.VirtuosoResultSet

All Implemented Interfaces:
  `java.lang.AutoCloseable`, `java.sql.ResultSet`, `java.sql.Wrapper`

    public class VirtuosoResultSet
    extends java.lang.Object
    implements java.sql.ResultSet

The VirtuosoResultSet class is an implementation of the ResultSet interface in the JDBC API which represents result of a query. You can obtain a ResultSet like below :

       ResultSet rs = statement.executeQuery("SELECT * FROM TABLE ...")

See Also:
  `ResultSet`, `VirtuosoStatement`, `VirtuosoPreparedStatement`, `VirtuosoCallableStatement`

### Field Summary

Fields
`static int` `CONCUR_READ_ONLY` JDBC 2.0 extension.
`static int` `CONCUR_UPDATABLE` JDBC 2.0 extension.
`static int` `CONCUR_VALUES`
`protected int` `currentRow`
`static int` `FETCH_FORWARD` JDBC 2.0 extension.
`static int` `FETCH_REVERSE` JDBC 2.0 extension.
`static int` `FETCH_UNKNOWN` JDBC 2.0 extension.
`protected boolean` `isLastResult`
`protected boolean` `isLastRow`
`protected VirtuosoResultSetMetaData` `metaData`
`protected Vector` `rows`
`protected boolean` `stmt_co_last_in_batch`
`protected int` `stmt_current_of`
`protected int` `stmt_n_rows_to_get`
`protected int` `totalRows`
`static int` `TYPE_FORWARD_ONLY` JDBC 2.0 extension.
`static int` `TYPE_SCROLL_INSENSITIVE` JDBC 2.0 extension.
`static int` `TYPE_SCROLL_SENSITIVE` JDBC 2.0 extension.

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

`CLOSE_CURSORS_AT_COMMIT, HOLD_CURSORS_OVER_COMMIT`

### Constructor Summary

Constructors
`protected` `VirtuosoResultSet​(VirtuosoConnection vc, java.lang.String[] col_names, int[] col_dtps)`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`boolean` `absolute​(int row)` Moves the cursor to the given row number in the result set.
`void` `afterLast​()` Moves the cursor to the end of the result set, just after the last row.
`void` `beforeFirst​()` Moves the cursor to the front of the result set, just before the first row.
`void` `cancelRowUpdates​()` Cancels the updates made to a row.
`void` `clearWarnings​()` Clears all the warnings reported on this ResultSet object.
`void` `close​()` Releases this ResultSet object's database and JDBC resources immediately instead of new wait for this to happen when it is automatically closed.
`void` `deleteRow​()` Deletes the current row from the result set and the underlying database.
`boolean` `equals​(java.lang.Object obj)` Compares two Objects for equality.
`void` `finalize​()` Method runs when the garbage collector want to erase the object
`int` `findColumn​(java.lang.String name)` Returns the column number corresponding to the name.
`boolean` `first​()` Moves the cursor to the first row in the result set.
`java.sql.Array` `getArray​(int i)` Gets an SQL ARRAY value from the current row of this `ResultSet` object.
`java.sql.Array` `getArray​(java.lang.String columnName)` Gets an SQL ARRAY value in the current row of this `ResultSet` object.
`java.io.InputStream` `getAsciiStream​(int columnIndex)` Gets the value of a column in the current row as a stream of ASCII characters.
`java.io.InputStream` `getAsciiStream​(java.lang.String columnName)` Gets the value of a column in the current row as a stream of ASCII characters.
`java.math.BigDecimal` `getBigDecimal​(int columnIndex)` Gets the value of a column in the current row as a java.math.BigDecimal object with full precision.
`java.math.BigDecimal` `getBigDecimal​(int columnIndex, int scale)` Deprecated.
`java.math.BigDecimal` `getBigDecimal​(java.lang.String columnName)` Gets 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)` Gets the value of a column in the current row as a stream of uninterpreted bytes.
`java.io.InputStream` `getBinaryStream​(java.lang.String columnName)` Gets the value of a column in the current row as a stream of uninterpreted bytes.
`java.sql.Blob` `getBlob​(int i)` Gets a BLOB value in the current row of this `ResultSet` object.
`java.sql.Blob` `getBlob​(java.lang.String columnName)` Gets a BLOB value in the current row of this `ResultSet` object.
`boolean` `getBoolean​(int columnIndex)` Gets the value of a column in the current row as a Java boolean.
`boolean` `getBoolean​(java.lang.String columnName)` Gets the value of a column in the current row as a Java boolean.
`byte` `getByte​(int columnIndex)` Gets the value of a column in the current row as a Java byte.
`byte` `getByte​(java.lang.String columnName)` Gets the value of a column in the current row as a Java byte.
`byte[]` `getBytes​(int columnIndex)` Gets the value of a column in the current row as a Java byte array.
`byte[]` `getBytes​(java.lang.String columnName)` Gets the value of a column in the current row as a Java byte array.
`java.io.Reader` `getCharacterStream​(int columnIndex)` Gets the value of a column in the current row as a java.io.Reader.
`java.io.Reader` `getCharacterStream​(java.lang.String columnName)` Gets the value of a column in the current row as a java.io.Reader.
`java.sql.Clob` `getClob​(int i)` Gets a CLOB value in the current row of this `ResultSet` object.
`java.sql.Clob` `getClob​(java.lang.String columnName)` Gets a CLOB value in the current row of this `ResultSet` object.
`int` `getConcurrency​()` Returns the concurrency mode of this result set.
`java.lang.String` `getCursorName​()` Gets the name of the SQL cursor used by this ResultSet.
`java.sql.Date` `getDate​(int columnIndex)` Gets 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)` Gets the value of a column in the current row as a java.sql.Date object.
`java.sql.Date` `getDate​(java.lang.String columnName)` Gets 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)` Gets the value of a column in the current row as a java.sql.Date object.
`double` `getDouble​(int columnIndex)` Gets the value of a column in the current row as a Java double.
`double` `getDouble​(java.lang.String columnName)` Gets the value of a column in the current row as a Java double.
`int` `getFetchDirection​()` Retrieves the fetch direction of this result set.
`int` `getFetchSize​()` Retrieves the number of result set rows that is the default fetch size for result sets generated from this ResultSet object.
`float` `getFloat​(int columnIndex)` Gets the value of a column in the current row as a Java float.
`float` `getFloat​(java.lang.String columnName)` Gets 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)` Gets the value of a column in the current row as a Java int.
`int` `getInt​(java.lang.String columnName)` Gets the value of a column in the current row as a Java int.
`long` `getLong​(int columnIndex)` Gets the value of a column in the current row as a Java long.
`long` `getLong​(java.lang.String columnName)` Gets the value of a column in the current row as a Java long.
`java.sql.ResultSetMetaData` `getMetaData​()` Retrieves the number, types and properties of a ResultSet's columns.
`protected void` `getMoreResults​(boolean isPrepare)` Method uses to get next rows of this result set.
`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)` Gets 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 i, java.util.Map map)` Returns the value of a column in the current row as a Java object.
`java.lang.Object` `getObject​(java.lang.String columnName)` Gets 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 columnName, java.util.Map map)` Returns the value in the specified column as a Java object.
`java.sql.Ref` `getRef​(int i)` Gets a REF(<structured-type>) column value from the current row.
`java.sql.Ref` `getRef​(java.lang.String columnName)` Gets a REF(<structured-type>) column value from the current row.
`int` `getRow​()` Retrieves 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)` Gets the value of a column in the current row as a Java short.
`short` `getShort​(java.lang.String columnName)` Gets the value of a column in the current row as a Java short.
`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​()` Returns the VirtuosoStatement object that produced this VirtuosoResultSet object.
`java.lang.String` `getString​(int columnIndex)` Gets the value of a column in the current row as a Java String.
`java.lang.String` `getString​(java.lang.String columnName)` Gets the value of a column in the current row as a Java String.
`java.sql.Time` `getTime​(int columnIndex)` Gets 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)` Gets the value of a column in the current row as a java.sql.Time object.
`java.sql.Time` `getTime​(java.lang.String columnName)` Gets 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)` Gets the value of a column in the current row as a java.sql.Time object.
`java.sql.Timestamp` `getTimestamp​(int columnIndex)` Gets 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)` Gets the value of a column in the current row as a java.sql.Timestamp object.
`java.sql.Timestamp` `getTimestamp​(java.lang.String columnName)` Gets 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)` Gets the value of a column in the current row as a java.sql.Timestamp object.
`int` `getType​()` Returns the type of this result set.
`java.io.InputStream` `getUnicodeStream​(int columnIndex)` Deprecated.
`java.io.InputStream` `getUnicodeStream​(java.lang.String columnName)` Deprecated.
`protected int` `getUpdateCount​()` Method uses to retrieve the Update count.
`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​()` Retrieves the first warning reported by calls on this ResultSet.
`void` `insertRow​()` Inserts the contents of the insert row into the result set and the database.
`boolean` `isAfterLast​()` Indicates whether the cursor is after the last row in the result set.
`boolean` `isBeforeFirst​()` Indicates whether the cursor is before the first row in the result set.
`boolean` `isClosed​()` Retrieves whether this `ResultSet` object has been closed.
`boolean` `isFirst​()` Indicates whether the cursor is on the first row of the result set.
`boolean` `isLast​()` Indicates whether the cursor is on the last row of the result set.
`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.
`protected int` `kindop​()` Retrieves the kind of operation of this Result set.
`boolean` `last​()` Moves the cursor to the last row in the result set.
`protected boolean` `more_result​()` Retrieves if it exist more result after this set.
`void` `moveToCurrentRow​()` Moves the cursor to the remembered cursor position, usually the current row.
`void` `moveToInsertRow​()` Moves the cursor to the insert row.
`boolean` `next​()` Moves the cursor down one row from its current position.
`boolean` `previous​()` Moves the cursor to the previous row in the result set.
`void` `refreshRow​()` Refreshes the current row with its most recent value in the database.
`boolean` `relative​(int row)` Moves the cursor a relative number of rows, either positive or negative.
`boolean` `rowDeleted​()` Indicates whether a row has been deleted.
`boolean` `rowInserted​()` Indicates whether the current row has had an insertion.
`boolean` `rowUpdated​()` Indicates whether the current row has been updated.
`protected void` `sendBlobData​(Vector result)`
`void` `setFetchDirection​(int direction)` Sets the default fetch direction of this result set.
`void` `setFetchSize​(int rows)` Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed.
`protected void` `setUpdateCount​(int n)`
`<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)` Updates 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)` Updates 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)` Updates a column with a BigDecimal value.
`void` `updateBigDecimal​(java.lang.String columnName, java.math.BigDecimal x)` Updates 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)` Updates 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)` Updates 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)` Updates a column with a boolean value.
`void` `updateBoolean​(java.lang.String columnName, boolean x)` Updates a column with a boolean value.
`void` `updateByte​(int columnIndex, byte x)` Updates a column with a byte value.
`void` `updateByte​(java.lang.String columnName, byte x)` Updates a column with a byte value.
`void` `updateBytes​(int columnIndex, byte[] x)` Updates a column with a byte array value.
`void` `updateBytes​(java.lang.String columnName, byte[] x)` Updates 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)` Updates 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)` Updates 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)` Updates a column with a Date value.
`void` `updateDate​(java.lang.String columnName, java.sql.Date x)` Updates a column with a Date value.
`void` `updateDouble​(int columnIndex, double x)` Updates a column with a Double value.
`void` `updateDouble​(java.lang.String columnName, double x)` Updates a column with a double value.
`void` `updateFloat​(int columnIndex, float x)` Updates a column with a float value.
`void` `updateFloat​(java.lang.String columnName, float x)` Updates a column with a float value.
`void` `updateInt​(int columnIndex, int x)` Updates a column with an integer value.
`void` `updateInt​(java.lang.String columnName, int x)` Updates a column with an integer value.
`void` `updateLong​(int columnIndex, long x)` Updates a column with a long value.
`void` `updateLong​(java.lang.String columnName, long x)` Updates 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 nClob)` 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 x)` 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)` Updates a column with a null value.
`void` `updateObject​(int columnIndex, java.lang.Object x)` Updates a column with an Object value.
`void` `updateObject​(int columnIndex, java.lang.Object x, int scale)` Updates a column with an Object value.
`void` `updateObject​(java.lang.String columnName, java.lang.Object x)` Updates a column with an Object value.
`void` `updateObject​(java.lang.String columnName, java.lang.Object x, int scale)` Updates 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​()` Updates the underlying database with the new contents of the current row.
`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)` Updates a column with a short value.
`void` `updateShort​(java.lang.String columnName, short x)` Updates 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)` Updates a column with a String value.
`void` `updateString​(java.lang.String columnName, java.lang.String x)` Updates a column with a String value.
`void` `updateTime​(int columnIndex, java.sql.Time x)` Updates a column with a Time value.
`void` `updateTime​(java.lang.String columnName, java.sql.Time x)` Updates a column with a Time value.
`void` `updateTimestamp​(int columnIndex, java.sql.Timestamp x)` Updates a column with a Timestamp value.
`void` `updateTimestamp​(java.lang.String columnName, java.sql.Timestamp x)` Updates a column with a Timestamp value.
`boolean` `wasNull​()` Reports whether the last column read had a value of SQL NULL.
`protected void` `wasNull​(boolean flag)` Method used to change the wasNull flag;

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

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

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

`updateObject, updateObject, updateObject, updateObject`

### Field Detail

#### rows

    protected Vector rows

#### metaData

    protected VirtuosoResultSetMetaData metaData

#### totalRows

    protected int totalRows

#### currentRow

    protected int currentRow

#### stmt_current_of

    protected int stmt_current_of

#### stmt_n_rows_to_get

    protected int stmt_n_rows_to_get

#### stmt_co_last_in_batch

    protected boolean stmt_co_last_in_batch

#### isLastResult

    protected boolean isLastResult

#### isLastRow

    protected boolean isLastRow

#### TYPE_FORWARD_ONLY

    public static final int TYPE_FORWARD_ONLY

JDBC 2.0 extension. The type for a `ResultSet` object whose cursor may move only forward.

See Also:
  Constant Field Values

#### TYPE_SCROLL_INSENSITIVE

    public static final int TYPE_SCROLL_INSENSITIVE

JDBC 2.0 extension. The type for a `ResultSet` object that is scrollable but generally not sensitive to changes made by others.

See Also:
  Constant Field Values

#### TYPE_SCROLL_SENSITIVE

    public static final int TYPE_SCROLL_SENSITIVE

JDBC 2.0 extension. The type for a `ResultSet` object that is scrollable and generally sensitive to changes made by others.

See Also:
  Constant Field Values

#### FETCH_FORWARD

    public static final int FETCH_FORWARD

JDBC 2.0 extension. The rows in a result set will be processed in a forward direction; first-to-last.

See Also:
  Constant Field Values

#### FETCH_REVERSE

    public static final int FETCH_REVERSE

JDBC 2.0 extension. The rows in a result set will be processed in a reverse direction; last-to-first.

See Also:
  Constant Field Values

#### FETCH_UNKNOWN

    public static final int FETCH_UNKNOWN

JDBC 2.0 extension. The order in which rows in a result set will be processed is unknown.

See Also:
  Constant Field Values

#### CONCUR_READ_ONLY

    public static final int CONCUR_READ_ONLY

JDBC 2.0 extension. The concurrency mode for a `ResultSet` object that may NOT be updated.

See Also:
  Constant Field Values

#### CONCUR_UPDATABLE

    public static final int CONCUR_UPDATABLE

JDBC 2.0 extension. The concurrency mode for a `ResultSet` object that may be updated.

See Also:
  Constant Field Values

#### CONCUR_VALUES

    public static final int CONCUR_VALUES

See Also:
  Constant Field Values

### Constructor Detail

#### VirtuosoResultSet

    protected VirtuosoResultSet​(VirtuosoConnection vc,
                                java.lang.String[] col_names,
                                int[] col_dtps)
                         throws VirtuosoException

Throws:
  `VirtuosoException`

### Method Detail

#### getMoreResults

    protected void getMoreResults​(boolean isPrepare)
                           throws VirtuosoException

Method uses to get next rows of this result set.

Parameters:
  `isPrepare` - true if it is call for preparedStatement
Throws:
  `VirtuosoException` - An internal error occurred

#### getUpdateCount

    protected int getUpdateCount​()

Method uses to retrieve the Update count.

Returns:
  nb The Update count.

#### setUpdateCount

    protected void setUpdateCount​(int n)

#### finalize

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

Method runs when the garbage collector want to erase the object

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

#### getWarnings

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

Retrieves the first warning reported by calls on this ResultSet. Subsequent ResultSet warnings will be chained to this SQLWarning. Virtuoso does not generate warnings, so this function will return always null.

Specified by:
  `getWarnings` in interface `java.sql.ResultSet`
Returns:
  SQLWarning The first SQLWarning or null (must be null for the moment)
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.getWarnings()`

#### clearWarnings

    public void clearWarnings​()
                       throws VirtuosoException

Clears all the warnings reported on this ResultSet object. Virtuoso does not generate warnings, so this function does nothing.

Specified by:
  `clearWarnings` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.clearWarnings()`

#### getType

    public int getType​()
                throws VirtuosoException

Returns the type of this result set.

This is a JDBC 2.0 function. So to use it with the current Virtuoso DBMS, you have to cast the `ResultSet` class to a `VirtuosoResultSet` class like :

       int type = (VirtuosoResultSet)currentrs.getType();

Specified by:
  `getType` in interface `java.sql.ResultSet`
Returns:
  int The result set type.
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.getType()`

#### getConcurrency

    public int getConcurrency​()
                       throws VirtuosoException

Returns the concurrency mode of this result set.

This is a JDBC 2.0 function. So to use it with the current Virtuoso DBMS, you have to cast the `ResultSet` class to a `VirtuosoResultSet` class like :

       int concurrency = (VirtuosoResultSet)currentrs.getConcurrency();

Specified by:
  `getConcurrency` in interface `java.sql.ResultSet`
Returns:
  int The concurrency type.
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.getConcurrency()`

#### setFetchDirection

    public void setFetchDirection​(int direction)
                           throws VirtuosoException

Sets the default fetch direction of this result set.

This is a JDBC 2.0 function. So to use it with the current Virtuoso DBMS, you have to cast the `ResultSet` class to a `VirtuosoResultSet` class like :

       (VirtuosoResultSet)currentrs.setFetchDirection(...);

Specified by:
  `setFetchDirection` in interface `java.sql.ResultSet`
Parameters:
  `direction` - The initial direction for processing rows
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.setFetchDirection(int)`

#### getFetchDirection

    public int getFetchDirection​()
                          throws VirtuosoException

Retrieves the fetch direction of this result set.

This is a JDBC 2.0 function. So to use it with the current Virtuoso DBMS, you have to cast the `ResultSet` class to a `VirtuosoResultSet` class like :

       int fetchdir = (VirtuosoResultSet)currentrs.getFetchDirection();

Specified by:
  `getFetchDirection` in interface `java.sql.ResultSet`
Returns:
  int The default fetch direction for this result set.
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.getFetchDirection()`

#### setFetchSize

    public void setFetchSize​(int rows)
                      throws VirtuosoException

Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed.

This is a JDBC 2.0 function. So to use it with the current Virtuoso DBMS, you have to cast the `ResultSet` class to a `VirtuosoResultSet` class like :

       (VirtuosoResultSet)currentrs.setFetchSize(...);

Specified by:
  `setFetchSize` in interface `java.sql.ResultSet`
Parameters:
  `rows` - the number of rows to fetch
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.setFetchSize(int)`

#### getFetchSize

    public int getFetchSize​()
                     throws VirtuosoException

Retrieves the number of result set rows that is the default fetch size for result sets generated from this ResultSet object.

This is a JDBC 2.0 function. So to use it with the current Virtuoso DBMS, you have to cast the `ResultSet` class to a `VirtuosoResultSet` class like :

       int fetchsize = (VirtuosoResultSet)currentrs.getFetchSize();

Specified by:
  `getFetchSize` in interface `java.sql.ResultSet`
Returns:
  int The default fetch size for result sets generated.
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.getFetchSize()`

#### getStatement

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

Returns the VirtuosoStatement object that produced this VirtuosoResultSet object.

This is a JDBC 2.0 function. So to use it with the current Virtuoso DBMS, you have to cast the `ResultSet` class to a `VirtuosoResultSet` class like :

       Statement statement = (VirtuosoResultSet)currentrs.getStatement();

Specified by:
  `getStatement` in interface `java.sql.ResultSet`
Returns:
  VirtuosoStatement The connection that produced this statement
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.getStatement()`

#### getMetaData

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

Retrieves the number, types and properties of a ResultSet's columns.

Specified by:
  `getMetaData` in interface `java.sql.ResultSet`
Returns:
  VirtuosoResultSetMetaData The description of a ResultSet's columns.
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.getMetaData()`

#### kindop

    protected int kindop​()
                  throws VirtuosoException

Retrieves the kind of operation of this Result set.

Returns:
  the kind of operation
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).

#### more_result

    protected boolean more_result​()
                           throws VirtuosoException

Retrieves if it exist more result after this set.

Returns:
  if it exist more result
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).

#### findColumn

    public int findColumn​(java.lang.String name)
                   throws VirtuosoException

Returns the column number corresponding to the name.

Specified by:
  `findColumn` in interface `java.sql.ResultSet`
Parameters:
  `name` - The column name.
Returns:
  int The column number corresponding to the name.
Throws:
  `VirtuosoException` - If an internal error occurred.
See Also:
  `ResultSet.findColumn(java.lang.String)`

#### wasNull

    public boolean wasNull​()
                    throws VirtuosoException

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

Specified by:
  `wasNull` in interface `java.sql.ResultSet`
Returns:
  boolean True if last column read was SQL NULL and false otherwise.
Throws:
  `VirtuosoException` - No errors returned (just an implementation question).
See Also:
  `ResultSet.wasNull()`

#### getString

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

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

Specified by:
  `getString` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getString(int)`

#### getBoolean

    public boolean getBoolean​(int columnIndex)
                       throws VirtuosoException

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

Specified by:
  `getBoolean` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBoolean(int)`

#### getByte

    public byte getByte​(int columnIndex)
                 throws VirtuosoException

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

Specified by:
  `getByte` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getByte(int)`

#### getShort

    public short getShort​(int columnIndex)
                   throws VirtuosoException

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

Specified by:
  `getShort` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getShort(int)`

#### getInt

    public int getInt​(int columnIndex)
               throws VirtuosoException

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

Specified by:
  `getInt` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getInt(int)`

#### getLong

    public long getLong​(int columnIndex)
                 throws VirtuosoException

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

Specified by:
  `getLong` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getLong(int)`

#### getFloat

    public float getFloat​(int columnIndex)
                   throws VirtuosoException

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

Specified by:
  `getFloat` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getFloat(int)`

#### getDouble

    public double getDouble​(int columnIndex)
                     throws VirtuosoException

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

Specified by:
  `getDouble` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getDouble(int)`

#### getBigDecimal

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

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

Specified by:
  `getBigDecimal` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBigDecimal(int, int)`

#### getBytes

    public byte[] getBytes​(int columnIndex)
                    throws VirtuosoException

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

Specified by:
  `getBytes` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBytes(int)`

#### getBigDecimal

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

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

Specified by:
  `getBigDecimal` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBigDecimal(int, int)`

#### getAsciiStream

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

Gets the value of a column in the current row as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII. Note : the object returned by this method is in fact a VirtuosoAsciiInputStream object, so you have to cast the InputStream received.

Specified by:
  `getAsciiStream` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getAsciiStream(int)`

#### getUnicodeStream

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

Deprecated.
Gets the value of a column in the current row as a stream of Unicode characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode. The byte format of the Unicode stream must Java UTF-8, as specified in the Java Virtual Machine Specification. Note : the object returned by this method is in fact a VirtuosoAsciiInputStream object, so you have to cast the InputStream received.

Specified by:
  `getUnicodeStream` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getUnicodeStream(int)`

#### getBinaryStream

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

Gets the value of a column in the current row as a stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values. Note : the object returned by this method is in fact a ByteArrayInputStream object, so you have to cast the InputStream received.

Specified by:
  `getBinaryStream` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBinaryStream(int)`

#### getCharacterStream

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

Gets the value of a column in the current row as a java.io.Reader. Note : the object returned by this method is in fact a CharArrayReader object, so you have to cast the Reader received.

Specified by:
  `getCharacterStream` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  the Reader
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getCharacterStream(int)`

#### getString

    public java.lang.String getString​(java.lang.String columnName)
                               throws VirtuosoException

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

Specified by:
  `getString` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getString(int)`

#### getBoolean

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

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

Specified by:
  `getBoolean` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is false
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBoolean(int)`

#### getByte

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

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

Specified by:
  `getByte` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getByte(int)`

#### getShort

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

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

Specified by:
  `getShort` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getShort(int)`

#### getInt

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

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

Specified by:
  `getInt` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getInt(int)`

#### getLong

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

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

Specified by:
  `getLong` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getLong(int)`

#### getFloat

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

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

Specified by:
  `getFloat` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getFloat(int)`

#### getDouble

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

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

Specified by:
  `getDouble` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is 0
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getDouble(int)`

#### getBigDecimal

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

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

Specified by:
  `getBigDecimal` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
  `scale` - the number of digits to the right of the decimal
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBigDecimal(int, int)`

#### getBytes

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

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

Specified by:
  `getBytes` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBytes(int)`

#### getCharacterStream

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

Gets the value of a column in the current row as a java.io.Reader. Note : the object returned by this method is in fact a CharArrayReader object, so you have to cast the Reader received.

Specified by:
  `getCharacterStream` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
Returns:
  the Reader
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getCharacterStream(int)`

#### getBigDecimal

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

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

Specified by:
  `getBigDecimal` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBigDecimal(int, int)`

#### getAsciiStream

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

Gets the value of a column in the current row as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII. Note : the object returned by this method is in fact a VirtuosoAsciiInputStream object, so you have to cast the InputStream received.

Specified by:
  `getAsciiStream` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  a Java input stream that delivers the database column value as a stream of one byte ASCII characters. If the value is SQL NULL then the result is null.
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getAsciiStream(int)`

#### getUnicodeStream

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

Deprecated.
Gets the value of a column in the current row as a stream of Unicode characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode. The byte format of the Unicode stream must Java UTF-8, as specified in the Java Virtual Machine Specification. Note : the object returned by this method is in fact a VirtuosoAsciiInputStream object, so you have to cast the InputStream received.

Specified by:
  `getUnicodeStream` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL NULL then the result is null.
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getUnicodeStream(int)`

#### getBinaryStream

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

Gets the value of a column in the current row as a stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARBINARY values. Note : the object returned by this method is in fact a ByteArrayInputStream object, so you have to cast the InputStream received.

Specified by:
  `getBinaryStream` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL then the result is null.
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getBinaryStream(int)`

#### getObject

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

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

Specified by:
  `getObject` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a java.lang.Object holding the column value
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getObject(int)`

#### getObject

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

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

Specified by:
  `getObject` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  a java.lang.Object holding the column value
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.getObject(int)`

#### getDate

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

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

Specified by:
  `getDate` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### getTime

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

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

Specified by:
  `getTime` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### getTimestamp

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

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

Specified by:
  `getTimestamp` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### getDate

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

Gets the value of a column in the current row as a java.sql.Date object. This method uses the given calendar to construct an appropriate millisecond value for the Date if the underlying database does not store timezone information.

Specified by:
  `getDate` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### getTime

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

Gets the value of a column in the current row as a java.sql.Time object. This method uses the given calendar to construct an appropriate millisecond value for the Time if the underlying database does not store timezone information.

Specified by:
  `getTime` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### getTimestamp

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

Gets the value of a column in the current row as a java.sql.Timestamp object. This method uses the given calendar to construct an appropriate millisecond value for the Timestamp if the underlying database does not store timezone information.

Specified by:
  `getTimestamp` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### getDate

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

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

Specified by:
  `getDate` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - if a database access error occurs

#### getTime

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

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

Specified by:
  `getTime` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - if a database access error occurs

#### getTimestamp

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

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

Specified by:
  `getTimestamp` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateNull

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

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

Specified by:
  `updateNull` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBoolean

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

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

Specified by:
  `updateBoolean` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateByte

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

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

Specified by:
  `updateByte` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateShort

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

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

Specified by:
  `updateShort` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateInt

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

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

Specified by:
  `updateInt` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateLong

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

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

Specified by:
  `updateLong` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateFloat

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

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

Specified by:
  `updateFloat` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateDouble

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

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

Specified by:
  `updateDouble` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBigDecimal

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

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

Specified by:
  `updateBigDecimal` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateString

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

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

Specified by:
  `updateString` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBytes

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

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

Specified by:
  `updateBytes` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateDate

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

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

Specified by:
  `updateDate` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateTime

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

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

Specified by:
  `updateTime` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateTimestamp

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

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

Specified by:
  `updateTimestamp` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateAsciiStream

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

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

Specified by:
  `updateAsciiStream` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
  `length` - of the stream
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBinaryStream

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

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

Specified by:
  `updateBinaryStream` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
  `length` - of the stream
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateCharacterStream

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

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

Specified by:
  `updateCharacterStream` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `reader` - the new column value
  `length` - of the stream
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateObject

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

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

Specified by:
  `updateObject` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### updateObject

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

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

Specified by:
  `updateObject` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### getObject

    public java.lang.Object getObject​(java.lang.String columnName,
                                      java.util.Map map)
                               throws VirtuosoException

Returns the value in the specified column as a Java object. This method uses the specified `Map` object for custom mapping if appropriate.

Specified by:
  `getObject` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column from which to retrieve the value
  `map` - the mapping from SQL type names to Java classes
Returns:
  an object representing the SQL value in the specified column
Throws:
  `VirtuosoException`

#### getRef

    public java.sql.Ref getRef​(java.lang.String columnName)
                        throws VirtuosoException

Gets a REF(<structured-type>) column value from the current row.

Specified by:
  `getRef` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the column name
Returns:
  a `Ref` object representing the SQL REF value in the specified column
Throws:
  `VirtuosoException`

#### getBlob

    public java.sql.Blob getBlob​(java.lang.String columnName)
                          throws VirtuosoException

Gets a BLOB value in the current row of this `ResultSet` object.

Specified by:
  `getBlob` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column from which to retrieve the value
Returns:
  a `Blob` object representing the SQL BLOB value in the specified column
Throws:
  `VirtuosoException`
See Also:
  `VirtuosoBlob`

#### getClob

    public java.sql.Clob getClob​(java.lang.String columnName)
                          throws VirtuosoException

Gets a CLOB value in the current row of this `ResultSet` object.

Specified by:
  `getClob` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column from which to retrieve the value
Returns:
  a `Clob` object representing the SQL CLOB value in the specified column
Throws:
  `VirtuosoException`
See Also:
  `VirtuosoClob`

#### getArray

    public java.sql.Array getArray​(java.lang.String columnName)
                            throws VirtuosoException

Gets an SQL ARRAY value in the current row of this `ResultSet` object.

Specified by:
  `getArray` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the name of the column from which to retrieve the value
Returns:
  an `Array` object representing the SQL ARRAY value in the specified column
Throws:
  `VirtuosoException`

#### getDate

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

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

Specified by:
  `getDate` in interface `java.sql.ResultSet`
Parameters:
  `columnName` - the SQL name of the column from which to retrieve the value
  `cal` - the calendar to use in constructing the date
Returns:
  the column value; if the value is SQL NULL, the result is null
Throws:
  `VirtuosoException` - if a database access error occurs

#### getTime

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

Gets the value of a column in the current row as a java.sql.Time object. This method uses the given calendar to construct an appropriate millisecond value for the Time if the underlying database does not store timezone information.

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

#### getTimestamp

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

Gets the value of a column in the current row as a java.sql.Timestamp object. This method uses the given calendar to construct an appropriate millisecond value for the Timestamp if the underlying database does not store timezone information.

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

#### wasNull

    protected void wasNull​(boolean flag)

Method used to change the wasNull flag;

Parameters:
  `flag` - The new value of the flag.

#### close

    public void close​()
               throws VirtuosoException

Releases this ResultSet object's database and JDBC resources immediately instead of new wait for this to happen when it is automatically closed. Note: A ResultSet is automatically closed by the Statement that generated it when that Statement is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results. A ResultSet is also automatically closed when it is garbage collected.

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - An internal error occurred.
See Also:
  `ResultSet.close()`

#### next

    public boolean next​()
                 throws VirtuosoException

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

Specified by:
  `next` in interface `java.sql.ResultSet`
Returns:
  boolean True if the new current row is valid; false if there are no more rows.
Throws:
  `VirtuosoException` - No errors returned (just implementation).
See Also:
  `ResultSet.next()`

#### getRow

    public int getRow​()
               throws VirtuosoException

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

Specified by:
  `getRow` in interface `java.sql.ResultSet`
Returns:
  int The current row number; 0 if there is no current row.
Throws:
  `VirtuosoException` - No errors returned (just implementation).
See Also:
  `ResultSet.getRow()`

#### previous

    public boolean previous​()
                     throws VirtuosoException

Moves the cursor to the previous row in the result set. Note: previous() is not the same as relative(-1) because it makes sense to call previous() when there is no current row.

Specified by:
  `previous` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is on a valid row; false if it is off the result set
Throws:
  `VirtuosoException` - If the result set type is TYPE_FORWARD_ONLY.
See Also:
  `ResultSet.previous()`

#### beforeFirst

    public void beforeFirst​()
                     throws VirtuosoException

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

Specified by:
  `beforeFirst` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - If the result set type is TYPE_FORWARD_ONLY.
See Also:
  `ResultSet.beforeFirst()`

#### afterLast

    public void afterLast​()
                   throws VirtuosoException

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

Specified by:
  `afterLast` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - If the result set type is TYPE_FORWARD_ONLY.
See Also:
  `ResultSet.afterLast()`

#### first

    public boolean first​()
                  throws VirtuosoException

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

Specified by:
  `first` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is on a valid row; false if there are no rows in the result set
Throws:
  `VirtuosoException` - If the result set type is TYPE_FORWARD_ONLY.
See Also:
  `ResultSet.first()`

#### isBeforeFirst

    public boolean isBeforeFirst​()
                          throws VirtuosoException

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

Specified by:
  `isBeforeFirst` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is before the first row, false otherwise. Returns false when the result set contains no rows.
Throws:
  `VirtuosoException` - No errors returned (just implementation).
See Also:
  `ResultSet.isBeforeFirst()`

#### isAfterLast

    public boolean isAfterLast​()
                        throws VirtuosoException

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

Specified by:
  `isAfterLast` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is after the last row, false otherwise. Returns false when the result set contains no rows.
Throws:
  `VirtuosoException` - No errors returned (just implementation).
See Also:
  `ResultSet.isAfterLast()`

#### isFirst

    public boolean isFirst​()
                    throws VirtuosoException

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

Specified by:
  `isFirst` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is on the first row, false otherwise.
Throws:
  `VirtuosoException` - No errors returned (just implementation).
See Also:
  `ResultSet.isFirst()`

#### isLast

    public boolean isLast​()
                   throws VirtuosoException

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

Specified by:
  `isLast` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is on the last row, false otherwise.
Throws:
  `VirtuosoException` - No errors returned (just implementation).
See Also:
  `ResultSet.isLast()`

#### last

    public boolean last​()
                 throws VirtuosoException

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

Specified by:
  `last` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is on a valid row; false if there are no rows in the result set
Throws:
  `VirtuosoException` - If the result set type is TYPE_FORWARD_ONLY.
See Also:
  `ResultSet.last()`

#### absolute

    public boolean absolute​(int row)
                     throws VirtuosoException

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

Specified by:
  `absolute` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is on the result set; false otherwise
Throws:
  `VirtuosoException` - If the result set type is TYPE_FORWARD_ONLY.
See Also:
  `ResultSet.absolute(int)`

#### relative

    public boolean relative​(int row)
                     throws VirtuosoException

Moves the cursor a relative number of rows, either positive or negative.

Specified by:
  `relative` in interface `java.sql.ResultSet`
Returns:
  true if the cursor is on a row; false otherwise
Throws:
  `VirtuosoException` - If the result set type is TYPE_FORWARD_ONLY.
See Also:
  `ResultSet.relative(int)`

#### getCursorName

    public java.lang.String getCursorName​()
                                   throws VirtuosoException

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

Specified by:
  `getCursorName` in interface `java.sql.ResultSet`
Returns:
  the ResultSet's SQL cursor name
Throws:
  `VirtuosoException` - if a database access error occurs

#### getBlob

    public java.sql.Blob getBlob​(int i)
                          throws VirtuosoException

Gets a BLOB value in the current row of this `ResultSet` object.

Specified by:
  `getBlob` in interface `java.sql.ResultSet`
Parameters:
  `i` - the first column is 1, the second is 2, ...
Returns:
  a `Blob` object representing the SQL BLOB value in the specified column
Throws:
  `VirtuosoException`

#### getClob

    public java.sql.Clob getClob​(int i)
                          throws VirtuosoException

Gets a CLOB value in the current row of this `ResultSet` object.

Specified by:
  `getClob` in interface `java.sql.ResultSet`
Parameters:
  `i` - the first column is 1, the second is 2, ...
Returns:
  a `Clob` object representing the SQL CLOB value in the specified column
Throws:
  `VirtuosoException`

#### rowUpdated

    public boolean rowUpdated​()
                       throws VirtuosoException

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

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

#### rowInserted

    public boolean rowInserted​()
                        throws VirtuosoException

Indicates whether the current row has had an insertion. The value returned depends on whether or not the result set can detect visible inserts.

Specified by:
  `rowInserted` in interface `java.sql.ResultSet`
Returns:
  true if a row has had an insertion and insertions are detected
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `DatabaseMetaData.insertsAreDetected(int)`

#### rowDeleted

    public boolean rowDeleted​()
                       throws VirtuosoException

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

Specified by:
  `rowDeleted` in interface `java.sql.ResultSet`
Returns:
  true if a row was deleted and deletions are detected
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `DatabaseMetaData.deletesAreDetected(int)`

#### updateNull

    public void updateNull​(int columnIndex)
                    throws VirtuosoException

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.

Specified by:
  `updateNull` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBoolean

    public void updateBoolean​(int columnIndex,
                              boolean x)
                       throws VirtuosoException

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

Specified by:
  `updateBoolean` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateByte

    public void updateByte​(int columnIndex,
                           byte x)
                    throws VirtuosoException

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

Specified by:
  `updateByte` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateShort

    public void updateShort​(int columnIndex,
                            short x)
                     throws VirtuosoException

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

Specified by:
  `updateShort` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateInt

    public void updateInt​(int columnIndex,
                          int x)
                   throws VirtuosoException

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

Specified by:
  `updateInt` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateLong

    public void updateLong​(int columnIndex,
                           long x)
                    throws VirtuosoException

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

Specified by:
  `updateLong` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateFloat

    public void updateFloat​(int columnIndex,
                            float x)
                     throws VirtuosoException

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

Specified by:
  `updateFloat` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateDouble

    public void updateDouble​(int columnIndex,
                             double x)
                      throws VirtuosoException

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

Specified by:
  `updateDouble` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBigDecimal

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

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

Specified by:
  `updateBigDecimal` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateString

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

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

Specified by:
  `updateString` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBytes

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

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

Specified by:
  `updateBytes` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateDate

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

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

Specified by:
  `updateDate` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateTime

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

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

Specified by:
  `updateTime` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateTimestamp

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

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

Specified by:
  `updateTimestamp` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateAsciiStream

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

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

Specified by:
  `updateAsciiStream` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateBinaryStream

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

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

Specified by:
  `updateBinaryStream` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateCharacterStream

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

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

Specified by:
  `updateCharacterStream` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
  `length` - the length of the stream
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateObject

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

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

Specified by:
  `updateObject` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
  `x` - the new column value
Throws:
  `VirtuosoException` - if a database access error occurs

#### updateObject

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

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

Specified by:
  `updateObject` in interface `java.sql.ResultSet`
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:
  `VirtuosoException` - if a database access error occurs

#### cancelRowUpdates

    public void cancelRowUpdates​()
                          throws VirtuosoException

Cancels the updates made to a row. This method may be called after calling an `updateXXX` method(s) and before calling `updateRow` to rollback the updates made to a row. If no updates have been made or `updateRow` has already been called, then this method has no effect.

Specified by:
  `cancelRowUpdates` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - if a database access error occurs or if called when on the insert row

#### insertRow

    public void insertRow​()
                   throws VirtuosoException

Inserts the contents of the insert row into the result set and the database. Must be on the insert row when this method is called.

Specified by:
  `insertRow` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - if a database access error occurs, if called when not on the insert row, or if not all of non-nullable columns in the insert row have been given a value

#### updateRow

    public void updateRow​()
                   throws VirtuosoException

Updates the underlying database with the new contents of the current row. Cannot be called when on the insert row.

Specified by:
  `updateRow` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - if a database access error occurs or if called when on the insert row

#### deleteRow

    public void deleteRow​()
                   throws VirtuosoException

Deletes the current row from the result set and the underlying database. Cannot be called when on the insert row.

Specified by:
  `deleteRow` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - if a database access error occurs or if called when on the insert row.

#### refreshRow

    public void refreshRow​()
                    throws VirtuosoException

Refreshes the current row with its most recent value in the database. Cannot be called when on the insert row. The `refreshRow` method provides a way for an application to explicitly tell the JDBC driver to refetch a row(s) from the database. An application may want to call `refreshRow` when caching or prefetching is being done by the JDBC driver to fetch the latest value of a row from the database. The JDBC driver may actually refresh multiple rows at once if the fetch size is greater than one. All values are refetched subject to the transaction isolation level and cursor sensitivity. If `refreshRow` is called after calling `updateXXX`, but before calling `updateRow`, then the updates made to the row are lost. Calling the method `refreshRow` frequently will likely slow performance.

Specified by:
  `refreshRow` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - if a database access error occurs or if called when on the insert row

#### moveToInsertRow

    public void moveToInsertRow​()
                         throws VirtuosoException

Moves the cursor to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the `updateXXX` methods prior to inserting the row into the result set. Only the `updateXXX`, `getXXX`, and `insertRow` methods may be called when the cursor is on the insert row. All of the columns in a result set must be given a value each time this method is called before calling `insertRow`. The method `updateXXX` must be called before a `getXXX` method can be called on a column value.

Specified by:
  `moveToInsertRow` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - if a database access error occurs or the result set is not updatable

#### moveToCurrentRow

    public void moveToCurrentRow​()
                          throws VirtuosoException

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

Specified by:
  `moveToCurrentRow` in interface `java.sql.ResultSet`
Throws:
  `VirtuosoException` - if a database access error occurs or the result set is not updatable

#### getObject

    public java.lang.Object getObject​(int i,
                                      java.util.Map map)
                               throws VirtuosoException

Returns the value of a column in the current row as a Java object. This method uses the given `Map` object for the custom mapping of the SQL structured or distinct type that is being retrieved.

Specified by:
  `getObject` in interface `java.sql.ResultSet`
Parameters:
  `i` - the first column is 1, the second is 2, ...
  `map` - the mapping from SQL type names to Java classes
Returns:
  an object representing the SQL value
Throws:
  `VirtuosoException`

#### getRef

    public java.sql.Ref getRef​(int i)
                        throws VirtuosoException

Gets a REF(<structured-type>) column value from the current row.

Specified by:
  `getRef` in interface `java.sql.ResultSet`
Parameters:
  `i` - the first column is 1, the second is 2, ...
Returns:
  a `Ref` object representing an SQL REF value
Throws:
  `VirtuosoException`

#### getArray

    public java.sql.Array getArray​(int i)
                            throws VirtuosoException

Gets an SQL ARRAY value from the current row of this `ResultSet` object.

Specified by:
  `getArray` in interface `java.sql.ResultSet`
Parameters:
  `i` - the first column is 1, the second is 2, ...
Returns:
  an `Array` object representing the SQL ARRAY value in the specified column
Throws:
  `VirtuosoException`

#### sendBlobData

    protected void sendBlobData​(Vector result)
                         throws VirtuosoException

Throws:
  `VirtuosoException`

#### equals

    public boolean equals​(java.lang.Object obj)

Compares two Objects for equality.

Overrides:
  `equals` in class `java.lang.Object`
Returns:
  boolean True if two objects are equal, else false.

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

Specified by:
  `getURL` in interface `java.sql.ResultSet`
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.

Specified by:
  `getURL` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateRef` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateRef` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBlob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBlob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateArray` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateArray` in interface `java.sql.ResultSet`
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.

Specified by:
  `getRowId` in interface `java.sql.ResultSet`
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.

Specified by:
  `getRowId` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateRowId` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateRowId` in interface `java.sql.ResultSet`
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

Specified by:
  `getHoldability` in interface `java.sql.ResultSet`
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.

Specified by:
  `isClosed` in interface `java.sql.ResultSet`
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 x)
                       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.

Specified by:
  `updateNString` in interface `java.sql.ResultSet`
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; 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.

Specified by:
  `updateNString` in interface `java.sql.ResultSet`
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 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.

Specified by:
  `updateNClob` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second 2, ...
  `nClob` - 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.

Specified by:
  `updateNClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `getNClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `getNClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `getSQLXML` in interface `java.sql.ResultSet`
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.

Specified by:
  `getSQLXML` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateSQLXML` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateSQLXML` in interface `java.sql.ResultSet`
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.

Specified by:
  `getNString` in interface `java.sql.ResultSet`
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.

Specified by:
  `getNString` in interface `java.sql.ResultSet`
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.

Specified by:
  `getNCharacterStream` in interface `java.sql.ResultSet`
Parameters:
  `columnIndex` - the first column is 1, the second is 2, ...
Returns:
  a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
Throws:
  `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.

Specified by:
  `getNCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateAsciiStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBinaryStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateAsciiStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBinaryStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBlob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBlob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateAsciiStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBinaryStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateAsciiStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBinaryStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateCharacterStream` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBlob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateBlob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `updateNClob` in interface `java.sql.ResultSet`
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.

Specified by:
  `unwrap` in interface `java.sql.Wrapper`
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.

Specified by:
  `isWrapperFor` in interface `java.sql.Wrapper`
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.

Specified by:
  `getObject` in interface `java.sql.ResultSet`
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.

Specified by:
  `getObject` in interface `java.sql.ResultSet`
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