com.ibm.as400.access
Class AS400JDBCResultSet

java.lang.Object
  extended by com.ibm.as400.access.AS400JDBCResultSet
All Implemented Interfaces:
ResultSet, Wrapper

public class AS400JDBCResultSet
extends Object
implements ResultSet

The AS400JDBCResultSet class provides access to a table of data generated by a database query.

A result set maintains a cursor pointing to its current row of data. Initially, the cursor is positioned before the first row. If the result set is scrollable, use any of the cursor positioning methods to move the cursor within the result set. If the result set is not scrollable, then only use next() to move the cursor.

The get methods retrieve column values for the current row. Values can be retrieved using either the column index or the column name. In general, using the column index is more efficient. Column indexes are numbered starting with 1. Column names are not case sensitive. If several columns have the same name, then the first matching column is used.

Columns can have two names: a column name ("long name") and a system column name ("short name"). The get methods and findColumn() only support using the column name.

In each get method, the driver attempts to convert the underlying data to the specified Java type and returns a suitable Java value. If such a conversion is not appropriate, an SQLException is thrown.

If the result set is updatable, the update methods modify column values for the current row, but not in the underlying database. updateRow() causes all updates to the current row to be written to the database. Use deleteRow() to delete the current row in the database.

For updatable result sets, there is also an insert row, which is used as a staging area for the contents of a new row. Use moveToInsertRow() to position the cursor to the insert row. Once all updates to the insert row have been made, use insertRow() to insert the row into the database.

In the following cases, result sets are always read only regardless of the concurrency set in the statement:

In the following case, result sets are always read only regardless of the concurrency set in the statement if connecting to a system running OS/400 V4R5 or a previous release:

In the following case, result sets are always forward only regardless of the type set in the statement:

A result set is automatically closed by the statement that generated it when the statement is closed, run again, or used to retrieve the next result set from a sequence of multiple result sets.

The new JDBC 3.0 methods add the ability to retrieve information by column name in addition to column index. Be aware you will see better performance accessing columns by their index rather than accessing them by their name.


Field Summary
Modifier and Type Field and Description
 
Fields inherited from interface java.sql.ResultSet
CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
 
Method Summary
Modifier and Type Method and Description
 boolean absolute(int rowNumber)
          Positions the cursor to an absolute row number.
 void afterLast()
          Positions the cursor after the last row.
 void beforeFirst()
          Positions the cursor before the first row.
 void cancelRowUpdates()
          Cancels all pending updates that have been made since the last call to updateRow().
 void clearWarnings()
          Clears all warnings that have been reported for the result set.
 void close()
          Releases the result set's resources immediately instead of waiting for them to be automatically released.
 void deleteRow()
          Deletes the current row from the result set and the database.
protected  void finalize()
          Closes the result set if not explicitly closed by the caller.
 int findColumn(String columnName)
          Returns the column index for the specified column name.
 boolean first()
          Positions the cursor to the first row.
 Array getArray(int columnIndex)
          Returns the value of a column as an Array object.
 Array getArray(String columnName)
          Returns the value of a column as an Array object.
 InputStream getAsciiStream(int columnIndex)
          Returns the value of a column as a stream of ASCII characters.
 InputStream getAsciiStream(String columnName)
          Returns the value of a column as a stream of ASCII characters.
 BigDecimal getBigDecimal(int columnIndex)
          Returns the value of a column as a BigDecimal object.
 BigDecimal getBigDecimal(int columnIndex, int scale)
          Deprecated. Use getBigDecimal(int) instead.
 BigDecimal getBigDecimal(String columnName)
          Returns the value of a column as a BigDecimal object.
 BigDecimal getBigDecimal(String columnName, int scale)
          Deprecated. Use getBigDecimal(String) instead.
 InputStream getBinaryStream(int columnIndex)
          Returns the value of a column as a stream of uninterpreted bytes.
 InputStream getBinaryStream(String columnName)
          Returns the value of a column as a stream of uninterpreted bytes.
 Blob getBlob(int columnIndex)
          Returns the value of a column as a Blob object.
 Blob getBlob(String columnName)
          Returns the value of a column as a Blob object.
 boolean getBoolean(int columnIndex)
          Returns the value of a column as a Java boolean value.
 boolean getBoolean(String columnName)
          Returns the value of a column as a Java boolean value.
 byte getByte(int columnIndex)
          Returns the value of a column as a Java byte value.
 byte getByte(String columnName)
          Returns the value of a column as a Java byte value.
 byte[] getBytes(int columnIndex)
          Returns the value of a column as a Java byte array.
 byte[] getBytes(String columnName)
          Returns the value of a column as a Java byte array.
 Reader getCharacterStream(int columnIndex)
          Returns the value of a column as a character stream.
 Reader getCharacterStream(String columnName)
          Returns the value of a column as a character stream.
 Clob getClob(int columnIndex)
          Returns the value of a column as a Clob object.
 Clob getClob(String columnName)
          Returns the value of a column as a Clob object.
 int getConcurrency()
          Returns the result set concurrency.
 String getCursorName()
          Returns the name of the SQL cursor in use by the result set.
 Date getDate(int columnIndex)
          Returns the value of a column as a java.sql.Date object using the default calendar.
 Date getDate(int columnIndex, Calendar calendar)
          Returns the value of a column as a java.sql.Date object using a calendar other than the default.
 Date getDate(String columnName)
          Returns the value of a column as a java.sql.Date object using the default calendar.
 Date getDate(String columnName, Calendar calendar)
          Returns the value of a column as a java.sql.Date object using a calendar other than the default.
 double getDouble(int columnIndex)
          Returns the value of a column as a Java double value.
 double getDouble(String columnName)
          Returns the value of a column as a Java double value.
 int getFetchDirection()
          Returns the fetch direction.
 int getFetchSize()
          Returns the fetch size.
 float getFloat(int columnIndex)
          Returns the value of a column as a Java float value.
 float getFloat(String columnName)
          Returns the value of a column as a Java float value.
 int getHoldability()
          Retrieves the holdability of this ResultSet object
 int getInt(int columnIndex)
          Returns the value of a column as a Java int value.
 int getInt(String columnName)
          Returns the value of a column as a Java int value.
 long getLong(int columnIndex)
          Returns the value of a column as a Java long value.
 long getLong(String columnName)
          Returns the value of a column as a Java long value.
 ResultSetMetaData getMetaData()
          Returns the ResultSetMetaData object that describes the result set's columns.
 Object getObject(int columnIndex)
          Returns the value of a column as a Java Object.
 Object getObject(int columnIndex, Map typeMap)
          Returns the value of a column as a Java Object.
 Object getObject(String columnName)
          Returns the value of a column as a Java Object.
 Object getObject(String columnName, Map typeMap)
          Returns the value of a column as a Java Object.
 Ref getRef(int columnIndex)
          Returns the value of a column as a Ref object.
 Ref getRef(String columnName)
          Returns the value of a column as a Ref object.
 int getRow()
          Returns the current row number, or 0.
 short getShort(int columnIndex)
          Returns the value of a column as a Java short value.
 short getShort(String columnName)
          Returns the value of a column as a Java short value.
 Statement getStatement()
          Returns the statement for this result set.
 String getString(int columnIndex)
          Returns the value of a column as a String object.
 String getString(String columnName)
          Returns the value of a column as a String object.
 Time getTime(int columnIndex)
          Returns the value of a column as a java.sql.Time object using the default calendar.
 Time getTime(int columnIndex, Calendar calendar)
          Returns the value of a column as a java.sql.Time object using a calendar other than the default.
 Time getTime(String columnName)
          Returns the value of a column as a java.sql.Time object using the default calendar.
 Time getTime(String columnName, Calendar calendar)
          Returns the value of a column as a java.sql.Time object using a calendar other than the default.
 Timestamp getTimestamp(int columnIndex)
          Returns the value of a column as a java.sql.Timestamp object using the default calendar.
 Timestamp getTimestamp(int columnIndex, Calendar calendar)
          Returns the value of a column as a java.sql.Timestamp object using a calendar other than the default.
 Timestamp getTimestamp(String columnName)
          Returns the value of a column as a java.sql.Timestamp object using the default calendar.
 Timestamp getTimestamp(String columnName, Calendar calendar)
          Returns the value of a column as a java.sql.Timestamp object using a calendar other than the default.
 int getType()
          Returns the result set type.
 InputStream getUnicodeStream(int columnIndex)
          Deprecated. Use getCharacterStream(int) instead.
 InputStream getUnicodeStream(String columnName)
          Deprecated. Use getCharacterStream(String) instead.
 URL getURL(int columnIndex)
          Returns the value of an SQL DATALINK output parameter as a java.net.URL object.
 URL getURL(String columnName)
          Returns the value of an SQL DATALINK output parameter as a java.net.URL object.
 SQLWarning getWarnings()
          Returns the first warning reported for the result set.
 void insertRow()
          Inserts the contents of the insert row into the result set and the database.
 boolean isAfterLast()
          Indicates if the cursor is positioned after the last row.
 boolean isBeforeFirst()
          Indicates if the cursor is positioned before the first row.
 boolean isFirst()
          Indicates if the cursor is positioned on the first row.
 boolean isLast()
          Indicates if the cursor is positioned on the last row.
 boolean last()
          Positions the cursor to the last row.
 void moveToCurrentRow()
          Positions the cursor to the current row.
 void moveToInsertRow()
          Positions the cursor to the insert row.
 boolean next()
          Positions the cursor to the next row.
 boolean previous()
          Positions the cursor to the previous row.
 void refreshRow()
          Refreshes the current row from the database and cancels all pending updates that have been made since the last call to updateRow().
 boolean relative(int rowNumber)
          Positions the cursor to a relative row number.
 boolean rowDeleted()
          Indicates if the current row has been deleted.
 boolean rowInserted()
          Indicates if the current row has been inserted.
 boolean rowUpdated()
          Indicates if the current row has been updated.
 void setFetchDirection(int fetchDirection)
          Sets the direction in which the rows in a result set are processed.
 void setFetchSize(int fetchSize)
          Sets the number of rows to be fetched from the database when more rows are needed.
 String toString()
          Returns the name of the SQL cursor in use by the result set.
 void updateArray(int columnIndex, Array columnValue)
          Updates the value of a column as an Array object.
 void updateArray(String columnName, Array columnValue)
          Updates the value of a column as an Array object.
 void updateAsciiStream(int columnIndex, InputStream columnValue, int length)
          Updates a column in the current row using an ASCII stream value.
 void updateAsciiStream(String columnName, InputStream columnValue, int length)
          Updates a column in the current row using an ASCII stream value.
 void updateBigDecimal(int columnIndex, BigDecimal columnValue)
          Updates a column in the current row using a BigDecimal value.
 void updateBigDecimal(String columnName, BigDecimal columnValue)
          Updates a column in the current row using a BigDecimal value.
 void updateBinaryStream(int columnIndex, InputStream columnValue, int length)
          Updates a column in the current row using a binary stream value.
 void updateBinaryStream(String columnName, InputStream columnValue, int length)
          Updates a column in the current row using a binary stream value.
 void updateBlob(int columnIndex, Blob columnValue)
          Updates a column in the current row using a Java Blob value.
 void updateBlob(String columnName, Blob columnValue)
          Updates a column in the current row using a Java Blob value.
 void updateBoolean(int columnIndex, boolean columnValue)
          Updates a column in the current row using a Java boolean value.
 void updateBoolean(String columnName, boolean columnValue)
          Updates a column in the current row using a Java boolean value.
 void updateByte(int columnIndex, byte columnValue)
          Updates a column in the current row using a Java byte value.
 void updateByte(String columnName, byte columnValue)
          Updates a column in the current row using a Java byte value.
 void updateBytes(int columnIndex, byte[] columnValue)
          Updates a column in the current row using a Java byte array value.
 void updateBytes(String columnName, byte[] columnValue)
          Updates a column in the current row using a Java byte array value.
 void updateCharacterStream(int columnIndex, Reader columnValue, int length)
          Updates a column in the current row using a Reader value.
 void updateCharacterStream(String columnName, Reader columnValue, int length)
          Updates a column in the current row using a Reader value.
 void updateClob(int columnIndex, Clob columnValue)
          Updates a column in the current row using a Java Clob value.
 void updateClob(String columnName, Clob columnValue)
          Updates a column in the current row using a Java Clob value.
 void updateDate(int columnIndex, Date columnValue)
          Updates a column in the current row using a java.sql.Date value.
 void updateDate(String columnName, Date columnValue)
          Updates a column in the current row using a java.sql.Date value.
 void updateDB2Default(int columnIndex)
          Updates a column in the current row to the SQL Default.
 void updateDB2Default(String columnName)
          Updates a column in the current row to the SQL Default.
 void updateDB2Unassigned(int columnIndex)
          Updates a column in the current row to the SQL Unassigned.
 void updateDB2Unassigned(String columnName)
          Updates a column in the current row to the SQL Unassigned.
 void updateDBDefault(int columnIndex)
          Updates a column in the current row to the SQL Default.
 void updateDBDefault(String columnName)
          Updates a column in the current row to the SQL Default.
 void updateDBUnassigned(int columnIndex)
          Updates a column in the current row to the SQL Unassigned.
 void updateDBUnassigned(String columnName)
          Updates a column in the current row to the SQL Unassigned.
 void updateDouble(int columnIndex, double columnValue)
          Updates a column in the current row using a Java double value.
 void updateDouble(String columnName, double columnValue)
          Updates a column in the current row using a Java double value.
 void updateFloat(int columnIndex, float columnValue)
          Updates a column in the current row using a Java float value.
 void updateFloat(String columnName, float columnValue)
          Updates a column in the current row using a Java float value.
 void updateInt(int columnIndex, int columnValue)
          Updates a column in the current row using a Java int value.
 void updateInt(String columnName, int columnValue)
          Updates a column in the current row using a Java int value.
 void updateLong(int columnIndex, long columnValue)
          Updates a column in the current row using a Java long value.
 void updateLong(String columnName, long columnValue)
          Updates a column in the current row using a Java long value.
 void updateNull(int columnIndex)
          Updates a column in the current row using SQL NULL.
 void updateNull(String columnName)
          Updates a column in the current row using SQL NULL.
 void updateObject(int columnIndex, Object columnValue)
          Updates a column in the current row using an Object value.
 void updateObject(int columnIndex, Object columnValue, int scale)
          Updates a column in the current row using an Object value.
 void updateObject(String columnName, Object columnValue)
          Updates a column in the current row using an Object value.
 void updateObject(String columnName, Object columnValue, int scale)
          Updates a column in the current row using an Object value.
 void updateRef(int columnIndex, Ref columnValue)
          Updates the value of an SQL REF output parameter as a Ref value.
 void updateRef(String columnName, Ref columnValue)
          Updates the value of an SQL REF output parameter as a Ref value.
 void updateRow()
          Updates the database with the new contents of the current row.
 void updateShort(int columnIndex, short columnValue)
          Updates a column in the current row using a Java short value.
 void updateShort(String columnName, short columnValue)
          Updates a column in the current row using a Java short value.
 void updateString(int columnIndex, String columnValue)
          Updates a column in the current row using a String value.
 void updateString(String columnName, String columnValue)
          Updates a column in the current row using a String value.
 void updateTime(int columnIndex, Time columnValue)
          Updates a column in the current row using a java.sql.Time value.
 void updateTime(String columnName, Time columnValue)
          Updates a column in the current row using a java.sql.Time value.
 void updateTimestamp(int columnIndex, Timestamp columnValue)
          Updates a column in the current row using a java.sql.Timestamp value.
 void updateTimestamp(String columnName, Timestamp columnValue)
          Updates a column in the current row using a java.sql.Timestamp value.
 boolean wasNull()
          Indicates if the last column read has the value of SQL NULL.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.sql.ResultSet
getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getRowId, getRowId, getSQLXML, getSQLXML, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateRowId, updateRowId, updateSQLXML, updateSQLXML
 
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
 

Method Detail

clearWarnings

public void clearWarnings()
                   throws SQLException
Clears all warnings that have been reported for the result set. After this call, getWarnings() returns null until a new warning is reported for the result set.

Specified by:
clearWarnings in interface ResultSet
Throws:
SQLException - If an error occurs.

close

public void close()
           throws SQLException
Releases the result set's resources immediately instead of waiting for them to be automatically released.

Specified by:
close in interface ResultSet
Throws:
SQLException - If an error occurs.

finalize

protected void finalize()
                 throws Throwable
Closes the result set if not explicitly closed by the caller.

Overrides:
finalize in class Object
Throws:
Throwable - If an error occurs.

findColumn

public int findColumn(String columnName)
               throws SQLException
Returns the column index for the specified column name. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.findColumn("\"MixedCase\"").

Specified by:
findColumn in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column index (1-based).
Throws:
SQLException - If the result set is not open or the column name is not found.

getConcurrency

public int getConcurrency()
                   throws SQLException
Returns the result set concurrency.

Specified by:
getConcurrency in interface ResultSet
Returns:
The result set concurrency. Valid values are:
  • CONCUR_READ_ONLY
  • CONCUR_UPDATABLE
Throws:
SQLException - If the result set is not open.

getCursorName

public String getCursorName()
                     throws SQLException
Returns the name of the SQL cursor in use by the result set. In SQL, results are retrieved through a named cursor. The current row of a result can be updated or deleted using a positioned UPDATE or DELETE statement that references a cursor name.

Cursor names are case sensitive. However, when using a cursor name within other SQL positioned UPDATE or DELETE statements, the cursor name will be uppercased. If you use a cursor name with lowercase characters, you need to enclose it in double quotes when referring to it in other SQL statements.

Specified by:
getCursorName in interface ResultSet
Returns:
The cursor name.
Throws:
SQLException - If the result is not open.

getFetchDirection

public int getFetchDirection()
                      throws SQLException
Returns the fetch direction.

Specified by:
getFetchDirection in interface ResultSet
Returns:
The fetch direction. Valid values are:
  • FETCH_FORWARD
  • FETCH_REVERSE
  • FETCH_UNKNOWN
Throws:
SQLException - If the result is not open.

getFetchSize

public int getFetchSize()
                 throws SQLException
Returns the fetch size.

Specified by:
getFetchSize in interface ResultSet
Returns:
The fetch size.
Throws:
SQLException - If the result is not open.

getStatement

public Statement getStatement()
                       throws SQLException
Returns the statement for this result set.

Specified by:
getStatement in interface ResultSet
Returns:
The statement for this result set, or null if the result set was returned by a DatabaseMetaData catalog method.
Throws:
SQLException - If an error occurs.

getType

public int getType()
            throws SQLException
Returns the result set type.

Specified by:
getType in interface ResultSet
Returns:
The result set type. Valid values are:
  • TYPE_FORWARD_ONLY
  • TYPE_SCROLL_INSENSITIVE
  • TYPE_SCROLL_SENSITIVE
Throws:
SQLException - If the result set is not open.
Since:
Modification 5

getURL

public URL getURL(int columnIndex)
           throws SQLException
Returns the value of an SQL DATALINK output parameter as a java.net.URL object.

Specified by:
getURL in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The parameter value or null if the value is SQL NULL.
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter name is not registered as an output parameter, the statement was not executed or the requested conversion is not valid.
Since:
Modification 5

getURL

public URL getURL(String columnName)
           throws SQLException
Returns the value of an SQL DATALINK output parameter as a java.net.URL object.

Specified by:
getURL in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The parameter value or null if the value is SQL NULL.
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter name is not registered as an output parameter, the statement was not executed or the requested conversion is not valid.

getWarnings

public SQLWarning getWarnings()
                       throws SQLException
Returns the first warning reported for the result set. Subsequent warnings may be chained to this warning.

Specified by:
getWarnings in interface ResultSet
Returns:
The first warning or null if no warnings have been reported.
Throws:
SQLException - If an error occurs.

setFetchDirection

public void setFetchDirection(int fetchDirection)
                       throws SQLException
Sets the direction in which the rows in a result set are processed.

Specified by:
setFetchDirection in interface ResultSet
Parameters:
fetchDirection - The fetch direction for processing rows. Valid values are:
  • FETCH_FORWARD
  • FETCH_REVERSE
  • FETCH_UNKNOWN
The default is the statement's fetch direction.
Throws:
SQLException - If the result set is not open, the result set is scrollable and the input value is not ResultSet.FETCH_FORWARD, or the input value is not valid.

setFetchSize

public void setFetchSize(int fetchSize)
                  throws SQLException
Sets the number of rows to be fetched from the database when more rows are needed. This may be changed at any time. If the value specified is zero, then the driver will choose an appropriate fetch size.

This setting only affects statements that meet the criteria specified in the "block criteria" property. The fetch size is only used if the "block size" property is set to "0".

Specified by:
setFetchSize in interface ResultSet
Parameters:
fetchSize - The number of rows. This must be greater than or equal to 0 and less than or equal to the maximum rows limit. The default is the statement's fetch size.
Throws:
SQLException - If the result set is not open or the input value is not valid.

toString

public String toString()
Returns the name of the SQL cursor in use by the result set.

Overrides:
toString in class Object
Returns:
The cursor name.

absolute

public boolean absolute(int rowNumber)
                 throws SQLException
Positions the cursor to an absolute row number.

Attempting to move any number of positions before the first row positions the cursor to before the first row. Attempting to move beyond the last row positions the cursor after the last row.

If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
absolute in interface ResultSet
Parameters:
rowNumber - The absolute row number. If the absolute row number is positive, this positions the cursor with respect to the beginning of the result set. If the absolute row number is negative, this positions the cursor with respect to the end of result set.
Returns:
true if the requested cursor position is valid; false otherwise.
Throws:
SQLException - If the result set is not open, the result set is not scrollable, the row number is 0, or an error occurs.

afterLast

public void afterLast()
               throws SQLException
Positions the cursor after the last row. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
afterLast in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

beforeFirst

public void beforeFirst()
                 throws SQLException
Positions the cursor before the first row. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
beforeFirst in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

first

public boolean first()
              throws SQLException
Positions the cursor to the first row. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
first in interface ResultSet
Returns:
true if the requested cursor position is valid; false otherwise.
Throws:
SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

getRow

public int getRow()
           throws SQLException
Returns the current row number, or 0.

0 is returned if the cursor is not on a valid row (such as before the first row, after the last row, or on the insert row), or if the result set is empty.

This method may be slow if cursor movement based on the end of the result set is used. Methods such as last(), afterLast() and absolute() with a negative value will move the cursor based on the end of the result set. This method will be slow in these cases because internally the method must get every row to determine how many rows are in the result set before calculating the current row. The system does not know how many rows are in the result set until every row is touched. That is why this method may start at the highest row retrieved so far, then do next() until the last row is retrieved.

Once the maximum number of rows in the result set is determined, it does not change until the result set is closed.

Specified by:
getRow in interface ResultSet
Returns:
The current row number (1-based), or 0 if the current row is not valid.
Throws:
SQLException - If the result set is not open.

isAfterLast

public boolean isAfterLast()
                    throws SQLException
Indicates if the cursor is positioned after the last row.

Specified by:
isAfterLast in interface ResultSet
Returns:
true if the cursor is positioned after the last row; false if the cursor is not positioned after the last row or if the result set contains no rows.
Throws:
SQLException - If the result set is not open.

isBeforeFirst

public boolean isBeforeFirst()
                      throws SQLException
Indicates if the cursor is positioned before the first row.

Specified by:
isBeforeFirst in interface ResultSet
Returns:
true if the cursor is positioned before the first row; false if the cursor is not positioned before the first row or if the result set contains no rows.
Throws:
SQLException - If the result set is not open.

isFirst

public boolean isFirst()
                throws SQLException
Indicates if the cursor is positioned on the first row.

Specified by:
isFirst in interface ResultSet
Returns:
true if the cursor is positioned on the first row; false if the cursor is not positioned on the first row or the row number can not be determined.
Throws:
SQLException - If the result set is not open.

isLast

public boolean isLast()
               throws SQLException
Indicates if the cursor is positioned on the last row.

Specified by:
isLast in interface ResultSet
Returns:
true if the cursor is positioned on the last row; false if the cursor is not positioned on the last row or the row number can not be determined.
Throws:
SQLException - If the result set is not open.

last

public boolean last()
             throws SQLException
Positions the cursor to the last row. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
last in interface ResultSet
Returns:
true if the requested cursor position is valid; false otherwise.
Throws:
SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

moveToCurrentRow

public void moveToCurrentRow()
                      throws SQLException
Positions the cursor to the current row. This is the row where the cursor was positioned before moving it to the insert row. If the cursor is not on the insert row, then this has no effect.

If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
moveToCurrentRow in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

moveToInsertRow

public void moveToInsertRow()
                     throws SQLException
Positions the cursor to the insert row. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
moveToInsertRow in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not scrollable, the result set is not updatable, or an error occurs.

next

public boolean next()
             throws SQLException
Positions the cursor to the next row. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
next in interface ResultSet
Returns:
true if the requested cursor position is valid; false if there are no more rows.
Throws:
SQLException - If the result set is not open, or an error occurs.

previous

public boolean previous()
                 throws SQLException
Positions the cursor to the previous row. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
previous in interface ResultSet
Returns:
true if the requested cursor position is valid; false otherwise.
Throws:
SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

refreshRow

public void refreshRow()
                throws SQLException
Refreshes the current row from the database and cancels all pending updates that have been made since the last call to updateRow(). This method provides a way for an application to explicitly refetch a row from the database. If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
refreshRow in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not scrollable, the cursor is not positioned on a row, the cursor is positioned on the insert row or an error occurs.

relative

public boolean relative(int rowNumber)
                 throws SQLException
Positions the cursor to a relative row number.

Attempting to move beyond the first row positions the cursor before the first row. Attempting to move beyond the last row positions the cursor after the last row.

If an InputStream from the current row is open, it is implicitly closed. In addition, all warnings and pending updates are cleared.

Specified by:
relative in interface ResultSet
Parameters:
rowNumber - The relative row number. If the relative row number is positive, this positions the cursor after the current position. If the relative row number is negative, this positions the cursor before the current position. If the relative row number is 0, then the cursor position does not change.
Returns:
true if the requested cursor position is valid, false otherwise.
Throws:
SQLException - If the result set is not open, the result set is not scrollable, the cursor is not positioned on a valid row, or an error occurs.

getArray

public Array getArray(int columnIndex)
               throws SQLException
Returns the value of a column as an Array object. DB2 for IBM i does not support arrays.

Specified by:
getArray in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support arrays.

getArray

public Array getArray(String columnName)
               throws SQLException
Returns the value of a column as an Array object. DB2 for IBM i does not support arrays. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getArray("\"MixedCase\"").

Specified by:
getArray in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support arrays.

getAsciiStream

public InputStream getAsciiStream(int columnIndex)
                           throws SQLException
Returns the value of a column as a stream of ASCII characters. This can be used to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, CLOB, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Specified by:
getAsciiStream in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getAsciiStream

public InputStream getAsciiStream(String columnName)
                           throws SQLException
Returns the value of a column as a stream of ASCII characters. This can be used to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, CLOB, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getAsciiStream("\"MixedCase\"").

Specified by:
getAsciiStream in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getBigDecimal

public BigDecimal getBigDecimal(int columnIndex)
                         throws SQLException
Returns the value of a column as a BigDecimal object. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getBigDecimal in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getBigDecimal

public BigDecimal getBigDecimal(String columnName)
                         throws SQLException
Returns the value of a column as a BigDecimal object. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getBigDecimal("\"MixedCase\"").

Specified by:
getBigDecimal in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getBigDecimal

public BigDecimal getBigDecimal(int columnIndex,
                                int scale)
                         throws SQLException
Deprecated. Use getBigDecimal(int) instead.

Returns the value of a column as a BigDecimal object. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getBigDecimal in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
scale - The number of digits after the decimal.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, the scale is not valid, or the requested conversion is not valid.
See Also:
getBigDecimal(int)

getBigDecimal

public BigDecimal getBigDecimal(String columnName,
                                int scale)
                         throws SQLException
Deprecated. Use getBigDecimal(String) instead.

Returns the value of a column as a BigDecimal object. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getBigDecimal("\"MixedCase\"", 0).

Specified by:
getBigDecimal in interface ResultSet
Parameters:
columnName - The column name.
scale - The number of digits after the decimal.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, the scale is not valid, or the requested conversion is not valid.
See Also:
getBigDecimal(String)

getBinaryStream

public InputStream getBinaryStream(int columnIndex)
                            throws SQLException
Returns the value of a column as a stream of uninterpreted bytes. This can be used to get values from columns with SQL types BINARY, VARBINARY, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Specified by:
getBinaryStream in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getBinaryStream

public InputStream getBinaryStream(String columnName)
                            throws SQLException
Returns the value of a column as a stream of uninterpreted bytes. This can be used to get values from columns with SQL types BINARY, VARBINARY, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getBinaryStream("\"MixedCase\"").

Specified by:
getBinaryStream in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getBlob

public Blob getBlob(int columnIndex)
             throws SQLException
Returns the value of a column as a Blob object. This can be used to get values from columns with SQL types BINARY, VARBINARY, and BLOB.

Specified by:
getBlob in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getBlob

public Blob getBlob(String columnName)
             throws SQLException
Returns the value of a column as a Blob object. This can be used to get values from columns with SQL types BINARY, VARBINARY, and BLOB. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getBlob("\"MixedCase\"").

Specified by:
getBlob in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getBoolean

public boolean getBoolean(int columnIndex)
                   throws SQLException
Returns the value of a column as a Java boolean value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getBoolean in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or false if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getBoolean

public boolean getBoolean(String columnName)
                   throws SQLException
Returns the value of a column as a Java boolean value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getBoolean("\"MixedCase\"").

Specified by:
getBoolean in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or false if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getByte

public byte getByte(int columnIndex)
             throws SQLException
Returns the value of a column as a Java byte value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getByte in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getByte

public byte getByte(String columnName)
             throws SQLException
Returns the value of a column as a Java byte value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getByte("\"MixedCase\"").

Specified by:
getByte in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getBytes

public byte[] getBytes(int columnIndex)
                throws SQLException
Returns the value of a column as a Java byte array. This can be used to get values from columns with SQL types BINARY and VARBINARY.

This can also be used to get values from columns with other types. The values are returned in their native IBM i format. This is not supported for result sets returned by a DatabaseMetaData object.

Specified by:
getBytes in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getBytes

public byte[] getBytes(String columnName)
                throws SQLException
Returns the value of a column as a Java byte array. This can be used to get values from columns with SQL types BINARY and VARBINARY. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getBytes("\"MixedCase\"").

This can also be used to get values from columns with other types. The values are returned in their native IBM i format. This is not supported for result sets returned by a DatabaseMetaData object.

Specified by:
getBytes in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getCharacterStream

public Reader getCharacterStream(int columnIndex)
                          throws SQLException
Returns the value of a column as a character stream. This can be used to to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, CLOB, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Specified by:
getCharacterStream in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getCharacterStream

public Reader getCharacterStream(String columnName)
                          throws SQLException
Returns the value of a column as a character stream. This can be used to to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, CLOB, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getCharacterStream("\"MixedCase\"").

Specified by:
getCharacterStream in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not valid, or the requested conversion is not valid.

getClob

public Clob getClob(int columnIndex)
             throws SQLException
Returns the value of a column as a Clob object. This can be used to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and CLOB.

Specified by:
getClob in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getClob

public Clob getClob(String columnName)
             throws SQLException
Returns the value of a column as a Clob object. This can be used to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and CLOB. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getClob("\"MixedCase\"").

Specified by:
getClob in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getDate

public Date getDate(int columnIndex)
             throws SQLException
Returns the value of a column as a java.sql.Date object using the default calendar. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP.

Specified by:
getDate in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getDate

public Date getDate(String columnName)
             throws SQLException
Returns the value of a column as a java.sql.Date object using the default calendar. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getDate("\"MixedCase\"").

Specified by:
getDate in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getDate

public Date getDate(int columnIndex,
                    Calendar calendar)
             throws SQLException
Returns the value of a column as a java.sql.Date object using a calendar other than the default. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP.

Specified by:
getDate in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, the calendar is null, or the requested conversion is not valid.

getDate

public Date getDate(String columnName,
                    Calendar calendar)
             throws SQLException
Returns the value of a column as a java.sql.Date object using a calendar other than the default. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getDate("\"MixedCase\"", calendar).

Specified by:
getDate in interface ResultSet
Parameters:
columnName - The column name.
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, the calendar is null, or the requested conversion is not valid.

getDouble

public double getDouble(int columnIndex)
                 throws SQLException
Returns the value of a column as a Java double value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getDouble in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getDouble

public double getDouble(String columnName)
                 throws SQLException
Returns the value of a column as a Java double value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getDouble("\"MixedCase\"").

Specified by:
getDouble in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getFloat

public float getFloat(int columnIndex)
               throws SQLException
Returns the value of a column as a Java float value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getFloat in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getFloat

public float getFloat(String columnName)
               throws SQLException
Returns the value of a column as a Java float value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getFloat("\"MixedCase\"").

Specified by:
getFloat in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getInt

public int getInt(int columnIndex)
           throws SQLException
Returns the value of a column as a Java int value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getInt in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getInt

public int getInt(String columnName)
           throws SQLException
Returns the value of a column as a Java int value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getInt("\"MixedCase\"").

Specified by:
getInt in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getLong

public long getLong(int columnIndex)
             throws SQLException
Returns the value of a column as a Java long value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getLong in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getLong

public long getLong(String columnName)
             throws SQLException
Returns the value of a column as a Java long value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getLong("\"MixedCase\"").

Specified by:
getLong in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getMetaData

public ResultSetMetaData getMetaData()
                              throws SQLException
Returns the ResultSetMetaData object that describes the result set's columns.

Specified by:
getMetaData in interface ResultSet
Returns:
The metadata object.
Throws:
SQLException - If an error occurs.

getObject

public Object getObject(int columnIndex)
                 throws SQLException
Returns the value of a column as a Java Object. This can be used to get values from columns with all SQL types. If the column is a user-defined type, then the connection's type map is used to created the object.

Specified by:
getObject in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getObject

public Object getObject(String columnName)
                 throws SQLException
Returns the value of a column as a Java Object. This can be used to get values from columns with all SQL types. If the column is a user-defined type, then the connection's type map is used to created the object. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getObject("\"MixedCase\"").

Specified by:
getObject in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getObject

public Object getObject(int columnIndex,
                        Map typeMap)
                 throws SQLException
Returns the value of a column as a Java Object.

Specified by:
getObject in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
typeMap - The type map. This is not used.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, the type map is null, or the requested conversion is not valid.

getObject

public Object getObject(String columnName,
                        Map typeMap)
                 throws SQLException
Returns the value of a column as a Java Object. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getObject("\"MixedCase\"", typeMap).

Specified by:
getObject in interface ResultSet
Parameters:
columnName - The column name.
typeMap - The type map. This is not used.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, the type map is null, or the requested conversion is not valid.

getRef

public Ref getRef(int columnIndex)
           throws SQLException
Returns the value of a column as a Ref object. DB2 for IBM i does not support structured types.

Specified by:
getRef in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support structured types.

getRef

public Ref getRef(String columnName)
           throws SQLException
Returns the value of a column as a Ref object. DB2 for IBM i does not support structured types. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getRef("\"MixedCase\"").

Specified by:
getRef in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support structured types.

getShort

public short getShort(int columnIndex)
               throws SQLException
Returns the value of a column as a Java short value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR.

Specified by:
getShort in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getShort

public short getShort(String columnName)
               throws SQLException
Returns the value of a column as a Java short value. This can be used to get values from columns with SQL types SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, CHAR, and VARCHAR. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getShort("\"MixedCase\"").

Specified by:
getShort in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getString

public String getString(int columnIndex)
                 throws SQLException
Returns the value of a column as a String object. This can be used to get values from columns with any SQL type.

Specified by:
getString in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getString

public String getString(String columnName)
                 throws SQLException
Returns the value of a column as a String object. This can be used to get values from columns with any SQL type. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getString("\"MixedCase\"").

Specified by:
getString in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getTime

public Time getTime(int columnIndex)
             throws SQLException
Returns the value of a column as a java.sql.Time object using the default calendar. This can be used to get values from columns with SQL types CHAR, VARCHAR, TIME, and TIMESTAMP.

Specified by:
getTime in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getTime

public Time getTime(String columnName)
             throws SQLException
Returns the value of a column as a java.sql.Time object using the default calendar. This can be used to get values from columns with SQL types CHAR, VARCHAR, TIME, and TIMESTAMP. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getTime("\"MixedCase\"").

Specified by:
getTime in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getTime

public Time getTime(int columnIndex,
                    Calendar calendar)
             throws SQLException
Returns the value of a column as a java.sql.Time object using a calendar other than the default. This can be used to get values from columns with SQL types CHAR, VARCHAR, TIME, and TIMESTAMP.

Specified by:
getTime in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, the calendar is null, or the requested conversion is not valid.

getTime

public Time getTime(String columnName,
                    Calendar calendar)
             throws SQLException
Returns the value of a column as a java.sql.Time object using a calendar other than the default. This can be used to get values from columns with SQL types CHAR, VARCHAR, TIME, and TIMESTAMP. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getTime("\"MixedCase\"", calendar).

Specified by:
getTime in interface ResultSet
Parameters:
columnName - The column name.
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, the calendar is null, or the requested conversion is not valid.

getTimestamp

public Timestamp getTimestamp(int columnIndex)
                       throws SQLException
Returns the value of a column as a java.sql.Timestamp object using the default calendar. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP.

Specified by:
getTimestamp in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

getTimestamp

public Timestamp getTimestamp(String columnName)
                       throws SQLException
Returns the value of a column as a java.sql.Timestamp object using the default calendar. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getTimestamp("\"MixedCase\"").

Specified by:
getTimestamp in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getTimestamp

public Timestamp getTimestamp(int columnIndex,
                              Calendar calendar)
                       throws SQLException
Returns the value of a column as a java.sql.Timestamp object using a calendar other than the default. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP.

Specified by:
getTimestamp in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, the calendar is null, or the requested conversion is not valid.

getTimestamp

public Timestamp getTimestamp(String columnName,
                              Calendar calendar)
                       throws SQLException
Returns the value of a column as a java.sql.Timestamp object using a calendar other than the default. This can be used to get values from columns with SQL types CHAR, VARCHAR, DATE, and TIMESTAMP. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getTimestamp("\"MixedCase\"", calendar).

Specified by:
getTimestamp in interface ResultSet
Parameters:
columnName - The column name.
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, the calendar is null, or the requested conversion is not valid.

getUnicodeStream

public InputStream getUnicodeStream(int columnIndex)
                             throws SQLException
Deprecated. Use getCharacterStream(int) instead.

Returns the value of a column as a stream of Unicode characters. This can be used to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, CLOB, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream.

Specified by:
getUnicodeStream in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.
See Also:
getCharacterStream(int)

getUnicodeStream

public InputStream getUnicodeStream(String columnName)
                             throws SQLException
Deprecated. Use getCharacterStream(String) instead.

Returns the value of a column as a stream of Unicode characters. This can be used to get values from columns with SQL types CHAR, VARCHAR, BINARY, VARBINARY, CLOB, and BLOB. All of the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.getUnicodeStream("\"MixedCase\"").

Specified by:
getUnicodeStream in interface ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
SQLException - If the result set is not open, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.
See Also:
getCharacterStream(String)

wasNull

public boolean wasNull()
                throws SQLException
Indicates if the last column read has the value of SQL NULL.

Specified by:
wasNull in interface ResultSet
Returns:
true if the value is SQL NULL; false otherwise.
Throws:
SQLException - If the result set is not open.

cancelRowUpdates

public void cancelRowUpdates()
                      throws SQLException
Cancels all pending updates that have been made since the last call to updateRow(). If no updates have been made or updateRow() has already been called, then this method has no effect.

Specified by:
cancelRowUpdates in interface ResultSet
Throws:
SQLException - If the result set is not open or the result set is not updatable.

deleteRow

public void deleteRow()
               throws SQLException
Deletes the current row from the result set and the database. After deleting a row, the cursor position is no longer valid, so it must be explicitly repositioned.

Specified by:
deleteRow in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the cursor is positioned on the insert row, or an error occurs.

insertRow

public void insertRow()
               throws SQLException
Inserts the contents of the insert row into the result set and the database.

Specified by:
insertRow in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on the insert row, a column that is not nullable was not specified, or an error occurs.

rowDeleted

public boolean rowDeleted()
                   throws SQLException
Indicates if the current row has been deleted. A result set of type TYPE_SCROLL_INSENSITIVE may contain rows that have been deleted.

Specified by:
rowDeleted in interface ResultSet
Returns:
true if current row has been deleted; false otherwise.
Throws:
SQLException - If an error occurs.

rowInserted

public boolean rowInserted()
                    throws SQLException
Indicates if the current row has been inserted. This driver does not support this method.

Specified by:
rowInserted in interface ResultSet
Returns:
Always false.
Throws:
SQLException - If an error occurs.

rowUpdated

public boolean rowUpdated()
                   throws SQLException
Indicates if the current row has been updated. This driver does not support this method.

Specified by:
rowUpdated in interface ResultSet
Returns:
Always false.
Throws:
SQLException - If an error occurs.

updateArray

public void updateArray(int columnIndex,
                        Array columnValue)
                 throws SQLException
Updates the value of a column as an Array object. DB2 for IBM i does not support arrays.

Specified by:
updateArray in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null if the value is SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support arrays.
Since:
Modification 5

updateArray

public void updateArray(String columnName,
                        Array columnValue)
                 throws SQLException
Updates the value of a column as an Array object. DB2 for IBM i does not support arrays. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateArray("\"MixedCase\"", columnValue).

Specified by:
updateArray in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null if the value is SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support arrays.

updateAsciiStream

public void updateAsciiStream(int columnIndex,
                              InputStream columnValue,
                              int length)
                       throws SQLException
Updates a column in the current row using an ASCII stream value. The driver reads the data from the stream as needed until no more bytes are available. The driver converts this to an SQL VARCHAR value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, the requested conversion is not valid, the length is not valid, the input stream does not contain ASCII characters, or an error happens while reading the input stream.

updateAsciiStream

public void updateAsciiStream(String columnName,
                              InputStream columnValue,
                              int length)
                       throws SQLException
Updates a column in the current row using an ASCII stream value. The driver reads the data from the stream as needed until no more bytes are available. The driver converts this to an SQL VARCHAR value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateAsciiStream("\"MixedCase\"", columnValue, length).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, the requested conversion is not valid, the length is not valid, the input stream does not contain ASCII characters, or an error happens while reading the input stream.

updateBigDecimal

public void updateBigDecimal(int columnIndex,
                             BigDecimal columnValue)
                      throws SQLException
Updates a column in the current row using a BigDecimal value. The driver converts this to an SQL NUMERIC value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBigDecimal in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateBigDecimal

public void updateBigDecimal(String columnName,
                             BigDecimal columnValue)
                      throws SQLException
Updates a column in the current row using a BigDecimal value. The driver converts this to an SQL NUMERIC value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateBigDecimal("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBigDecimal in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateBinaryStream

public void updateBinaryStream(int columnIndex,
                               InputStream columnValue,
                               int length)
                        throws SQLException
Updates a column in the current row using a binary stream value. The driver reads the data from the stream as needed until no more bytes are available. The driver converts this to an SQL VARBINARY value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid, the length is not valid, or an error happens while reading the input stream.

updateBinaryStream

public void updateBinaryStream(String columnName,
                               InputStream columnValue,
                               int length)
                        throws SQLException
Updates a column in the current row using a binary stream value. The driver reads the data from the stream as needed until no more bytes are available. The driver converts this to an SQL VARBINARY value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateBinaryStream("\"MixedCase\"", columnValue, length).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid, the length is not valid, or an error happens while reading the input stream.

updateBoolean

public void updateBoolean(int columnIndex,
                          boolean columnValue)
                   throws SQLException
Updates a column in the current row using a Java boolean value. The driver converts this to an SQL SMALLINT value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBoolean in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateBoolean

public void updateBoolean(String columnName,
                          boolean columnValue)
                   throws SQLException
Updates a column in the current row using a Java boolean value. The driver converts this to an SQL SMALLINT value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateBoolean("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBoolean in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.
Since:
Modification 5

updateBlob

public void updateBlob(int columnIndex,
                       Blob columnValue)
                throws SQLException
Updates a column in the current row using a Java Blob value. The driver converts this to an SQL BLOB value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBlob in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.
Since:
Modification 5

updateBlob

public void updateBlob(String columnName,
                       Blob columnValue)
                throws SQLException
Updates a column in the current row using a Java Blob value. The driver converts this to an SQL BLOB value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateBlob("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBlob in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateByte

public void updateByte(int columnIndex,
                       byte columnValue)
                throws SQLException
Updates a column in the current row using a Java byte value. The driver converts this to an SQL SMALLINT value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateByte in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateByte

public void updateByte(String columnName,
                       byte columnValue)
                throws SQLException
Updates a column in the current row using a Java byte value. The driver converts this to an SQL SMALLINT value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateByte("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateByte in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateBytes

public void updateBytes(int columnIndex,
                        byte[] columnValue)
                 throws SQLException
Updates a column in the current row using a Java byte array value. The driver converts this to an SQL VARBINARY value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBytes in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateBytes

public void updateBytes(String columnName,
                        byte[] columnValue)
                 throws SQLException
Updates a column in the current row using a Java byte array value. The driver converts this to an SQL VARBINARY value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateBytes("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateBytes in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateCharacterStream

public void updateCharacterStream(int columnIndex,
                                  Reader columnValue,
                                  int length)
                           throws SQLException
Updates a column in the current row using a Reader value. The driver reads the data from the Reader as needed until no more characters are available. The driver converts this to an SQL VARCHAR value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid, the length is not valid, or an error happens while reading the input stream.

updateCharacterStream

public void updateCharacterStream(String columnName,
                                  Reader columnValue,
                                  int length)
                           throws SQLException
Updates a column in the current row using a Reader value. The driver reads the data from the Reader as needed until no more characters are available. The driver converts this to an SQL VARCHAR value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateCharacterStream("\"MixedCase\"", columnValue, length).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid, the length is not valid, or an error happens while reading the input stream.
Since:
Modification 5

updateClob

public void updateClob(int columnIndex,
                       Clob columnValue)
                throws SQLException
Updates a column in the current row using a Java Clob value. The driver converts this to an SQL CLOB value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateClob in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.
Since:
Modification 5

updateClob

public void updateClob(String columnName,
                       Clob columnValue)
                throws SQLException
Updates a column in the current row using a Java Clob value. The driver converts this to an SQL CLOB value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateClob("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateClob in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateDate

public void updateDate(int columnIndex,
                       Date columnValue)
                throws SQLException
Updates a column in the current row using a java.sql.Date value. The driver converts this to an SQL DATE value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateDate in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateDate

public void updateDate(String columnName,
                       Date columnValue)
                throws SQLException
Updates a column in the current row using a java.sql.Date value. The driver converts this to an SQL DATE value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateDate("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateDate in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateDouble

public void updateDouble(int columnIndex,
                         double columnValue)
                  throws SQLException
Updates a column in the current row using a Java double value. The driver converts this to an SQL DOUBLE value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateDouble in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateDouble

public void updateDouble(String columnName,
                         double columnValue)
                  throws SQLException
Updates a column in the current row using a Java double value. The driver converts this to an SQL DOUBLE value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateDouble("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateDouble in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateFloat

public void updateFloat(int columnIndex,
                        float columnValue)
                 throws SQLException
Updates a column in the current row using a Java float value. The driver converts this to an SQL REAL value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateFloat in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateFloat

public void updateFloat(String columnName,
                        float columnValue)
                 throws SQLException
Updates a column in the current row using a Java float value. The driver converts this to an SQL REAL value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateFloat("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateFloat in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateInt

public void updateInt(int columnIndex,
                      int columnValue)
               throws SQLException
Updates a column in the current row using a Java int value. The driver converts this to an SQL INTEGER value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateInt in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateInt

public void updateInt(String columnName,
                      int columnValue)
               throws SQLException
Updates a column in the current row using a Java int value. The driver converts this to an SQL INTEGER value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateInt("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateInt in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateLong

public void updateLong(int columnIndex,
                       long columnValue)
                throws SQLException
Updates a column in the current row using a Java long value. If the connected system supports SQL BIGINT data, the driver converts this to an SQL BIGINT value. Otherwise, the driver converts this to an SQL INTEGER value. SQL BIGINT data is supported on V4R5 and later.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateLong in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateLong

public void updateLong(String columnName,
                       long columnValue)
                throws SQLException
Updates a column in the current row using a Java long value. If the connected system supports SQL BIGINT data, the driver converts this to an SQL BIGINT value. Otherwise, the driver converts this to an SQL INTEGER value. SQL BIGINT data is supported on V4R5 and later. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateLong("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateLong in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateNull

public void updateNull(int columnIndex)
                throws SQLException
Updates a column in the current row using SQL NULL.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateNull in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateNull

public void updateNull(String columnName)
                throws SQLException
Updates a column in the current row using SQL NULL. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateNull("\"MixedCase\"").

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateNull in interface ResultSet
Parameters:
columnName - The column name.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateDB2Default

public void updateDB2Default(int columnIndex)
                      throws SQLException
Updates a column in the current row to the SQL Default.

Parameters:
columnIndex - The column index (1-based).
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateDBDefault

public void updateDBDefault(int columnIndex)
                     throws SQLException
Updates a column in the current row to the SQL Default. Same as updateDB2Default.

Parameters:
columnIndex - The column index (1-based).
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateDB2Default

public void updateDB2Default(String columnName)
                      throws SQLException
Updates a column in the current row to the SQL Default.

Parameters:
columnName - The column name.
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateDBDefault

public void updateDBDefault(String columnName)
                     throws SQLException
Updates a column in the current row to the SQL Default. Same as updateDB2Default.

Parameters:
columnName - The column name.
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateDB2Unassigned

public void updateDB2Unassigned(int columnIndex)
                         throws SQLException
Updates a column in the current row to the SQL Unassigned.

Parameters:
columnIndex - The column index (1-based).
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateDBUnassigned

public void updateDBUnassigned(int columnIndex)
                        throws SQLException
Updates a column in the current row to the SQL Unassigned. Same as updtaeDB2Unassigned.

Parameters:
columnIndex - The column index (1-based).
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateDB2Unassigned

public void updateDB2Unassigned(String columnName)
                         throws SQLException
Updates a column in the current row to the SQL Unassigned.

Parameters:
columnName - The column name.
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateDBUnassigned

public void updateDBUnassigned(String columnName)
                        throws SQLException
Updates a column in the current row to the SQL Unassigned. Same as updateDB2Unassigned.

Parameters:
columnName - The column name.
Throws:
SQLException - If the statement is not open, the index is not valid, the parameter is not an input parameter.

updateObject

public void updateObject(int columnIndex,
                         Object columnValue)
                  throws SQLException
Updates a column in the current row using an Object value. The driver converts this to a value of an SQL type, depending on the type of the specified value. The JDBC specification defines a standard mapping from Java types to SQL types. In the cases where an SQL type is not supported by DB2 for IBM i, the next closest matching type is used.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateObject in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateObject

public void updateObject(String columnName,
                         Object columnValue)
                  throws SQLException
Updates a column in the current row using an Object value. The driver converts this to a value of an SQL type, depending on the type of the specified value. The JDBC specification defines a standard mapping from Java types to SQL types. In the cases where an SQL type is not supported by DB2 for IBM i, the next closest matching type is used. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateObject("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateObject in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateObject

public void updateObject(int columnIndex,
                         Object columnValue,
                         int scale)
                  throws SQLException
Updates a column in the current row using an Object value. The driver converts this to a value of an SQL type, depending on the type of the specified value. The JDBC specification defines a standard mapping from Java types to SQL types. In the cases where an SQL type is not supported by DB2 for IBM i, the next closest matching type is used.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateObject in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
scale - The number of digits after the decimal if SQL type is DECIMAL or NUMERIC.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, the scale is not valid, or the requested conversion is not valid.

updateObject

public void updateObject(String columnName,
                         Object columnValue,
                         int scale)
                  throws SQLException
Updates a column in the current row using an Object value. The driver converts this to a value of an SQL type, depending on the type of the specified value. The JDBC specification defines a standard mapping from Java types to SQL types. In the cases where an SQL type is not supported by DB2 for IBM i, the next closest matching type is used. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateObject("\"MixedCase\"", columnValue, scale).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateObject in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
scale - The number of digits after the decimal if SQL type is DECIMAL or NUMERIC.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, the scale is not valid, or the requested conversion is not valid.
Since:
Modification 5

updateRef

public void updateRef(int columnIndex,
                      Ref columnValue)
               throws SQLException
Updates the value of an SQL REF output parameter as a Ref value. DB2 for IBM i does not support structured types.

Specified by:
updateRef in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support REFs.
Since:
Modification 5

updateRef

public void updateRef(String columnName,
                      Ref columnValue)
               throws SQLException
Updates the value of an SQL REF output parameter as a Ref value. DB2 for IBM i does not support structured types. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateRef("\"MixedCase\"", columnValue).

Specified by:
updateRef in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - Always thrown because DB2 for IBM i does not support REFs.

updateRow

public void updateRow()
               throws SQLException
Updates the database with the new contents of the current row.

Specified by:
updateRow in interface ResultSet
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the cursor is positioned on the insert row, or an error occurs.

updateShort

public void updateShort(int columnIndex,
                        short columnValue)
                 throws SQLException
Updates a column in the current row using a Java short value. The driver converts this to an SQL SMALLINT value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateShort in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateShort

public void updateShort(String columnName,
                        short columnValue)
                 throws SQLException
Updates a column in the current row using a Java short value. The driver converts this to an SQL SMALLINT value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateShort("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateShort in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateString

public void updateString(int columnIndex,
                         String columnValue)
                  throws SQLException
Updates a column in the current row using a String value. The driver converts this to an SQL VARCHAR value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateString in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateString

public void updateString(String columnName,
                         String columnValue)
                  throws SQLException
Updates a column in the current row using a String value. The driver converts this to an SQL VARCHAR value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateString("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateString in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateTime

public void updateTime(int columnIndex,
                       Time columnValue)
                throws SQLException
Updates a column in the current row using a java.sql.Time value. The driver converts this to an SQL TIME value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateTime in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateTime

public void updateTime(String columnName,
                       Time columnValue)
                throws SQLException
Updates a column in the current row using a java.sql.Time value. The driver converts this to an SQL TIME value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateTime("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateTime in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

updateTimestamp

public void updateTimestamp(int columnIndex,
                            Timestamp columnValue)
                     throws SQLException
Updates a column in the current row using a java.sql.Timestamp value. The driver converts this to an SQL TIMESTAMP value.

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateTimestamp in interface ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column index is not valid, or the requested conversion is not valid.

updateTimestamp

public void updateTimestamp(String columnName,
                            Timestamp columnValue)
                     throws SQLException
Updates a column in the current row using a java.sql.Timestamp value. The driver converts this to an SQL TIMESTAMP value. To perform a case-sensitive search use a quoted String for columnName as in: ResultSet.updateTimestamp("\"MixedCase\"", columnValue).

This does not update the database directly. Instead, it updates a copy of the data in memory. Call updateRow() or insertRow() to update the database.

Specified by:
updateTimestamp in interface ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
SQLException - If the result set is not open, the result set is not updatable, the cursor is not positioned on a row, the column name is not found, or the requested conversion is not valid.

getHoldability

public int getHoldability()
                   throws SQLException
Retrieves the holdability of this ResultSet object

Specified by:
getHoldability in interface ResultSet
Returns:
holdability either ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
Throws:
SQLException - if a database error occurs