|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.hsqldb.jdbc.jdbcResultSet
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 (JavaTM 2 SDK, Standard Edition, version 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 beAINSWORTHrs.updateInt(2,35); // updates the second column to be35rs.updateBoolean(3, true); // updates the third row totruers.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.
A ResultSet object generated by HSQLDB is by default of
ResultSet.TYPE_FORWARD_ONLY (as is standard JDBC behavior)
and does not allow the use of absolute and relative positioning
methods. However, since 1.7.0, if a statement is created
with:
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);then the
ResultSet objects it produces support
using all of the absolute and relative positioning methods of JDBC2
to set the position of the current row, for example:
rs.absolute(5); String fifthRowValue = rs.getString(1); rs.relative(4); String ninthRowValue = rs.getString(1);Note: An HSQLDB
ResultSet object persists, even after its
connection is closed. This is regardless of the operational mode of
the Database from which it came. That is, they
persist whether originating from a Server,
WebServer or in-process mode Database.
Including HSQLDB 1.7.2, there is no support for any of the methods
introduced in JDBC 2 relating to updateable result sets. These methods
include all updateXXX methods, as well as the insertRow(),
updateRow(), deleteRow(), moveToInsertRow() (and so on)
methods; invoking any such method throws an SQLException
stating that the operation is not supported.
JRE 1.1.x Notes:
In general, JDBC 2 support requires Java 1.2 and above, and JDBC 3 requires Java 1.4 and above. In HSQLDB, support for methods introduced in different versions of JDBC depends on the JDK version used for compiling and building HSQLDB.
Since 1.7.0, it is possible to build the product so that
all JDBC 2 methods can be called while executing under the version 1.1.x
Java Runtime EnvironmentTM.
However, some of these method calls require int values that
are defined only in the JDBC 2 or greater version of the
ResultSet interface. For this reason, when the
product is compiled under JDK 1.1.x, these values are defined here, in this
class.
In a JRE 1.1.x environment, calling JDBC 2 methods that take or return the
JDBC2-only ResultSet values can be achieved by referring
to them in parameter specifications and return value comparisons,
respectively, as follows:
jdbcResultSet.FETCH_FORWARD jdbcResultSet.TYPE_FORWARD_ONLY jdbcResultSet.TYPE_SCROLL_INSENSITIVE jdbcResultSet.CONCUR_READ_ONLY // etc.However, please note that code written in such a manner will not be compatible for use with other JDBC 2 drivers, since they expect and use
ResultSet, rather than jdbcResultSet. Also
note, this feature is offered solely as a convenience to developers
who must work under JDK 1.1.x due to operating constraints, yet wish to
use some of the more advanced features available under the JDBC 2
specification.
(fredt@users)
(boucherb@users)
jdbcStatement.executeQuery(java.lang.String),
jdbcStatement.getResultSet(),
ResultSetMetaData
Extensively rewritten and extended in successive versions of HSQLDB.| Field Summary | |
static int |
CLOSE_CURSORS_AT_COMMIT
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
CONCUR_READ_ONLY
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
CONCUR_UPDATABLE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
FETCH_FORWARD
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
FETCH_REVERSE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
FETCH_UNKNOWN
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
HOLD_CURSORS_OVER_COMMIT
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
org.hsqldb.Result |
rResult
The internal representation. |
static int |
TYPE_FORWARD_ONLY
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
TYPE_SCROLL_INSENSITIVE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
static int |
TYPE_SCROLL_SENSITIVE
Copy of java.sql.ResultSet constant, for JDK 1.1 clients. |
| Method Summary | |
boolean |
absolute(int row)
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(java.lang.String columnName)
Maps the given ResultSet column name to its
ResultSet column index. |
boolean |
first()
Moves the cursor to the first row in this ResultSet object. |
java.sql.Array |
getArray(int i)
Retrieves the value of the designated column in the current row of this ResultSet object as an Array object
in the Java programming language. |
java.sql.Array |
getArray(java.lang.String colName)
Retrieves the value of the designated column in the current row of this ResultSet object as an Array object
in the Java programming language. |
java.io.InputStream |
getAsciiStream(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as
a stream of ASCII characters. |
java.io.InputStream |
getAsciiStream(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as a stream of
ASCII characters. |
java.math.BigDecimal |
getBigDecimal(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.math.BigDecimal with full precision. |
java.math.BigDecimal |
getBigDecimal(int columnIndex,
int scale)
Deprecated. by java.sun.com as of JDK 1.2 |
java.math.BigDecimal |
getBigDecimal(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.math.BigDecimal with full precision. |
java.math.BigDecimal |
getBigDecimal(java.lang.String columnName,
int scale)
Deprecated. by java.sun.com as of JDK 1.2 |
java.io.InputStream |
getBinaryStream(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a binary stream of
uninterpreted bytes. |
java.io.InputStream |
getBinaryStream(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted
bytes. |
java.sql.Blob |
getBlob(int i)
Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object
in the Java programming language. |
java.sql.Blob |
getBlob(java.lang.String colName)
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(int columnIndex)
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(java.lang.String columnName)
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(int columnIndex)
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(java.lang.String columnName)
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(int columnIndex)
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(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as
a byte array in the Java programming language. |
java.io.Reader |
getCharacterStream(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.io.Reader object. |
java.io.Reader |
getCharacterStream(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.io.Reader object. |
java.sql.Clob |
getClob(int i)
Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object
in the Java programming language. |
java.sql.Clob |
getClob(java.lang.String colName)
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. |
java.lang.String |
getCursorName()
Retrieves the name of the SQL cursor used by this ResultSet object. |
java.sql.Date |
getDate(int columnIndex)
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. |
java.sql.Date |
getDate(int columnIndex,
java.util.Calendar cal)
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. |
java.sql.Date |
getDate(java.lang.String columnName)
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. |
java.sql.Date |
getDate(java.lang.String columnName,
java.util.Calendar cal)
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(int columnIndex)
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(java.lang.String columnName)
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(int columnIndex)
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(java.lang.String columnName)
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(int columnIndex)
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(java.lang.String columnName)
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(int columnIndex)
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(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as
a long in the Java programming language. |
java.sql.ResultSetMetaData |
getMetaData()
Retrieves the number, types and properties of this ResultSet object's columns. |
java.lang.Object |
getObject(int columnIndex)
Gets the value of the designated column in the current row of this ResultSet object as
an Object in the Java programming language. |
java.lang.Object |
getObject(int i,
java.util.Map map)
Retrieves the value of the designated column in the current row of this ResultSet object as an Object
in the Java programming language. |
java.lang.Object |
getObject(java.lang.String columnName)
Gets the value of the designated column in the current row of this ResultSet object as
an Object in the Java programming language. |
java.lang.Object |
getObject(java.lang.String colName,
java.util.Map map)
Retrieves the value of the designated column in the current row of this ResultSet object as an Object
in the Java programming language. |
java.sql.Ref |
getRef(int i)
Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object
in the Java programming language. |
java.sql.Ref |
getRef(java.lang.String colName)
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(int columnIndex)
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(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as
a short in the Java programming language. |
java.sql.Statement |
getStatement()
Retrieves the Statement object that produced this
ResultSet object. |
java.lang.String |
getString(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as
a String in the Java programming language. |
java.lang.String |
getString(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as
a String in the Java programming language. |
java.sql.Time |
getTime(int columnIndex)
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. |
java.sql.Time |
getTime(int columnIndex,
java.util.Calendar cal)
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. |
java.sql.Time |
getTime(java.lang.String columnName)
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. |
java.sql.Time |
getTime(java.lang.String columnName,
java.util.Calendar cal)
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. |
java.sql.Timestamp |
getTimestamp(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as
a java.sql.Timestamp object in the Java programming
language. |
java.sql.Timestamp |
getTimestamp(int columnIndex,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.sql.Timestamp object in the Java programming
anguage. |
java.sql.Timestamp |
getTimestamp(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as
a java.sql.Timestamp object. |
java.sql.Timestamp |
getTimestamp(java.lang.String columnName,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.sql.Timestamp object in the Java programming
language. |
int |
getType()
Retrieves the type of this ResultSet object. |
java.io.InputStream |
getUnicodeStream(int columnIndex)
Deprecated. use getCharacterStream in place of
getUnicodeStream |
java.io.InputStream |
getUnicodeStream(java.lang.String columnName)
Deprecated. use getCharacterStream instead |
java.net.URL |
getURL(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL
object in the Java programming language. |
java.net.URL |
getURL(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this ResultSet object as a java.net.URL
object in the Java programming language. |
java.sql.SQLWarning |
getWarnings()
Retrieves the first warning reported by calls on this ResultSet object. |
void |
insertRow()
Inserts the contents of the insert row into this ResultSet object and into the database. |
boolean |
isAfterLast()
Retrieves whether the cursor is after the last row in this ResultSet object. |
boolean |
isBeforeFirst()
Retrieves whether the cursor is before the first row in this ResultSet object. |
boolean |
isFirst()
Retrieves whether the cursor is on the first row of this ResultSet object. |
boolean |
isLast()
Retrieves whether the cursor is on the last row of this ResultSet object. |
boolean |
last()
Moves the cursor to the last row in this ResultSet object. |
void |
moveToCurrentRow()
Moves the cursor to the remembered cursor position, usually the current row. |
void |
moveToInsertRow()
Moves the cursor to the insert row. |
boolean |
next()
Moves the cursor down one row from its current position. |
boolean |
previous()
Moves the cursor to the previous row in this ResultSet object. |
void |
refreshRow()
Refreshes the current row with its most recent value in the database. |
boolean |
relative(int rows)
Moves the cursor a relative number of rows, either positive or negative. |
boolean |
rowDeleted()
Retrieves whether a row has been deleted. |
boolean |
rowInserted()
Retrieves whether the current row has had an insertion. |
boolean |
rowUpdated()
Retrieves whether the current row has been updated. |
void |
setFetchDirection(int direction)
Gives a hint as to the direction in which the rows in this ResultSet object will be processed. |
void |
setFetchSize(int rows)
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. |
void |
updateArray(int columnIndex,
java.sql.Array x)
Updates the designated column with a java.sql.Array value. |
void |
updateArray(java.lang.String columnName,
java.sql.Array x)
Updates the designated column with a java.sql.Array value. |
void |
updateAsciiStream(int columnIndex,
java.io.InputStream x,
int length)
Updates the designated column with an ascii stream value. |
void |
updateAsciiStream(java.lang.String columnName,
java.io.InputStream x,
int length)
Updates the designated column with an ascii stream value. |
void |
updateBigDecimal(int columnIndex,
java.math.BigDecimal x)
Updates the designated column with a java.math.BigDecimal
value. |
void |
updateBigDecimal(java.lang.String columnName,
java.math.BigDecimal x)
Updates the designated column with a java.sql.BigDecimal
value. |
void |
updateBinaryStream(int columnIndex,
java.io.InputStream x,
int length)
Updates the designated column with a binary stream value. |
void |
updateBinaryStream(java.lang.String columnName,
java.io.InputStream x,
int length)
Updates the designated column with a binary stream value. |
void |
updateBlob(int columnIndex,
java.sql.Blob x)
Updates the designated column with a java.sql.Blob value. |
void |
updateBlob(java.lang.String columnName,
java.sql.Blob x)
Updates the designated column with a java.sql.Blob value. |
void |
updateBoolean(int columnIndex,
boolean x)
Updates the designated column with a boolean value. |
void |
updateBoolean(java.lang.String columnName,
boolean x)
Updates the designated column with a boolean value. |
void |
updateByte(int columnIndex,
byte x)
Updates the designated column with a byte value. |
void |
updateByte(java.lang.String columnName,
byte x)
Updates the designated column with a byte value. |
void |
updateBytes(int columnIndex,
byte[] x)
Updates the designated column with a byte array value. |
void |
updateBytes(java.lang.String columnName,
byte[] x)
Updates the designated column with a byte array value. |
void |
updateCharacterStream(int columnIndex,
java.io.Reader x,
int length)
Updates the designated column with a character stream value. |
void |
updateCharacterStream(java.lang.String columnName,
java.io.Reader reader,
int length)
Updates the designated column with a character stream value. |
void |
updateClob(int columnIndex,
java.sql.Clob x)
Updates the designated column with a java.sql.Clob value. |
void |
updateClob(java.lang.String columnName,
java.sql.Clob x)
Updates the designated column with a java.sql.Clob value. |
void |
updateDate(int columnIndex,
java.sql.Date x)
Updates the designated column with a java.sql.Date value. |
void |
updateDate(java.lang.String columnName,
java.sql.Date x)
Updates the designated column with a java.sql.Date value. |
void |
updateDouble(int columnIndex,
double x)
Updates the designated column with a double value. |
void |
updateDouble(java.lang.String columnName,
double x)
Updates the designated column with a double value. |
void |
updateFloat(int columnIndex,
float x)
Updates the designated column with a float value. |
void |
updateFloat(java.lang.String columnName,
float x)
Updates the designated column with a float value. |
void |
updateInt(int columnIndex,
int x)
Updates the designated column with an int value. |
void |
updateInt(java.lang.String columnName,
int x)
Updates the designated column with an int value. |
void |
updateLong(int columnIndex,
long x)
Updates the designated column with a long value. |
void |
updateLong(java.lang.String columnName,
long x)
Updates the designated column with a long value. |
void |
updateNull(int columnIndex)
Gives a nullable column a null value. |
void |
updateNull(java.lang.String columnName)
Updates the designated column with a null value. |
void |
updateObject(int columnIndex,
java.lang.Object x)
Updates the designated column with an Object value. |
void |
updateObject(int columnIndex,
java.lang.Object x,
int scale)
Updates the designated column with an Object value. |
void |
updateObject(java.lang.String columnName,
java.lang.Object x)
Updates the designated column with an Object value. |
void |
updateObject(java.lang.String columnName,
java.lang.Object x,
int scale)
Updates the designated column with an Object value. |
void |
updateRef(int columnIndex,
java.sql.Ref x)
Updates the designated column with a java.sql.Ref value. |
void |
updateRef(java.lang.String columnName,
java.sql.Ref x)
Updates the designated column with a java.sql.Ref value. |
void |
updateRow()
Updates the underlying database with the new contents of the current row of this ResultSet object. |
void |
updateShort(int columnIndex,
short x)
Updates the designated column with a short value. |
void |
updateShort(java.lang.String columnName,
short x)
Updates the designated column with a short value. |
void |
updateString(int columnIndex,
java.lang.String x)
Updates the designated column with a String value. |
void |
updateString(java.lang.String columnName,
java.lang.String x)
Updates the designated column with a String value. |
void |
updateTime(int columnIndex,
java.sql.Time x)
Updates the designated column with a java.sql.Time value. |
void |
updateTime(java.lang.String columnName,
java.sql.Time x)
Updates the designated column with a java.sql.Time value. |
void |
updateTimestamp(int columnIndex,
java.sql.Timestamp x)
Updates the designated column with a java.sql.Timestamp
value. |
void |
updateTimestamp(java.lang.String columnName,
java.sql.Timestamp x)
Updates the designated column with a java.sql.Timestamp
value. |
boolean |
wasNull()
Reports whether the last column read had a value of SQL NULL. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public org.hsqldb.Result rResult
public static final int FETCH_FORWARD
public static final int FETCH_REVERSE
public static final int FETCH_UNKNOWN
public static final int TYPE_FORWARD_ONLY
public static final int TYPE_SCROLL_INSENSITIVE
public static final int TYPE_SCROLL_SENSITIVE
public static final int CONCUR_READ_ONLY
public static final int CONCUR_UPDATABLE
public static final int HOLD_CURSORS_OVER_COMMIT
public static final int CLOSE_CURSORS_AT_COMMIT
| Method Detail |
public boolean next()
throws java.sql.SQLException
ResultSet cursor is initially positioned
before the first row; the first call to the method
next makes the first row the current row; the
second call makes the second row the current row, and so on.
If an input stream is open for the current row, a call
to the method next will
implicitly close it. A ResultSet object's
warning chain is cleared when a new row is read.
next in interface java.sql.ResultSettrue if the new current row is valid;
false if there are no more rows
java.sql.SQLException - if a database access error occurs
public void close()
throws java.sql.SQLException
ResultSet object's database and
JDBC resources immediately instead of waiting for
this to happen when it is automatically closed.
Note: A ResultSet object
is automatically closed by the
Statement object that generated it when
that Statement object is closed,
re-executed, or is used to retrieve the next result from a
sequence of multiple results. A ResultSet object
is also automatically closed when it is garbage collected.
close in interface java.sql.ResultSetjava.sql.SQLException - if a database access error occurs
public boolean wasNull()
throws java.sql.SQLException
NULL.
Note that you must first call one of the getter methods
on a column to try to read its value and then call
the method wasNull to see if the value read was
SQL NULL.
wasNull in interface java.sql.ResultSettrue if the last column value read was SQL
NULL and false otherwise
java.sql.SQLException - if a database access error occurs
public java.lang.String getString(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a String in the Java programming language.
getString in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public boolean getBoolean(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a boolean in the Java programming language.
getBoolean in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is false
java.sql.SQLException - if a database access error occurs
public byte getByte(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a byte in the Java programming language.
getByte in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public short getShort(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a short in the Java programming language.
getShort in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public int getInt(int columnIndex)
throws java.sql.SQLException
ResultSet object as
an int in the Java programming language.
getInt in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public long getLong(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a long in the Java programming language.
getLong in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public float getFloat(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a float in the Java programming language.
getFloat in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public double getDouble(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a double in the Java programming language.
getDouble in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public java.math.BigDecimal getBigDecimal(int columnIndex,
int scale)
throws java.sql.SQLException
ResultSet object as
a java.sql.BigDecimal in the Java programming language.
Beginning with 1.7.0, HSQLDB converts the result and sets the scale with BigDecimal.ROUND_HALF_DOWN.
getBigDecimal in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...scale - the number of digits to the right of the decimal point
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public byte[] getBytes(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a byte array in the Java programming language.
The bytes represent the raw values returned by the driver.
HSQLDB returns correct values for columns of type BINARY,
CHAR and their variations. For other types, it returns
the byte[] for the String representation
of the value.
getBytes in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.sql.Date getDate(int columnIndex)
throws java.sql.SQLException
ResultSet object as a
java.sql.Date object in the Java programming language.
getDate in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.sql.Time getTime(int columnIndex)
throws java.sql.SQLException
ResultSet object as a java.sql.Time
object in the Java programming language.
getTime in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.sql.Timestamp getTimestamp(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a java.sql.Timestamp object in the Java programming
language.
getTimestamp in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.io.InputStream getAsciiStream(int columnIndex)
throws java.sql.SQLException
ResultSet object as
a stream of ASCII characters. The value can then be read in chunks
from the stream. This method is particularly
suitable for retrieving large 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 getter method implicitly closes the stream. Also, a
stream may return 0 when the method
InputStream.available
is called whether there is data available or not.
The limitation noted above does not apply to HSQLDB.
In 1.6.1 and previous, getAsciiStream was identical to
getUnicodeStream and both simply returned a byte stream
constructed from the raw getBytes
representation.
Starting with 1.7.0, this has been updated to comply with the
java.sql specification.
When the column is of type CHAR and its variations, it requires no
conversion since it is represented internally already as a
Java String object. When the column is not of type CHAR and its
variations, the returned stream is based on a conversion to the
Java String representation of the value. In either case,
the obtained stream is always equivalent to a stream of the low order
bytes from the value's String representation.
HSQLDB SQL CHAR and its variations are all Unicode strings
internally, so the recommended alternatives to this method are
getString,
getUnicodeStream (deprecated)
and new to 1.7.0: getCharacterStream
(now prefered over the deprecated getUnicodeStream alternative).
getAsciiStream in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.io.InputStream getUnicodeStream(int columnIndex)
throws java.sql.SQLException
getCharacterStream in place of
getUnicodeStream
ResultSet object as
as a stream of two-byte Unicode characters. The first byte is
the high byte; the second byte is the low byte.
The value can then be read in chunks from the
stream. This method is particularly
suitable for retrieving large LONGVARCHARvalues. 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 getter method implicitly closes the stream.
Also, a stream may return 0 when the method
InputStream.available
is called, whether there is data available or not.
The limitation noted above does not apply to HSQLDB.
Up to and including 1.6.1, getUnicodeStream (and getAsciiStream)
both simply returned a byte stream constructed from the
raw getBytes representation.
Starting with 1.7.0, this has been corrected to comply with the
java.sql specification.
When the column is of type CHAR and its variations, it requires no
conversion since it is represented internally already as
Java Strings. When the column is not of type CHAR and its variations,
the returned stream is based on a conversion to the
Java String representation of the value. In either case,
the obtained stream is always equivalent to a stream of
bytes from the value's String representation, with high-byte first.
getUnicodeStream in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the value returned is
null
java.sql.SQLException - if a database access error occurs
public java.io.InputStream getBinaryStream(int columnIndex)
throws java.sql.SQLException
ResultSet object as a binary stream of
uninterpreted bytes. The value can then be 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 getter method implicitly closes the stream. Also, a
stream may return 0 when the method
InputStream.available
is called whether there is data available or not.
getBinaryStream in interface java.sql.ResultSetcolumnIndex - the first column is 1, the second is 2, ...
NULL, the value returned is
null
java.sql.SQLException - if a database access error occurs
public java.lang.String getString(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a String in the Java programming language.
getString in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public boolean getBoolean(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a boolean in the Java programming language.
getBoolean in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is false
java.sql.SQLException - if a database access error occurs
public byte getByte(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a byte in the Java programming language.
getByte in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public short getShort(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a short in the Java programming language.
getShort in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public int getInt(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
an int in the Java programming language.
getInt in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public long getLong(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a long in the Java programming language.
getLong in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public float getFloat(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a float in the Java programming language.
getFloat in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public double getDouble(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a double in the Java programming language.
getDouble in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is 0
java.sql.SQLException - if a database access error occurs
public java.math.BigDecimal getBigDecimal(java.lang.String columnName,
int scale)
throws java.sql.SQLException
ResultSet object as a
java.math.BigDecimal in the Java programming language.
Beginning with 1.7.0, HSQLDB converts the result and sets the scale with BigDecimal.ROUND_HALF_DOWN.
getBigDecimal in interface java.sql.ResultSetcolumnName - the SQL name of the columnscale - the number of digits to the right of the decimal point
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public byte[] getBytes(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a byte array in the Java programming language.
The bytes represent the raw values returned by the driver.
getBytes in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.sql.Date getDate(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as a
java.sql.Date object in the Java programming language.
getDate in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.sql.Time getTime(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as a java.sql.Time
object in the Java programming language.
getTime in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL,
the value returned is null
java.sql.SQLException - if a database access error occurs
public java.sql.Timestamp getTimestamp(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as
a java.sql.Timestamp object.
getTimestamp in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the
value returned is null
java.sql.SQLException - if a database access error occurs
public java.io.InputStream getAsciiStream(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as a stream of
ASCII characters. The value can then be 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 getter method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data available or not.
getAsciiStream in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL,
the value returned is null.
java.sql.SQLException - if a database access error occursgetAsciiStream(int)
public java.io.InputStream getUnicodeStream(java.lang.String columnName)
throws java.sql.SQLException
getCharacterStream instead
ResultSet object as a stream of two-byte
Unicode characters. The first byte is the high byte; the second
byte is the low byte.
The value can then be read in chunks from the
stream. This method is particularly
suitable for retrieving large LONGVARCHAR values.
The JDBC technology-enabled 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 getter method implicitly closes the stream.
Also, a stream may return 0 when the method
InputStream.available is called, whether there
is data available or not.
getUnicodeStream in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the value returned
is null.
java.sql.SQLException - if a database access error occursgetUnicodeStream(int)
public java.io.InputStream getBinaryStream(java.lang.String columnName)
throws java.sql.SQLException
ResultSet object as a stream of uninterpreted
bytes.
The value can then be 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 getter method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data available or not.
getBinaryStream in interface java.sql.ResultSetcolumnName - the SQL name of the column
NULL, the result is