Known Indirect Subclasses |
A table of data representing a database result set, which is usually generated by executing a statement that queries the database.
A ResultSet
object maintains a cursor pointing
to its current row of data. Initially the cursor is positioned
before the first row. The next
method moves the
cursor to the next row, and because it returns false
when there are no more rows in the ResultSet
object,
it can be used in a while
loop to iterate through
the result set.
A default ResultSet
object is not updatable and
has a cursor that moves forward only. Thus, you can
iterate through it only once and only from the first row to the
last row. It is possible to
produce ResultSet
objects that are scrollable and/or
updatable. The following code fragment, in which con
is a valid Connection
object, illustrates how to make
a result set that is scrollable and insensitive to updates by others, and
that is updatable. See ResultSet
fields for other
options.
Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2"); // rs will be scrollable, will not show changes made by others, // and will be updatable
ResultSet
interface provides
getter methods (getBoolean
, getLong
, and so on)
for retrieving column values from the current row.
Values can be retrieved using either the index number of the
column or the name of the column. In general, using the
column index will be more efficient. Columns are numbered from 1.
For maximum portability, result set columns within each row should be
read in left-to-right order, and each column should be read only once.
For the getter methods, a JDBC driver attempts
to convert the underlying data to the Java type specified in the
getter method and returns a suitable Java value. The JDBC specification
has a table showing the allowable mappings from SQL types to Java types
that can be used by the ResultSet
getter methods.
Column names used as input to getter methods are case insensitive. When a getter method is called with a column name and several columns have the same name, the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query that generated the result set. For columns that are NOT explicitly named in the query, it is best to use column numbers. If column names are used, the programmer should take care to guarantee that they uniquely refer to the intended columns, which can be assured with the SQL AS clause.
A set of updater methods were added to this interface in the JDBC 2.0 API (JavaTM 2 SDK, Standard Edition, version 1.2). The comments regarding parameters to the getter methods also apply to parameters to the updater methods.
The updater methods may be used in two ways:
- to update a column value in the current row. In a scrollable
ResultSet
object, the cursor can be moved backwards and forwards, to an absolute position, or to a position relative to the current row. The following code fragment updates theNAME
column in the fifth row of theResultSet
objectrs
and then uses the methodupdateRow
to update the data source table from whichrs
was derived.rs.absolute(5); // moves the cursor to the fifth row of rs rs.updateString("NAME", "AINSWORTH"); // updates the //
NAME
column of row 5 to beAINSWORTH
rs.updateRow(); // updates the row in the data source - to insert column values into the insert row. An updatable
ResultSet
object has a special row associated with it that serves as a staging area for building a row to be inserted. The following code fragment moves the cursor to the insert row, builds a three-column row, and inserts it intors
and into the data source table using the methodinsertRow
.rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1, "AINSWORTH"); // updates the // first column of the insert row to be
AINSWORTH
rs.updateInt(2,35); // updates the second column to be35
rs.updateBoolean(3, true); // updates the third column totrue
rs.insertRow(); rs.moveToCurrentRow();
A ResultSet
object is automatically closed when the
Statement
object that
generated it is closed, re-executed, or used
to retrieve the next result from a sequence of multiple results.
The number, types and properties of a ResultSet
object's columns are provided by the ResultSetMetaData
object returned by the ResultSet.getMetaData
method.
Constant Summary
int | CLOSE_CURSORS_AT_COMMIT | The constant indicating that open ResultSet objects with this
holdability will be closed when the current transaction is commited. |
int | CONCUR_READ_ONLY | The constant indicating the concurrency mode for a
ResultSet object that may NOT be updated. |
int | CONCUR_UPDATABLE | The constant indicating the concurrency mode for a
ResultSet object that may be updated. |
int | FETCH_FORWARD | The constant indicating that the rows in a result set will be processed in a forward direction; first-to-last. |
int | FETCH_REVERSE | The constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first. |
int | FETCH_UNKNOWN | The constant indicating that the order in which rows in a result set will be processed is unknown. |
int | HOLD_CURSORS_OVER_COMMIT | The constant indicating that open ResultSet objects with this
holdability will remain open when the current transaction is commited. |
int | TYPE_FORWARD_ONLY | The constant indicating the type for a ResultSet object
whose cursor may move only forward. |
int | TYPE_SCROLL_INSENSITIVE | The constant indicating the type for a ResultSet object
that is scrollable but generally not sensitive to changes to the data
that underlies the ResultSet . |
int | TYPE_SCROLL_SENSITIVE | The constant indicating the type for a ResultSet object
that is scrollable and generally sensitive to changes to the data
that underlies the ResultSet . |
Public Method Summary
abstract boolean |
absolute(int row)
Moves the cursor to the given row number in
this
ResultSet object. |
abstract void |
afterLast()
Moves the cursor to the end of
this
ResultSet object, just after the
last row. |
abstract void |
beforeFirst()
Moves the cursor to the front of
this
ResultSet object, just before the
first row. |
abstract void |
cancelRowUpdates()
Cancels the updates made to the current row in this
ResultSet object. |
abstract void |
clearWarnings()
Clears all warnings reported on this
ResultSet object. |
abstract void |
close()
Releases this
ResultSet object's database and
JDBC resources immediately instead of waiting for
this to happen when it is automatically closed. |
abstract void |
deleteRow()
Deletes the current row from this
ResultSet object
and from the underlying database. |
abstract int | |
abstract boolean |
first()
Moves the cursor to the first row in
this
ResultSet object. |
abstract Array |
getArray(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as an Array object
in the Java programming language. |
abstract Array | |
abstract InputStream |
getAsciiStream(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a stream of ASCII characters. |
abstract InputStream |
getAsciiStream(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a stream of
ASCII characters. |
abstract BigDecimal |
getBigDecimal(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a
java.math.BigDecimal with full precision. |
abstract BigDecimal |
getBigDecimal(String columnLabel, int scale)
This method is deprecated.
Use
getBigDecimal(int columnIndex)
or getBigDecimal(String columnLabel)
|
abstract BigDecimal |
getBigDecimal(int columnIndex, int scale)
This method is deprecated.
Use
getBigDecimal(int columnIndex)
or getBigDecimal(String columnLabel)
|
abstract BigDecimal |
getBigDecimal(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a
java.math.BigDecimal with full precision. |
abstract InputStream |
getBinaryStream(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a stream of uninterpreted
byte s. |
abstract InputStream |
getBinaryStream(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a stream of
uninterpreted bytes. |
abstract Blob |
getBlob(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a Blob object
in the Java programming language. |
abstract Blob | |
abstract boolean |
getBoolean(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a boolean in the Java programming language. |
abstract boolean |
getBoolean(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a boolean in the Java programming language. |
abstract byte | |
abstract byte |
getByte(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a byte in the Java programming language. |
abstract byte[] | |
abstract byte[] |
getBytes(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a byte array in the Java programming language. |
abstract Reader |
getCharacterStream(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a
java.io.Reader object. |
abstract Reader |
getCharacterStream(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a
java.io.Reader object. |
abstract Clob |
getClob(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a Clob object
in the Java programming language. |
abstract Clob | |
abstract int |
getConcurrency()
Retrieves the concurrency mode of this
ResultSet object. |
abstract String |
getCursorName()
Retrieves the name of the SQL cursor used by this
ResultSet
object. |
abstract Date |
getDate(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a java.sql.Date object in the Java programming language. |
abstract Date | |
abstract Date | |
abstract Date | |
abstract double |
getDouble(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a double in the Java programming language. |
abstract double | |
abstract int |
getFetchDirection()
Retrieves the fetch direction for this
ResultSet object. |
abstract int |
getFetchSize()
Retrieves the fetch size for this
ResultSet object. |
abstract float | |
abstract float |
getFloat(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a float in the Java programming language. |
abstract int |
getHoldability()
Retrieves the holdability of this
ResultSet object |
abstract int |
getInt(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
an int in the Java programming language. |
abstract int | |
abstract long | |
abstract long |
getLong(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a long in the Java programming language. |
abstract ResultSetMetaData |
getMetaData()
Retrieves the number, types and properties of
this
ResultSet object's columns. |
abstract Reader |
getNCharacterStream(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a
java.io.Reader object. |
abstract Reader |
getNCharacterStream(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a
java.io.Reader object. |
abstract NClob | |
abstract NClob |
getNClob(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a NClob object
in the Java programming language. |
abstract String |
getNString(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a String in the Java programming language. |
abstract String |
getNString(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a String in the Java programming language. |
abstract Object |
getObject(int columnIndex)
Gets the value of the designated column in the current row
of this |
abstract Object | |
abstract Object | |
abstract Object | |
abstract Ref |
getRef(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a Ref object
in the Java programming language. |
abstract Ref | |
abstract int |
getRow()
Retrieves the current row number.
|
abstract RowId |
getRowId(int columnIndex)
Retrieves the value of the designated column in the current row of this
ResultSet object as a java.sql.RowId object in the Java
programming language. |
abstract RowId | |
abstract SQLXML | |
abstract SQLXML |
getSQLXML(int columnIndex)
Retrieves the value of the designated column in the current row of
this
ResultSet as a
java.sql.SQLXML object in the Java programming language. |
abstract short | |
abstract short |
getShort(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a short in the Java programming language. |
abstract Statement |
getStatement()
Retrieves the
Statement object that produced this
ResultSet object. |
abstract String |
getString(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a String in the Java programming language. |
abstract String | |
abstract Time | |
abstract Time | |
abstract Time |
getTime(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a java.sql.Time object in the Java programming language. |
abstract Time | |
abstract Timestamp |
getTimestamp(int columnIndex, Calendar cal)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a java.sql.Timestamp object
in the Java programming language. |
abstract Timestamp |
getTimestamp(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a java.sql.Timestamp object in the Java programming language. |
abstract Timestamp |
getTimestamp(String columnLabel, Calendar cal)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a java.sql.Timestamp object
in the Java programming language. |
abstract Timestamp |
getTimestamp(String columnLabel)
Retrieves the value of the designated column in the current row
of this
ResultSet object as
a java.sql.Timestamp object in the Java programming language. |
abstract int |
getType()
Retrieves the type of this
ResultSet object. |
abstract URL |
getURL(int columnIndex)
Retrieves the value of the designated column in the current row
of this
ResultSet object as a java.net.URL
object in the Java programming language. |
abstract URL | |
abstract InputStream |
getUnicodeStream(int columnIndex)
This method is deprecated.
use
getCharacterStream in place of
getUnicodeStream
|
abstract InputStream | |
abstract SQLWarning |
getWarnings()
Retrieves the first warning reported by calls on this
ResultSet object. |
abstract void |
insertRow()
Inserts the contents of the insert row into this
ResultSet object and into the database. |
abstract boolean |
isAfterLast()
Retrieves whether the cursor is after the last row in
this
ResultSet object. |
abstract boolean |
isBeforeFirst()
Retrieves whether the cursor is before the first row in
this
ResultSet object. |
abstract boolean |
isClosed()
Retrieves whether this
ResultSet object has been closed. |
abstract boolean |
isFirst()
Retrieves whether the cursor is on the first row of
this
ResultSet object. |
abstract boolean |
isLast()
Retrieves whether the cursor is on the last row of
this
ResultSet object. |
abstract boolean |
last()
Moves the cursor to the last row in
this
ResultSet object. |
abstract void |
moveToCurrentRow()
Moves the cursor to the remembered cursor position, usually the
current row.
|
abstract void |
moveToInsertRow()
Moves the cursor to the insert row.
|
abstract boolean |
next()
Moves the cursor froward one row from its current position.
|
abstract boolean |
previous()
Moves the cursor to the previous row in this
ResultSet object. |
abstract void |
refreshRow()
Refreshes the current row with its most recent value in
the database.
|
abstract boolean |
relative(int rows)
Moves the cursor a relative number of rows, either positive or negative.
|
abstract boolean |
rowDeleted()
Retrieves whether a row has been deleted.
|
abstract boolean |
rowInserted()
Retrieves whether the current row has had an insertion.
|
abstract boolean |
rowUpdated()
Retrieves whether the current row has been updated.
|
abstract void |
setFetchDirection(int direction)
Gives a hint as to the direction in which the rows in this
ResultSet object will be processed. |
abstract void |
setFetchSize(int rows)
Gives the JDBC driver a hint as to the number of rows that should
be fetched from the database when more rows are needed for this
ResultSet object. |
abstract void | |
abstract void | |
abstract void |
updateAsciiStream(int columnIndex, InputStream x)
Updates the designated column with an ascii stream value.
|
abstract void |
updateAsciiStream(int columnIndex, InputStream x, long length)
Updates the designated column with an ascii stream value, which will have
the specified number of bytes.
|
abstract void |
updateAsciiStream(String columnLabel, InputStream x, long length)
Updates the designated column with an ascii stream value, which will have
the specified number of bytes.
|
abstract void |
updateAsciiStream(String columnLabel, InputStream x)
Updates the designated column with an ascii stream value.
|
abstract void |
updateAsciiStream(int columnIndex, InputStream x, int length)
Updates the designated column with an ascii stream value, which will have
the specified number of bytes.
|
abstract void |
updateAsciiStream(String columnLabel, InputStream x, int length)
Updates the designated column with an ascii stream value, which will have
the specified number of bytes.
|
abstract void |
updateBigDecimal(int columnIndex, BigDecimal x)
Updates the designated column with a
java.math.BigDecimal
value. |
abstract void |
updateBigDecimal(String columnLabel, BigDecimal x)
Updates the designated column with a
java.sql.BigDecimal
value. |
abstract void |
updateBinaryStream(int columnIndex, InputStream x, int length)
Updates the designated column with a binary stream value, which will have
the specified number of bytes.
|
abstract void |
updateBinaryStream(int columnIndex, InputStream x)
Updates the designated column with a binary stream value.
|
abstract void |
updateBinaryStream(String columnLabel, InputStream x, long length)
Updates the designated column with a binary stream value, which will have
the specified number of bytes.
|
abstract void |
updateBinaryStream(String columnLabel, InputStream x)
Updates the designated column with a binary stream value.
|
abstract void |
updateBinaryStream(String columnLabel, InputStream x, int length)
Updates the designated column with a binary stream value, which will have
the specified number of bytes.
|
abstract void |
updateBinaryStream(int columnIndex, InputStream x, long length)
Updates the designated column with a binary stream value, which will have
the specified number of bytes.
|
abstract void | |
abstract void |
updateBlob(String columnLabel, InputStream inputStream)
Updates the designated column using the given input stream.
|
abstract void | |
abstract void |
updateBlob(String columnLabel, InputStream inputStream, long length)
Updates the designated column using the given input stream, which
will have the specified number of bytes.
|
abstract void |
updateBlob(int columnIndex, InputStream inputStream)
Updates the designated column using the given input stream.
|
abstract void |
updateBlob(int columnIndex, InputStream inputStream, long length)
Updates the designated column using the given input stream, which
will have the specified number of bytes.
|
abstract void | |
abstract void |
updateBoolean(int columnIndex, boolean x)
Updates the designated column with a
boolean value. |
abstract void |
updateByte(int columnIndex, byte x)
Updates the designated column with a
byte value. |
abstract void | |
abstract void |
updateBytes(int columnIndex, byte[] x)
Updates the designated column with a
byte array value. |
abstract void | |
abstract void |
updateCharacterStream(String columnLabel, Reader reader, int length)
Updates the designated column with a character stream value, which will have
the specified number of bytes.
|
abstract void |
updateCharacterStream(String columnLabel, Reader reader, long length)
Updates the designated column with a character stream value, which will have
the specified number of bytes.
|
abstract void |
updateCharacterStream(int columnIndex, Reader x, long length)
Updates the designated column with a character stream value, which will have
the specified number of bytes.
|
abstract void |
updateCharacterStream(int columnIndex, Reader x)
Updates the designated column with a character stream value.
|
abstract void |
updateCharacterStream(int columnIndex, Reader x, int length)
Updates the designated column with a character stream value, which will have
the specified number of bytes.
|
abstract void |
updateCharacterStream(String columnLabel, Reader reader)
Updates the designated column with a character stream value.
|
abstract void | |
abstract void |
updateClob(String columnLabel, Reader reader)
Updates the designated column using the given
Reader
object. |
abstract void |
updateClob(String columnLabel, Reader reader, long length)
Updates the designated column using the given
Reader
object, which is the given number of characters long. |
abstract void |
updateClob(int columnIndex, Reader reader)
Updates the designated column using the given
Reader
object. |
abstract void |
updateClob(int columnIndex, Reader reader, long length)
Updates the designated column using the given
Reader
object, which is the given number of characters long. |
abstract void | |
abstract void | |
abstract void | |
abstract void | |
abstract void |
updateDouble(int columnIndex, double x)
Updates the designated column with a
double value. |
abstract void |
updateFloat(int columnIndex, float x)
Updates the designated column with a
float value. |
abstract void | |
abstract void | |
abstract void |
updateInt(int columnIndex, int x)
Updates the designated column with an
int value. |
abstract void |
updateLong(int columnIndex, long x)
Updates the designated column with a
long value. |
abstract void | |
abstract void |
updateNCharacterStream(int columnIndex, Reader x, long length)
Updates the designated column with a character stream value, which will have
the specified number of bytes.
|
abstract void |
updateNCharacterStream(String columnLabel, Reader reader)
Updates the designated column with a character stream value.
|
abstract void |
updateNCharacterStream(int columnIndex, Reader x)
Updates the designated column with a character stream value.
|
abstract void |
updateNCharacterStream(String columnLabel, Reader reader, long length)
Updates the designated column with a character stream value, which will have
the specified number of bytes.
|
abstract void |
updateNClob(int columnIndex, Reader reader, long length)
Updates the designated column using the given
Reader
object, which is the given number of characters long. |
abstract void |
updateNClob(int columnIndex, NClob nClob)
Updates the designated column with a
java.sql.NClob value. |
abstract void |
updateNClob(String columnLabel, NClob nClob)
Updates the designated column with a
java.sql.NClob value. |
abstract void |
updateNClob(String columnLabel, Reader reader)
Updates the designated column using the given
Reader
object. |
abstract void |
updateNClob(String columnLabel, Reader reader, long length)
Updates the designated column using the given
Reader
object, which is the given number of characters long. |
abstract void |
updateNClob(int columnIndex, Reader reader)
Updates the designated column using the given
Reader
The data will be read from the stream
as needed until end-of-stream is reached. |
abstract void |
updateNString(String columnLabel, String nString)
Updates the designated column with a
String value. |
abstract void | |
abstract void |
updateNull(int columnIndex)
Updates the designated column with a
null value. |
abstract void | |
abstract void | |
abstract void |
updateObject(int columnIndex, Object x, int scaleOrLength)
Updates the designated column with an
Object value. |
abstract void |
updateObject(String columnLabel, Object x, int scaleOrLength)
Updates the designated column with an
Object value. |
abstract void | |
abstract void | |
abstract void | |
abstract void |
updateRow()
Updates the underlying database with the new contents of the
current row of this
ResultSet object. |
abstract void | |
abstract void | |
abstract void |
updateSQLXML(int columnIndex, SQLXML xmlObject)
Updates the designated column with a
java.sql.SQLXML value. |
abstract void |
updateSQLXML(String columnLabel, SQLXML xmlObject)
Updates the designated column with a
java.sql.SQLXML value. |
abstract void | |
abstract void |
updateShort(int columnIndex, short x)
Updates the designated column with a
short value. |
abstract void | |
abstract void | |
abstract void | |
abstract void | |
abstract void |
updateTimestamp(String columnLabel, Timestamp x)
Updates the designated column with a
java.sql.Timestamp
value. |
abstract void |
updateTimestamp(int columnIndex, Timestamp x)
Updates the designated column with a
java.sql.Timestamp
value. |
abstract boolean |
wasNull()
Reports whether
the last column read had a value of SQL
NULL . |