Interface java.sql.ResultSet
All Packages  Class Hierarchy  This Package  Previous  Next  Index

Interface java.sql.ResultSet

public interface ResultSet
extends Object

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.

See Also:
executeQuery, getResultSet, ResultSetMetaData

Method Index

 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 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 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 wasNull()
A column may have the value of SQL NULL; wasNull reports whether the last column read had this special value.

Methods

 o next
  public abstract 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.

Returns:
true if the new current row is valid; false if there are no more rows
 o close
  public abstract 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 abstract 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
 o getString
  public abstract String getString(int columnIndex) 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 abstract boolean getBoolean(int columnIndex) 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 abstract byte getByte(int columnIndex) 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 abstract short getShort(int columnIndex) 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 abstract int getInt(int columnIndex) 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 abstract long getLong(int columnIndex) 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 abstract float getFloat(int columnIndex) 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 abstract double getDouble(int columnIndex) 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 abstract BigDecimal getBigDecimal(int columnIndex,
                                           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 abstract byte[] getBytes(int columnIndex) 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 abstract Date getDate(int columnIndex) 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 abstract Time getTime(int columnIndex) 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 abstract Timestamp getTimestamp(int columnIndex) 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 abstract InputStream getAsciiStream(int columnIndex) 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 abstract InputStream getUnicodeStream(int columnIndex) 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 abstract InputStream getBinaryStream(int columnIndex) 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract void clearWarnings() throws SQLException
After this call getWarnings returns null until a new warning is reported for this ResultSet.
 o getCursorName
  public abstract 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 abstract 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 abstract Object getObject(int columnIndex) 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 abstract 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 abstract 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

All Packages  Class Hierarchy  This Package  Previous  Next  Index