A ResultSet provides access to a table of data generated by
executing a Statement. The table rows are retrieved in
sequence. Within a row its column values can be accessed in any
order.
A ResultSet 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.
The getXXX methods retrieve column values for the current
row. You can retrieve values either using the index number of the
column, or by using the name of the column. In general using the
column index will be more efficient. Columns are numbered from 1.
For maximum portability, ResultSet columns within each row should be
read in left-to-right order and each column should be read only once.
For the getXXX methods, the JDBC driver attempts to convert the
underlying data to the specified Java type and returns a suitable
Java value. See the JDBC specification for allowable mappings
from SQL types to Java types with the ResultSet.getXXX methods.
Column names used as input to getXXX methods are case
insensitive. When performing a getXXX using a column name, if
several columns have the same name, then 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. For columns that are NOT explicitly named in the query, it
is best to use column numbers. If column names were used there is
no way for the programmer to guarantee that they actually refer to
the intended columns.
A ResultSet is automatically closed by the Statement that
generated it when that Statement is closed, re-executed, or is used
to retrieve the next result from a sequence of multiple results.
The number, types and properties of a ResultSet's columns are
provided by the ResulSetMetaData object returned by the getMetaData
method.
In some cases, it is desirable to immediately release a
ResultSet's database and JDBC resources instead of waiting for
this to happen when it is automatically closed; the close
method provides this immediate release.
A ResultSet is initially positioned before its first row; the
first call to next makes the first row the current row; the
second call makes the second row the current row, etc.
A ResultSet is initially positioned before its first row; the
first call to next makes the first row the current row; the
second call makes the second row the current row, etc.
If an input stream from the previous row is open, it is
implicitly closed. The ResultSet's warning chain is cleared
when a new row is read.
Returns:
true if the new current row is valid; false if there
are no more rows
In some cases, it is desirable to immediately release a
ResultSet's database and JDBC resources instead of waiting for
this to happen when it is automatically closed; the close
method provides this immediate release.
Note: A ResultSet is automatically closed by the
Statement that generated it when that Statement is closed,
re-executed, or is used to retrieve the next result from a
sequence of multiple results. A ResultSet is also automatically
closed when it is garbage collected.
A column may have the value of SQL NULL; wasNull reports whether
the last column read had this special value.
Note that you must first call getXXX on a column to try to read
its value and then call wasNull() to find if the value was
the SQL NULL.
A column value can be retrieved as a stream of ASCII characters
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARCHAR values. The JDBC driver will
do any necessary conversion from the database format into ASCII.
Note: All 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. . Also, a
stream may return 0 for available() whether there is data
available or not.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
a Java input stream that delivers the database column value
as a stream of one byte ASCII characters. If the value is SQL NULL
then the result is null.
A column value can be retrieved as a stream of Unicode characters
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARCHAR values. The JDBC driver will
do any necessary conversion from the database format into Unicode.
Note: All 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. . Also, a
stream may return 0 for available() whether there is data
available or not.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
a Java input stream that delivers the database column value
as a stream of two byte Unicode characters. If the value is SQL NULL
then the result is null.
A column value can be retrieved as a stream of uninterpreted bytes
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARBINARY values.
Note: All 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. Also, a
stream may return 0 for available() whether there is data
available or not.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
a Java input stream that delivers the database column value
as a stream of uninterpreted bytes. If the value is SQL NULL
then the result is null.
A column value can be retrieved as a stream of ASCII characters
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARCHAR values. The JDBC driver will
do any necessary conversion from the database format into ASCII.
Note: All 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.
Parameters:
columnName - is the SQL name of the column
Returns:
a Java input stream that delivers the database column value
as a stream of one byte ASCII characters. If the value is SQL NULL
then the result is null.
A column value can be retrieved as a stream of Unicode characters
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARCHAR values. The JDBC driver will
do any necessary conversion from the database format into Unicode.
Note: All 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.
Parameters:
columnName - is the SQL name of the column
Returns:
a Java input stream that delivers the database column value
as a stream of two byte Unicode characters. If the value is SQL NULL
then the result is null.
A column value can be retrieved as a stream of uninterpreted bytes
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARBINARY values.
Note: All 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.
Parameters:
columnName - is the SQL name of the column
Returns:
a Java input stream that delivers the database column value
as a stream of uninterpreted bytes. If the value is SQL NULL
then the result is null.
The first warning reported by calls on this ResultSet is
returned. Subsequent ResultSet warnings will be chained to this
SQLWarning.
The warning chain is automatically cleared each time a new
row is read.
Note: This warning chain only covers warnings caused
by ResultSet methods. Any warning caused by statement methods
(such as reading OUT parameters) will be chained on the
Statement object.
Get the name of the SQL cursor used by this ResultSet.
In SQL, a result table is retrieved through a cursor that is
named. The current row of a result can be updated or deleted
using a positioned update/delete statement that references the
cursor name.
JDBC supports this SQL feature by providing the name of the
SQL cursor used by a ResultSet. The current row of a ResultSet
is also the current row of this SQL cursor.
Note: If positioned update is not supported a
SQLException is thrown
Get the value of a column in the current row as a Java object.
This method will return the value of the given column as a
Java object. The type of the Java object will be the default
Java Object type corresponding to the column's SQL type,
following the mapping specified in the JDBC spec.
This method may also be used to read datatabase specific abstract
data types.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Get the value of a column in the current row as a Java object.
This method will return the value of the given column as a
Java object. The type of the Java object will be the default
Java Object type corresponding to the column's SQL type,
following the mapping specified in the JDBC spec.
This method may also be used to read datatabase specific abstract
data types.