com.ibm.as400.access
Class AS400JDBCResultSet

java.lang.Object
  |
  +--com.ibm.as400.access.AS400JDBCResultSet
All Implemented Interfaces:
java.sql.ResultSet

public class AS400JDBCResultSet
extends java.lang.Object
implements java.sql.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 server running V4R5 or a previous release of OS/400:

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.


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
 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(java.lang.String columnName)
          Returns the column index for the specified column name.
 boolean first()
          Positions the cursor to the first row.
 java.sql.Array getArray(int columnIndex)
          Returns the value of a column as an Array object.
 java.sql.Array getArray(java.lang.String columnName)
          Returns the value of a column as an Array object.
 java.io.InputStream getAsciiStream(int columnIndex)
          Returns the value of a column as a stream of ASCII characters.
 java.io.InputStream getAsciiStream(java.lang.String columnName)
          Returns the value of a column as a stream of ASCII characters.
 java.math.BigDecimal getBigDecimal(int columnIndex)
          Returns the value of a column as a BigDecimal object.
 java.math.BigDecimal getBigDecimal(int columnIndex, int scale)
          Deprecated. Use getBigDecimal(int) instead.
 java.math.BigDecimal getBigDecimal(java.lang.String columnName)
          Returns the value of a column as a BigDecimal object.
 java.math.BigDecimal getBigDecimal(java.lang.String columnName, int scale)
          Deprecated. Use getBigDecimal(String) instead.
 java.io.InputStream getBinaryStream(int columnIndex)
          Returns the value of a column as a stream of uninterpreted bytes.
 java.io.InputStream getBinaryStream(java.lang.String columnName)
          Returns the value of a column as a stream of uninterpreted bytes.
 java.sql.Blob getBlob(int columnIndex)
          Returns the value of a column as a Blob object.
 java.sql.Blob getBlob(java.lang.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(java.lang.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(java.lang.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(java.lang.String columnName)
          Returns the value of a column as a Java byte array.
 java.io.Reader getCharacterStream(int columnIndex)
          Returns the value of a column as a character stream.
 java.io.Reader getCharacterStream(java.lang.String columnName)
          Returns the value of a column as a character stream.
 java.sql.Clob getClob(int columnIndex)
          Returns the value of a column as a Clob object.
 java.sql.Clob getClob(java.lang.String columnName)
          Returns the value of a column as a Clob object.
 int getConcurrency()
          Returns the result set concurrency.
 java.lang.String getCursorName()
          Returns the name of the SQL cursor in use by the result set.
 java.sql.Date getDate(int columnIndex)
          Returns the value of a column as a java.sql.Date object using the default calendar.
 java.sql.Date getDate(int columnIndex, java.util.Calendar calendar)
          Returns the value of a column as a java.sql.Date object using a calendar other than the default.
 java.sql.Date getDate(java.lang.String columnName)
          Returns the value of a column as a java.sql.Date object using the default calendar.
 java.sql.Date getDate(java.lang.String columnName, java.util.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(java.lang.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(java.lang.String columnName)
          Returns the value of a column as a Java float value.
 int getInt(int columnIndex)
          Returns the value of a column as a Java int value.
 int getInt(java.lang.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(java.lang.String columnName)
          Returns the value of a column as a Java long value.
 java.sql.ResultSetMetaData getMetaData()
          Returns the ResultSetMetaData object that describes the result set's columns.
 java.lang.Object getObject(int columnIndex)
          Returns the value of a column as a Java Object.
 java.lang.Object getObject(int columnIndex, java.util.Map typeMap)
          Returns the value of a column as a Java Object.
 java.lang.Object getObject(java.lang.String columnName)
          Returns the value of a column as a Java Object.
 java.lang.Object getObject(java.lang.String columnName, java.util.Map typeMap)
          Returns the value of a column as a Java Object.
 java.sql.Ref getRef(int columnIndex)
          Returns the value of a column as a Ref object.
 java.sql.Ref getRef(java.lang.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(java.lang.String columnName)
          Returns the value of a column as a Java short value.
 java.sql.Statement getStatement()
          Returns the statement for this result set.
 java.lang.String getString(int columnIndex)
          Returns the value of a column as a String object.
 java.lang.String getString(java.lang.String columnName)
          Returns the value of a column as a String object.
 java.sql.Time getTime(int columnIndex)
          Returns the value of a column as a java.sql.Time object using the default calendar.
 java.sql.Time getTime(int columnIndex, java.util.Calendar calendar)
          Returns the value of a column as a java.sql.Time object using a calendar other than the default.
 java.sql.Time getTime(java.lang.String columnName)
          Returns the value of a column as a java.sql.Time object using the default calendar.
 java.sql.Time getTime(java.lang.String columnName, java.util.Calendar calendar)
          Returns the value of a column as a java.sql.Time object using a calendar other than the default.
 java.sql.Timestamp getTimestamp(int columnIndex)
          Returns the value of a column as a java.sql.Timestamp object using the default calendar.
 java.sql.Timestamp getTimestamp(int columnIndex, java.util.Calendar calendar)
          Returns the value of a column as a java.sql.Timestamp object using a calendar other than the default.
 java.sql.Timestamp getTimestamp(java.lang.String columnName)
          Returns the value of a column as a java.sql.Timestamp object using the default calendar.
 java.sql.Timestamp getTimestamp(java.lang.String columnName, java.util.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.
 java.io.InputStream getUnicodeStream(int columnIndex)
          Deprecated. Use getCharacterStream(int) instead.
 java.io.InputStream getUnicodeStream(java.lang.String columnName)
          Deprecated. Use getCharacterStream(String) instead.
 java.net.URL getURL(int columnIndex)
          Returns the value of an SQL DATALINK output parameter as a java.net.URL object.
 java.net.URL getURL(java.lang.String columnName)
          Returns the value of an SQL DATALINK output parameter as a java.net.URL object.
 java.sql.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.
 java.lang.String toString()
          Returns the name of the SQL cursor in use by the result set.
 void updateArray(int columnIndex, java.sql.Array columnValue)
          Updates the value of a column as an Array object.
 void updateArray(java.lang.String columnName, java.sql.Array columnValue)
          Updates the value of a column as an Array object.
 void updateAsciiStream(int columnIndex, java.io.InputStream columnValue, int length)
          Updates a column in the current row using an ASCII stream value.
 void updateAsciiStream(java.lang.String columnName, java.io.InputStream columnValue, int length)
          Updates a column in the current row using an ASCII stream value.
 void updateBigDecimal(int columnIndex, java.math.BigDecimal columnValue)
          Updates a column in the current row using a BigDecimal value.
 void updateBigDecimal(java.lang.String columnName, java.math.BigDecimal columnValue)
          Updates a column in the current row using a BigDecimal value.
 void updateBinaryStream(int columnIndex, java.io.InputStream columnValue, int length)
          Updates a column in the current row using a binary stream value.
 void updateBinaryStream(java.lang.String columnName, java.io.InputStream columnValue, int length)
          Updates a column in the current row using a binary stream value.
 void updateBlob(int columnIndex, java.sql.Blob columnValue)
          Updates a column in the current row using a Java Blob value.
 void updateBlob(java.lang.String columnName, java.sql.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(java.lang.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(java.lang.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(java.lang.String columnName, byte[] columnValue)
          Updates a column in the current row using a Java byte array value.
 void updateCharacterStream(int columnIndex, java.io.Reader columnValue, int length)
          Updates a column in the current row using a Reader value.
 void updateCharacterStream(java.lang.String columnName, java.io.Reader columnValue, int length)
          Updates a column in the current row using a Reader value.
 void updateClob(int columnIndex, java.sql.Clob columnValue)
          Updates a column in the current row using a Java Clob value.
 void updateClob(java.lang.String columnName, java.sql.Clob columnValue)
          Updates a column in the current row using a Java Clob value.
 void updateDate(int columnIndex, java.sql.Date columnValue)
          Updates a column in the current row using a java.sql.Date value.
 void updateDate(java.lang.String columnName, java.sql.Date columnValue)
          Updates a column in the current row using a java.sql.Date value.
 void updateDouble(int columnIndex, double columnValue)
          Updates a column in the current row using a Java double value.
 void updateDouble(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.String columnName)
          Updates a column in the current row using SQL NULL.
 void updateObject(int columnIndex, java.lang.Object columnValue)
          Updates a column in the current row using an Object value.
 void updateObject(int columnIndex, java.lang.Object columnValue, int scale)
          Updates a column in the current row using an Object value.
 void updateObject(java.lang.String columnName, java.lang.Object columnValue)
          Updates a column in the current row using an Object value.
 void updateObject(java.lang.String columnName, java.lang.Object columnValue, int scale)
          Updates a column in the current row using an Object value.
 void updateRef(int columnIndex, java.sql.Ref columnValue)
          Updates the value of an SQL REF output parameter as a Ref value.
 void updateRef(java.lang.String columnName, java.sql.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(java.lang.String columnName, short columnValue)
          Updates a column in the current row using a Java short value.
 void updateString(int columnIndex, java.lang.String columnValue)
          Updates a column in the current row using a String value.
 void updateString(java.lang.String columnName, java.lang.String columnValue)
          Updates a column in the current row using a String value.
 void updateTime(int columnIndex, java.sql.Time columnValue)
          Updates a column in the current row using a java.sql.Time value.
 void updateTime(java.lang.String columnName, java.sql.Time columnValue)
          Updates a column in the current row using a java.sql.Time value.
 void updateTimestamp(int columnIndex, java.sql.Timestamp columnValue)
          Updates a column in the current row using a java.sql.Timestamp value.
 void updateTimestamp(java.lang.String columnName, java.sql.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
 

Method Detail

clearWarnings

public void clearWarnings()
                   throws java.sql.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 java.sql.ResultSet
Throws:
java.sql.SQLException - If an error occurs.

close

public void close()
           throws java.sql.SQLException
Releases the result set's resources immediately instead of waiting for them to be automatically released.
Specified by:
close in interface java.sql.ResultSet
Throws:
java.sql.SQLException - If an error occurs.

finalize

protected void finalize()
                 throws java.lang.Throwable
Closes the result set if not explicitly closed by the caller.
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable - If an error occurs.

findColumn

public int findColumn(java.lang.String columnName)
               throws java.sql.SQLException
Returns the column index for the specified column name.
Specified by:
findColumn in interface java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column index (1-based).
Throws:
java.sql.SQLException - If the result set is not open or the column name is not found.

getConcurrency

public int getConcurrency()
                   throws java.sql.SQLException
Returns the result set concurrency.
Specified by:
getConcurrency in interface java.sql.ResultSet
Returns:
The result set concurrency. Valid values are:
  • CONCUR_READ_ONLY
  • CONCUR_UPDATABLE
Throws:
java.sql.SQLException - If the result set is not open.

getCursorName

public java.lang.String getCursorName()
                               throws java.sql.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 java.sql.ResultSet
Returns:
The cursor name.
Throws:
java.sql.SQLException - If the result is not open.

getFetchDirection

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

getFetchSize

public int getFetchSize()
                 throws java.sql.SQLException
Returns the fetch size.
Specified by:
getFetchSize in interface java.sql.ResultSet
Returns:
The fetch size.
Throws:
java.sql.SQLException - If the result is not open.

getStatement

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

getType

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

getURL

public java.net.URL getURL(int columnIndex)
                    throws java.sql.SQLException
Returns the value of an SQL DATALINK output parameter as a java.net.URL object.
Parameters:
columnIndex - The column index (1-based).
Returns:
The parameter value or null if the value is SQL NULL.
Throws:
java.sql.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 java.net.URL getURL(java.lang.String columnName)
                    throws java.sql.SQLException
Returns the value of an SQL DATALINK output parameter as a java.net.URL object.
Parameters:
columnName - The column name.
Returns:
The parameter value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.SQLWarning getWarnings()
                                throws java.sql.SQLException
Returns the first warning reported for the result set. Subsequent warnings may be chained to this warning.
Specified by:
getWarnings in interface java.sql.ResultSet
Returns:
The first warning or null if no warnings have been reported.
Throws:
java.sql.SQLException - If an error occurs.

setFetchDirection

public void setFetchDirection(int fetchDirection)
                       throws java.sql.SQLException
Sets the direction in which the rows in a result set are processed.
Specified by:
setFetchDirection in interface java.sql.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:
java.sql.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 java.sql.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 java.sql.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:
java.sql.SQLException - If the result set is not open or the input value is not valid.

toString

public java.lang.String toString()
Returns the name of the SQL cursor in use by the result set.
Overrides:
toString in class java.lang.Object
Returns:
The cursor name.

absolute

public boolean absolute(int rowNumber)
                 throws java.sql.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 java.sql.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:
java.sql.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 java.sql.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 java.sql.ResultSet
Throws:
java.sql.SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

beforeFirst

public void beforeFirst()
                 throws java.sql.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 java.sql.ResultSet
Throws:
java.sql.SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

first

public boolean first()
              throws java.sql.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 java.sql.ResultSet
Returns:
true if the requested cursor position is valid; false otherwise.
Throws:
java.sql.SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

getRow

public int getRow()
           throws java.sql.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 server 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 retrieve 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 java.sql.ResultSet
Returns:
The current row number (1-based), or 0 if the current row is not valid.
Throws:
java.sql.SQLException - If the result set is not open.

isAfterLast

public boolean isAfterLast()
                    throws java.sql.SQLException
Indicates if the cursor is positioned after the last row.
Specified by:
isAfterLast in interface java.sql.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:
java.sql.SQLException - If the result set is not open.

isBeforeFirst

public boolean isBeforeFirst()
                      throws java.sql.SQLException
Indicates if the cursor is positioned before the first row.
Specified by:
isBeforeFirst in interface java.sql.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:
java.sql.SQLException - If the result set is not open.

isFirst

public boolean isFirst()
                throws java.sql.SQLException
Indicates if the cursor is positioned on the first row.
Specified by:
isFirst in interface java.sql.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:
java.sql.SQLException - If the result set is not open.

isLast

public boolean isLast()
               throws java.sql.SQLException
Indicates if the cursor is positioned on the last row.
Specified by:
isLast in interface java.sql.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:
java.sql.SQLException - If the result set is not open.

last

public boolean last()
             throws java.sql.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 java.sql.ResultSet
Returns:
true if the requested cursor position is valid; false otherwise.
Throws:
java.sql.SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

moveToCurrentRow

public void moveToCurrentRow()
                      throws java.sql.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 java.sql.ResultSet
Throws:
java.sql.SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

moveToInsertRow

public void moveToInsertRow()
                     throws java.sql.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 java.sql.ResultSet
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Returns:
true if the requested cursor position is valid; false if there are no more rows.
Throws:
java.sql.SQLException - If the result set is not open, or an error occurs.

previous

public boolean previous()
                 throws java.sql.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 java.sql.ResultSet
Returns:
true if the requested cursor position is valid; false otherwise.
Throws:
java.sql.SQLException - If the result set is not open, the result set is not scrollable, or an error occurs.

refreshRow

public void refreshRow()
                throws java.sql.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 java.sql.ResultSet
Throws:
java.sql.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 java.sql.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 java.sql.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:
java.sql.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 java.sql.Array getArray(int columnIndex)
                        throws java.sql.SQLException
Returns the value of a column as an Array object. DB2 UDB for iSeries does not support arrays.
Specified by:
getArray in interface java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support arrays.

getArray

public java.sql.Array getArray(java.lang.String columnName)
                        throws java.sql.SQLException
Returns the value of a column as an Array object. DB2 UDB for iSeries does not support arrays.
Specified by:
getArray in interface java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support arrays.

getAsciiStream

public java.io.InputStream getAsciiStream(int columnIndex)
                                   throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.io.InputStream getAsciiStream(java.lang.String columnName)
                                   throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.math.BigDecimal getBigDecimal(int columnIndex)
                                   throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.math.BigDecimal getBigDecimal(java.lang.String columnName)
                                   throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.math.BigDecimal getBigDecimal(int columnIndex,
                                          int scale)
                                   throws java.sql.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 java.sql.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:
java.sql.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 java.math.BigDecimal getBigDecimal(java.lang.String columnName,
                                          int scale)
                                   throws java.sql.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.
Specified by:
getBigDecimal in interface java.sql.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:
java.sql.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 java.io.InputStream getBinaryStream(int columnIndex)
                                    throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.io.InputStream getBinaryStream(java.lang.String columnName)
                                    throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Blob getBlob(int columnIndex)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Blob getBlob(java.lang.String columnName)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or false if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
                   throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or false if the value is SQL NULL.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
             throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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 java.sql.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 OS/400 format. This is not supported for result sets returned by a DatabaseMetaData object.

Specified by:
getBytes in interface java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
                throws java.sql.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 OS/400 format. This is not supported for result sets returned by a DatabaseMetaData object.

Specified by:
getBytes in interface java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.io.Reader getCharacterStream(int columnIndex)
                                  throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.io.Reader getCharacterStream(java.lang.String columnName)
                                  throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Clob getClob(int columnIndex)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Clob getClob(java.lang.String columnName)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Date getDate(int columnIndex)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Date getDate(java.lang.String columnName)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Date getDate(int columnIndex,
                             java.util.Calendar calendar)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Date getDate(java.lang.String columnName,
                             java.util.Calendar calendar)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
                 throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
               throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
           throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
             throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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 java.sql.ResultSetMetaData getMetaData()
                                       throws java.sql.SQLException
Returns the ResultSetMetaData object that describes the result set's columns.
Specified by:
getMetaData in interface java.sql.ResultSet
Returns:
The metadata object.
Throws:
java.sql.SQLException - If an error occurs.

getObject

public java.lang.Object getObject(int columnIndex)
                           throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.lang.Object getObject(java.lang.String columnName)
                           throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.lang.Object getObject(int columnIndex,
                                  java.util.Map typeMap)
                           throws java.sql.SQLException
Returns the value of a column as a Java Object.
Specified by:
getObject in interface java.sql.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:
java.sql.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 java.lang.Object getObject(java.lang.String columnName,
                                  java.util.Map typeMap)
                           throws java.sql.SQLException
Returns the value of a column as a Java Object.
Specified by:
getObject in interface java.sql.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:
java.sql.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 java.sql.Ref getRef(int columnIndex)
                    throws java.sql.SQLException
Returns the value of a column as a Ref object. DB2 UDB for iSeries does not support structured types.
Specified by:
getRef in interface java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support structured types.

getRef

public java.sql.Ref getRef(java.lang.String columnName)
                    throws java.sql.SQLException
Returns the value of a column as a Ref object. DB2 UDB for iSeries does not support structured types.
Specified by:
getRef in interface java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support structured types.

getShort

public short getShort(int columnIndex)
               throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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(java.lang.String columnName)
               throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or 0 if the value is SQL NULL.
Throws:
java.sql.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 java.lang.String getString(int columnIndex)
                           throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.lang.String getString(java.lang.String columnName)
                           throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Time getTime(int columnIndex)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Time getTime(java.lang.String columnName)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Time getTime(int columnIndex,
                             java.util.Calendar calendar)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Time getTime(java.lang.String columnName,
                             java.util.Calendar calendar)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Timestamp getTimestamp(int columnIndex)
                                throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Timestamp getTimestamp(java.lang.String columnName)
                                throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Timestamp getTimestamp(int columnIndex,
                                       java.util.Calendar calendar)
                                throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.Timestamp getTimestamp(java.lang.String columnName,
                                       java.util.Calendar calendar)
                                throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
calendar - The calendar.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.io.InputStream getUnicodeStream(int columnIndex)
                                     throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.io.InputStream getUnicodeStream(java.lang.String columnName)
                                     throws java.sql.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.
Specified by:
getUnicodeStream in interface java.sql.ResultSet
Parameters:
columnName - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.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 java.sql.SQLException
Indicates if the last column read has the value of SQL NULL.
Specified by:
wasNull in interface java.sql.ResultSet
Returns:
true if the value is SQL NULL; false otherwise.
Throws:
java.sql.SQLException - If the result set is not open.

cancelRowUpdates

public void cancelRowUpdates()
                      throws java.sql.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 java.sql.ResultSet
Throws:
java.sql.SQLException - If the result set is not open or the result set is not updatable.

deleteRow

public void deleteRow()
               throws java.sql.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 java.sql.ResultSet
Throws:
java.sql.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 java.sql.SQLException
Inserts the contents of the insert row into the result set and the database.
Specified by:
insertRow in interface java.sql.ResultSet
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Returns:
true if current row has been deleted; false otherwise.
Throws:
java.sql.SQLException - If an error occurs.

rowInserted

public boolean rowInserted()
                    throws java.sql.SQLException
Indicates if the current row has been inserted. This driver does not support this method.
Specified by:
rowInserted in interface java.sql.ResultSet
Returns:
Always false.
Throws:
java.sql.SQLException - If an error occurs.

rowUpdated

public boolean rowUpdated()
                   throws java.sql.SQLException
Indicates if the current row has been updated. This driver does not support this method.
Specified by:
rowUpdated in interface java.sql.ResultSet
Returns:
Always false.
Throws:
java.sql.SQLException - If an error occurs.

updateArray

public void updateArray(int columnIndex,
                        java.sql.Array columnValue)
                 throws java.sql.SQLException
Updates the value of a column as an Array object. DB2 UDB for iSeries does not support arrays.
Parameters:
columnIndex - The column index (1-based).
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support arrays.
Since:
Modification 5

updateArray

public void updateArray(java.lang.String columnName,
                        java.sql.Array columnValue)
                 throws java.sql.SQLException
Updates the value of a column as an Array object. DB2 UDB for iSeries does not support arrays.
Parameters:
columnIndex - The column name.
Returns:
The column value or null if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support arrays.

updateAsciiStream

public void updateAsciiStream(int columnIndex,
                              java.io.InputStream columnValue,
                              int length)
                       throws java.sql.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 java.sql.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:
java.sql.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(java.lang.String columnName,
                              java.io.InputStream columnValue,
                              int length)
                       throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
java.sql.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,
                             java.math.BigDecimal columnValue)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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(java.lang.String columnName,
                             java.math.BigDecimal columnValue)
                      throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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,
                               java.io.InputStream columnValue,
                               int length)
                        throws java.sql.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 java.sql.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:
java.sql.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(java.lang.String columnName,
                               java.io.InputStream columnValue,
                               int length)
                        throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                          boolean columnValue)
                   throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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,
                       java.sql.Blob columnValue)
                throws java.sql.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.

Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                       java.sql.Blob columnValue)
                throws java.sql.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.

Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                       byte columnValue)
                throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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(java.lang.String columnName,
                        byte[] columnValue)
                 throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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,
                                  java.io.Reader columnValue,
                                  int length)
                           throws java.sql.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 java.sql.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:
java.sql.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(java.lang.String columnName,
                                  java.io.Reader columnValue,
                                  int length)
                           throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
length - The length.
Throws:
java.sql.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,
                       java.sql.Clob columnValue)
                throws java.sql.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.

Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                       java.sql.Clob columnValue)
                throws java.sql.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.

Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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,
                       java.sql.Date columnValue)
                throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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(java.lang.String columnName,
                       java.sql.Date columnValue)
                throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                         double columnValue)
                  throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                        float columnValue)
                 throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                      int columnValue)
               throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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 java.sql.SQLException
Updates a column in the current row using a Java long value. If the connected AS/400 or iSeries server 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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                       long columnValue)
                throws java.sql.SQLException
Updates a column in the current row using a Java long value. If the connected AS/400 or iSeries server 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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
Throws:
java.sql.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(java.lang.String columnName)
                throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
Throws:
java.sql.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,
                         java.lang.Object columnValue)
                  throws java.sql.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 UDB for iSeries, 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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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(java.lang.String columnName,
                         java.lang.Object columnValue)
                  throws java.sql.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 UDB for iSeries, 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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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,
                         java.lang.Object columnValue,
                         int scale)
                  throws java.sql.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 UDB for iSeries, 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 java.sql.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:
java.sql.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(java.lang.String columnName,
                         java.lang.Object columnValue,
                         int scale)
                  throws java.sql.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 UDB for iSeries, 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 java.sql.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:
java.sql.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,
                      java.sql.Ref columnValue)
               throws java.sql.SQLException
Updates the value of an SQL REF output parameter as a Ref value. DB2 UDB for iSeries does not support structured types.
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Returns:
The parameter value or 0 if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support REFs.
Since:
Modification 5

updateRef

public void updateRef(java.lang.String columnName,
                      java.sql.Ref columnValue)
               throws java.sql.SQLException
Updates the value of an SQL REF output parameter as a Ref value. DB2 UDB for iSeries does not support structured types.
Parameters:
columnIndex - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Returns:
The parameter value or 0 if the value is SQL NULL.
Throws:
java.sql.SQLException - Always thrown because DB2 UDB for iSeries does not support REFs.

updateRow

public void updateRow()
               throws java.sql.SQLException
Updates the database with the new contents of the current row.
Specified by:
updateRow in interface java.sql.ResultSet
Throws:
java.sql.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 java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value.
Throws:
java.sql.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(java.lang.String columnName,
                        short columnValue)
                 throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value.
Throws:
java.sql.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,
                         java.lang.String columnValue)
                  throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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(java.lang.String columnName,
                         java.lang.String columnValue)
                  throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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,
                       java.sql.Time columnValue)
                throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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(java.lang.String columnName,
                       java.sql.Time columnValue)
                throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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,
                            java.sql.Timestamp columnValue)
                     throws java.sql.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 java.sql.ResultSet
Parameters:
columnIndex - The column index (1-based).
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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(java.lang.String columnName,
                            java.sql.Timestamp columnValue)
                     throws java.sql.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 java.sql.ResultSet
Parameters:
columnName - The column name.
columnValue - The column value or null to update the value to SQL NULL.
Throws:
java.sql.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.