|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
, FilteredRowSet
, JdbcRowSet
, JoinRowSet
, RowSet
, SyncResolver
, WebRowSet

public interface ResultSet
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
The 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, there is no way for the programmer to guarantee that they actually refer to the intended columns.
A set of updater methods were added to this interface in the JDBC 2.0 API (JDK 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:
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 the NAME column
in the fifth row of the ResultSet object
rs and then uses the method updateRow
to update the data source table from which rs 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 be AINSWORTH
rs.updateRow(); // updates the row in the data source
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 into rs and into
the data source table using the method insertRow.
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 be 35
rs.updateBoolean(3, true); // updates the third column to true
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 ResulSetMetaData
object returned by the ResultSet.getMetaData method.
Statement.executeQuery(java.lang.String)
,
Statement.getResultSet()
,
ResultSetMetaData

| Field Summary | |
|---|---|
static int |
CLOSE_CURSORS_AT_COMMIT
The constant indicating that ResultSet objects should be
closed when the method Connection.commit is called. |
static int |
CONCUR_READ_ONLY
The constant indicating the concurrency mode for a ResultSet object that may NOT be updated. |
static int |
CONCUR_UPDATABLE
The constant indicating the concurrency mode for a ResultSet object that may be updated. |
static int |
FETCH_FORWARD
The constant indicating that the rows in a result set will be processed in a forward direction; first-to-last. |
static int |
FETCH_REVERSE
The constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first. |
static int |
FETCH_UNKNOWN
The constant indicating that the order in which rows in a result set will be processed is unknown. |
static int |
HOLD_CURSORS_OVER_COMMIT
The constant indicating that ResultSet objects should not
be closed when the method Connection.commit is called. |
static int |
TYPE_FORWARD_ONLY
The constant indicating the type for a ResultSet object
whose cursor may move only forward. |
static int |
TYPE_SCROLL_INSENSITIVE
The constant indicating the type for a ResultSet object
that is scrollable but generally not sensitive to changes made by others. |
static int |
TYPE_SCROLL_SENSITIVE
The constant indicating the type for a ResultSet object
that is scrollable and generally sensitive to changes made by others. |
| Method Summary | |
|---|---|
boolean |
absolute
Moves the cursor to the given row number in this ResultSet object. |
void |
afterLast
Moves the cursor to the end of this ResultSet object, just after the
last row. |
void |
beforeFirst
Moves the cursor to the front of this ResultSet object, just before the
first row. |
void |
cancelRowUpdates
Cancels the updates made to the current row in this ResultSet object. |
void |
clearWarnings
Clears all warnings reported on this ResultSet object. |
void |
close
Releases this ResultSet object's database and
JDBC resources immediately instead of waiting for
this to happen when it is automatically closed. |
void |
deleteRow
Deletes the current row from this ResultSet object
and from the underlying database. |
int |
findColumn
Maps the given ResultSet column name to its
ResultSet column index. |
boolean |
first
Moves the cursor to the first row in this ResultSet object. |
Array |
getArray
Retrieves the value of the designated column in the current row of this ResultSet object as an Array object
in the Java programming language. |
Array |
getArray
Retrieves the value of the designated column in the current row of this ResultSet object as an Array object
in the Java programming language. |
InputStream |
getAsciiStream
Retrieves the value of the designated column in the current row of this ResultSet object as
a stream of ASCII characters. |
InputStream |
getAsciiStream
Retrieves the value of the designated column in the current row of this ResultSet object as a stream of
ASCII characters. |
BigDecimal |
getBigDecimal
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.math.BigDecimal with full precision. |
BigDecimal |
getBigDecimal
Deprecated. |
BigDecimal |
getBigDecimal
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.math.BigDecimal with full precision. |
BigDecimal |
getBigDecimal
Deprecated. |
InputStream |
getBinaryStream
Retrieves the value of the designated column in the current row of this ResultSet object as a binary stream of
uninterpreted bytes. |
InputStream |
getBinaryStream
Retrieves the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted
bytes. |
Blob |
getBlob
Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object
in the Java programming language. |
Blob |
getBlob
Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object
in the Java programming language. |
boolean |
getBoolean
Retrieves the value of the designated column in the current row of this ResultSet object as
a boolean in the Java programming language. |
boolean |
getBoolean
Retrieves the value of the designated column in the current row of this ResultSet object as
a boolean in the Java programming language. |
byte |
getByte
Retrieves the value of the designated column in the current row of this ResultSet object as
a byte in the Java programming language. |
byte |
getByte
Retrieves the value of the designated column in the current row of this ResultSet object as
a byte in the Java programming language. |
byte[] |
getBytes
Retrieves the value of the designated column in the current row of this ResultSet object as
a byte array in the Java programming language. |
byte[] |
getBytes
Retrieves the value of the designated column in the current row of this ResultSet object as
a byte array in the Java programming language. |
Reader |
getCharacterStream
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.io.Reader object. |
Reader |
getCharacterStream
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.io.Reader object. |
Clob |
getClob
Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object
in the Java programming language. |
Clob |
getClob
Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object
in the Java programming language. |
int |
getConcurrency
Retrieves the concurrency mode of this ResultSet object. |
String |
getCursorName
Retrieves the name of the SQL cursor used by this ResultSet
object. |
Date |
getDate
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. |
Date |
getDate
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. |
Date |
getDate
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. |
Date |
getDate
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. |
double |
getDouble
Retrieves the value of the designated column in the current row of this ResultSet object as
a double in the Java programming language. |
double |
getDouble
Retrieves the value of the designated column in the current row of this ResultSet object as
a double in the Java programming language. |
int |
getFetchDirection
Retrieves the fetch direction for this ResultSet object. |
int |
getFetchSize
Retrieves the fetch size for this ResultSet object. |
float |
getFloat
Retrieves the value of the designated column in the current row of this ResultSet object as
a float in the Java programming language. |
float |
getFloat
Retrieves the value of the designated column in the current row of this ResultSet object as
a float in the Java programming language. |
int |
getInt
Retrieves the value of the designated column in the current row of this ResultSet object as
an int in the Java programming language. |
int |
getInt
Retrieves the value of the designated column in the current row of this ResultSet object as
an int in the Java programming language. |
long |
getLong
Retrieves the value of the designated column in the current row of this ResultSet object as
a long in the Java programming language. |
long |
getLong
Retrieves the value of the designated column in the current row of this ResultSet object as
a long in the Java programming language. |
ResultSetMetaData |
getMetaData
Retrieves the number, types and properties of this ResultSet object's columns. |
Object |
getObject
Gets the value of the designated column in the current row of this ResultSet object as
an Object in the Java programming language. |
Object |
getObject
Retrieves the value of the designated column in the current row of this ResultSet object as an Object
in the Java programming language. |
Object |
getObject
Gets the value of the designated column in the current row of this ResultSet object as
an Object in the Java programming language. |
Object |
getObject
Retrieves the value of the designated column in the current row of this ResultSet object as an Object
in the Java programming language. |
Ref |
getRef
Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object
in the Java programming language. |
Ref |
getRef
Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object
in the Java programming language. |
int |
getRow
Retrieves the current row number. |
short |
getShort
Retrieves the value of the designated column in the current row of this ResultSet object as
a short in the Java programming language. |
short |
getShort
Retrieves the value of the designated column in the current row of this ResultSet object as
a short in the Java programming language. |
Statement |
getStatement
Retrieves the Statement object that produced this
ResultSet object. |
String |
getString
Retrieves the value of the designated column in the current row of this ResultSet object as
a String in the Java programming language. |
String |
getString
Retrieves the value of the designated column in the current row of this ResultSet object as
a String in the Java programming language. |
Time |
getTime
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. |
Time |
getTime
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. |
Time |
getTime
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. |
Time |
getTime
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. |
Timestamp |
getTimestamp |