All Packages Class Hierarchy This Package Previous Next Index
Class interbase.interclient.ResultSet
java.lang.Object
|
+----interbase.interclient.ResultSet
- public final class ResultSet
- extends Object
- implements ResultSet, Adaptor, SQLAdapter
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.
This reflects implementation limitations in some underlying database
protocols. InterClient does not have this restriction.
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.
- See Also:
- executeQuery, getResultSet, ResultSetMetaData
-
adapt(int, Object)
- Adapt the JDBC object which implements this interface
to the modification described by one of the above modifiers.
InterClient Extension.
-
clearWarnings()
- After this call getWarnings returns null until a new warning is
reported for this ResultSet.
-
close()
- 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.
-
finalize()
- A result set will be closed when its finalizer is called
by the garbage collector.
-
findColumn(String)
- Map a Resultset column name to a ResultSet column index.
-
getAsciiStream(int)
- A column value can be retrieved as a stream of ASCII characters
and then read in chunks from the stream.
-
getAsciiStream(String)
- A column value can be retrieved as a stream of ASCII characters
and then read in chunks from the stream.
-
getBigDecimal(int, int)
- Get the value of a column in the current row as a java.lang.BigDecimal object.
-
getBigDecimal(String, int)
- Get the value of a column in the current row as a java.lang.BigDecimal object.
-
getBinaryStream(int)
- A column value can be retrieved as a stream of uninterpreted bytes
and then read in chunks from the stream.
-
getBinaryStream(String)
- A column value can be retrieved as a stream of uninterpreted bytes
and then read in chunks from the stream.
-
getBoolean(int)
- Get the value of a column in the current row as a Java boolean.
-
getBoolean(String)
- Get the value of a column in the current row as a Java boolean.
-
getByte(int)
- Get the value of a column in the current row as a Java byte.
-
getByte(String)
- Get the value of a column in the current row as a Java byte.
-
getBytes(int)
- Get the value of a column in the current row as a Java byte array.
-
getBytes(String)
- Get the value of a column in the current row as a Java byte array.
-
getCursorName()
- Get the name of the SQL cursor used by this ResultSet.
-
getDate(int)
- Get the value of a column in the current row as a java.sql.Date object.
-
getDate(String)
- Get the value of a column in the current row as a java.sql.Date object.
-
getDouble(int)
- Get the value of a column in the current row as a Java double.
-
getDouble(String)
- Get the value of a column in the current row as a Java double.
-
getFloat(int)
- Get the value of a column in the current row as a Java float.
-
getFloat(String)
- Get the value of a column in the current row as a Java float.
-
getInt(int)
- Get the value of a column in the current row as a Java int.
-
getInt(String)
- Get the value of a column in the current row as a Java int.
-
getLong(int)
- Get the value of a column in the current row as a Java long.
-
getLong(String)
- Get the value of a column in the current row as a Java long.
-
getMetaData()
- The number, types and properties of a ResultSet's columns
are provided by the getMetaData method.
-
getObject(int)
- Get the value of a column in the current row as a Java object.
-
getObject(String)
- Get the value of a column in the current row as a Java object.
-
getShort(int)
- Get the value of a column in the current row as a Java short.
-
getShort(String)
- Get the value of a column in the current row as a Java short.
-
getString(int)
- Get the value of a column in the current row as a Java String.
-
getString(String)
- Get the value of a column in the current row as a Java String.
-
getTime(int)
- Get the value of a column in the current row as a java.sql.Time object.
-
getTime(String)
- Get the value of a column in the current row as a java.sql.Time object.
-
getTimestamp(int)
- Get the value of a column in the current row as a java.sql.Timestamp object.
-
getTimestamp(String)
- Get the value of a column in the current row as a java.sql.Timestamp object.
-
getUnicodeStream(int)
- A column value can be retrieved as a stream of Unicode characters
and then read in chunks from the stream.
-
getUnicodeStream(String)
- A column value can be retrieved as a stream of Unicode characters
and then read in chunks from the stream.
-
getWarnings()
- The first warning reported by calls on this ResultSet is
returned.
-
isNull(int)
- Is the column value a SQL NULL?
InterClient Extension.
-
next()
- 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.
-
revert(int)
- Revert back to the default JDBC behavior for
the object adapted for the modification described by the given modifier.
InterClient Extension.
-
wasNull()
- A column may have the value of SQL NULL; wasNull reports whether
the last column read had this special value.
finalize
protected void finalize() throws Throwable
- A result set will be closed when its finalizer is called
by the garbage collector. However, there is no guarantee
that the garbage collector will ever run, and in general
will not run when an application terminates abruptly
without closing its resources.
Therefore, it is recommended that result sets be
explicitly closed even when your application throws an exception.
This can be achieved by placing a call to close() in a finally
clause of your application as follows
try {
...
}
finally {
if (resultSet != null)
try { resultSet.close (); } catch (SQLException e) {}
if (statement != null)
try { statement.close (); } catch (SQLException e) {}
if (connection != null)
try { connection.close (); } catch (SQLException e) {}
}
Or alternatively, use the System.runFinalizersOnExit () method.
- Overrides:
- finalize in class Object
next
public synchronized boolean next() throws SQLException
- 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.
InterClient allows for interleaved calls to next() on
two separate result sets.
- Returns:
- true if the new current row is valid; false if there
are no more rows
close
public synchronized void close() throws SQLException
- 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.
wasNull
public boolean wasNull() throws SQLException
- 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.
- Returns:
- true if last column read was SQL NULL
- See Also:
- isNull
getString
public synchronized String getString(int column) throws SQLException
- Get the value of a column in the current row as a Java String.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is null
getBoolean
public synchronized boolean getBoolean(int column) throws SQLException
- Get the value of a column in the current row as a Java boolean.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is false
getByte
public synchronized byte getByte(int column) throws SQLException
- Get the value of a column in the current row as a Java byte.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getShort
public synchronized short getShort(int column) throws SQLException
- Get the value of a column in the current row as a Java short.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getInt
public synchronized int getInt(int column) throws SQLException
- Get the value of a column in the current row as a Java int.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getLong
public synchronized long getLong(int column) throws SQLException
- Get the value of a column in the current row as a Java long.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getFloat
public synchronized float getFloat(int column) throws SQLException
- Get the value of a column in the current row as a Java float.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getDouble
public synchronized double getDouble(int column) throws SQLException
- Get the value of a column in the current row as a Java double.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getBigDecimal
public synchronized BigDecimal getBigDecimal(int column,
int scale) throws SQLException
- Get the value of a column in the current row as a java.lang.BigDecimal object.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- scale - the number of digits to the right of the decimal
- Returns:
- the column value; if the value is SQL NULL, the result is null
getBytes
public synchronized byte[] getBytes(int column) throws SQLException
- Get the value of a column in the current row as a Java byte array.
The bytes represent the raw values returned by the driver.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is null
getDate
public synchronized Date getDate(int column) throws SQLException
- Get the value of a column in the current row as a java.sql.Date object.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is null
getTime
public synchronized Time getTime(int column) throws SQLException
- Get the value of a column in the current row as a java.sql.Time object.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is null
getTimestamp
public synchronized Timestamp getTimestamp(int column) throws SQLException
- Get the value of a column in the current row as a java.sql.Timestamp object.
- Parameters:
- columnIndex - the first column is 1, the second is 2, ...
- Returns:
- the column value; if the value is SQL NULL, the result is null
getAsciiStream
public synchronized InputStream getAsciiStream(int column) throws SQLException
- 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.
getUnicodeStream
public synchronized InputStream getUnicodeStream(int column) throws SQLException
- 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.
getBinaryStream
public synchronized InputStream getBinaryStream(int column) throws SQLException
- 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.
getString
public synchronized String getString(String columnName) throws SQLException
- Get the value of a column in the current row as a Java String.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is null
getBoolean
public synchronized boolean getBoolean(String columnName) throws SQLException
- Get the value of a column in the current row as a Java boolean.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is false
getByte
public synchronized byte getByte(String columnName) throws SQLException
- Get the value of a column in the current row as a Java byte.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getShort
public synchronized short getShort(String columnName) throws SQLException
- Get the value of a column in the current row as a Java short.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getInt
public synchronized int getInt(String columnName) throws SQLException
- Get the value of a column in the current row as a Java int.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getLong
public synchronized long getLong(String columnName) throws SQLException
- Get the value of a column in the current row as a Java long.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getFloat
public synchronized float getFloat(String columnName) throws SQLException
- Get the value of a column in the current row as a Java float.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getDouble
public synchronized double getDouble(String columnName) throws SQLException
- Get the value of a column in the current row as a Java double.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is 0
getBigDecimal
public synchronized BigDecimal getBigDecimal(String columnName,
int scale) throws SQLException
- Get the value of a column in the current row as a java.lang.BigDecimal object.
- Parameters:
- columnName - is the SQL name of the column
- scale - the number of digits to the right of the decimal
- Returns:
- the column value; if the value is SQL NULL, the result is null
getBytes
public synchronized byte[] getBytes(String columnName) throws SQLException
- Get the value of a column in the current row as a Java byte array.
The bytes represent the raw values returned by the driver.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is null
getDate
public synchronized Date getDate(String columnName) throws SQLException
- Get the value of a column in the current row as a java.sql.Date object.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is null
getTime
public synchronized Time getTime(String columnName) throws SQLException
- Get the value of a column in the current row as a java.sql.Time object.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is null
getTimestamp
public synchronized Timestamp getTimestamp(String columnName) throws SQLException
- Get the value of a column in the current row as a java.sql.Timestamp object.
- Parameters:
- columnName - is the SQL name of the column
- Returns:
- the column value; if the value is SQL NULL, the result is null
getAsciiStream
public synchronized InputStream getAsciiStream(String columnName) throws SQLException
- 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.
getUnicodeStream
public synchronized InputStream getUnicodeStream(String columnName) throws SQLException
- 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.
getBinaryStream
public synchronized InputStream getBinaryStream(String columnName) throws SQLException
- 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.
getWarnings
public synchronized SQLWarning getWarnings() throws SQLException
- 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.
- Returns:
- the first SQLWarning or null
clearWarnings
public synchronized void clearWarnings() throws SQLException
- After this call getWarnings returns null until a new warning is
reported for this ResultSet.
getCursorName
public String getCursorName() throws SQLException
- 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
- Returns:
- the ResultSet's SQL cursor name
getMetaData
public synchronized ResultSetMetaData getMetaData() throws SQLException
- The number, types and properties of a ResultSet's columns
are provided by the getMetaData method.
- Returns:
- the description of a ResultSet's columns
getObject
public synchronized Object getObject(int column) throws SQLException
- 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, ...
- Returns:
- A java.lang.Object holding the column value.
getObject
public synchronized Object getObject(String columnName) throws SQLException
- 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:
- columnName - is the SQL name of the column
- Returns:
- A java.lang.Object holding the column value.
findColumn
public synchronized int findColumn(String columnName) throws SQLException
- Map a Resultset column name to a ResultSet column index.
- Parameters:
- columnName - the name of the column
- Returns:
- the column index
isNull
public boolean isNull(int column) throws SQLException
InterClient Extension
- Is the column value a SQL NULL?
Unlike other drivers, InterClient does not require
that a column be read before it is checked for NULL.
- See Also:
- wasNull
adapt
public boolean adapt(int modifier,
Object extraInfo) throws SQLException
InterClient Extension
- Adapt the JDBC object which implements this interface
to the modification described by one of the above modifiers.
- Parameters:
- modifier - is either RIGHT_TRIM_STRINGS, SINGLE_INSTANCE_TIME
- extraInfo - Any extra information that needs to be specified along with the modifier.
- Returns:
- true if the modifier is supported, false otherwise.
- Throws: SQLException
- If driver is unable to adapt to the modification..
- See Also:
- Adaptor
revert
public void revert(int modifier) throws SQLException
InterClient Extension
- Revert back to the default JDBC behavior for
the object adapted for the modification described by the given modifier.
- Parameters:
- modifier - is either RIGHT_TRIM_STRINGS, SINGLE_INSTANCE_TIME
- Throws: SQLException
- If driver is unable to revert the modification back
to the standard JDBC behavior.
- See Also:
- Adaptor
All Packages Class Hierarchy This Package Previous Next Index