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

Method Index

 o adapt(int, Object)
Adapt the JDBC object which implements this interface to the modification described by one of the above modifiers. InterClient Extension.
 o clearWarnings()
After this call getWarnings returns null until a new warning is reported for this ResultSet.
 o 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.
 o finalize()
A result set will be closed when its finalizer is called by the garbage collector.
 o findColumn(String)
Map a Resultset column name to a ResultSet column index.
 o getAsciiStream(int)
A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream.
 o getAsciiStream(String)
A column value can be retrieved as a stream of ASCII characters and then read in chunks from the stream.
 o getBigDecimal(int, int)
Get the value of a column in the current row as a java.lang.BigDecimal object.
 o getBigDecimal(String, int)
Get the value of a column in the current row as a java.lang.BigDecimal object.
 o getBinaryStream(int)
A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream.
 o getBinaryStream(String)
A column value can be retrieved as a stream of uninterpreted bytes and then read in chunks from the stream.
 o getBoolean(int)
Get the value of a column in the current row as a Java boolean.
 o getBoolean(String)
Get the value of a column in the current row as a Java boolean.
 o getByte(int)
Get the value of a column in the current row as a Java byte.
 o getByte(String)
Get the value of a column in the current row as a Java byte.
 o getBytes(int)
Get the value of a column in the current row as a Java byte array.
 o getBytes(String)
Get the value of a column in the current row as a Java byte array.
 o getCursorName()
Get the name of the SQL cursor used by this ResultSet.
 o getDate(int)
Get the value of a column in the current row as a java.sql.Date object.
 o getDate(String)
Get the value of a column in the current row as a java.sql.Date object.
 o getDouble(int)
Get the value of a column in the current row as a Java double.
 o getDouble(String)
Get the value of a column in the current row as a Java double.
 o getFloat(int)
Get the value of a column in the current row as a Java float.
 o getFloat(String)
Get the value of a column in the current row as a Java float.
 o getInt(int)
Get the value of a column in the current row as a Java int.
 o getInt(String)
Get the value of a column in the current row as a Java int.
 o getLong(int)
Get the value of a column in the current row as a Java long.
 o getLong(String)
Get the value of a column in the current row as a Java long.
 o getMetaData()
The number, types and properties of a ResultSet's columns are provided by the getMetaData method.
 o getObject(int)
Get the value of a column in the current row as a Java object.
 o getObject(String)
Get the value of a column in the current row as a Java object.
 o getShort(int)
Get the value of a column in the current row as a Java short.
 o getShort(String)
Get the value of a column in the current row as a Java short.
 o getString(int)
Get the value of a column in the current row as a Java String.
 o getString(String)
Get the value of a column in the current row as a Java String.
 o getTime(int)
Get the value of a column in the current row as a java.sql.Time object.
 o getTime(String)
Get the value of a column in the current row as a java.sql.Time object.
 o getTimestamp(int)
Get the value of a column in the current row as a java.sql.Timestamp object.
 o getTimestamp(String)
Get the value of a column in the current row as a java.sql.Timestamp object.
 o getUnicodeStream(int)
A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream.
 o getUnicodeStream(String)
A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream.
 o getWarnings()
The first warning reported by calls on this ResultSet is returned.
 o isNull(int)
Is the column value a SQL NULL? InterClient Extension.
 o 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.
 o revert(int)
Revert back to the default JDBC behavior for the object adapted for the modification described by the given modifier. InterClient Extension.
 o wasNull()
A column may have the value of SQL NULL; wasNull reports whether the last column read had this special value.

Methods

 o 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
 o 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
 o 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.

 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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.
 o 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.
 o 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.
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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.
 o 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.
 o 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.
 o 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
 o clearWarnings
  public synchronized void clearWarnings() throws SQLException
After this call getWarnings returns null until a new warning is reported for this ResultSet.

 o 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
 o 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
 o 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.
 o 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.
 o 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
 o 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
 o 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
 o 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