|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hsqldb.jdbc.JDBCResultSet
public class 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 updatableThe
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. (JDBC4 clarification:) If column names are used, the programmer should take care to guarantee that they uniquely refer to the intended columns, which can be assured with the SQL AS clause.
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 beAINSWORTH
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 beAINSWORTH
rs.updateInt(2,35); // updates the second column to be35
rs.updateBoolean(3, true); // updates the third column totrue
rs.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. 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.
From HSQLDB 2.0, there is full support for updatable result sets.
Supported methods
include all updateXXX methods for the supported types, as well as the
insertRow()
,
updateRow()
, deleteRow()
, moveToInsertRow()
methods.
The Statement must be created with ResultSet.CONCUR_UPDATABLE instead of CONCUR_READ_ONLY.
Updatability of a result set follows the SQL standards. Some or all columns
of an updatable result set can be updated. The current row in such result sets
can be deleted using the deleteRow()
method. Some updatable result set
can also be inserted into and support moveToInsertRow()
.
A result set is updatable if the SELECT statement is updatable. This includes SELECT from TABLE and updatable VIEW objects. An updatable SELECT statement has a single uderlying table or view. HSQLDB supports both scrollable and forward-only result sets for updatability.
-- In the SELECT below, columns A and B are updatable, any row can be -- deleted, but it is not insertable-into as column C is not directly from -- the table. SELECT A, B, A + B AS C FROM T WHERE ... -- The SELECT below can be insertable-into so long as other columns of the -- table that do not appear in the SELECT list have a default value. SELECT A, B FROM T WHERE ...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
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.Result |
result
The underlying result. |
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. |
Constructor Summary | |
---|---|
JDBCResultSet(JDBCConnection conn,
org.hsqldb.jdbc.JDBCStatementBase s,
org.hsqldb.result.Result r,
org.hsqldb.result.ResultMetaData metaData)
Constructs a new JDBCResultSet object using the specified
navigator and org.hsqldb.result.ResultMetaData . |
|
JDBCResultSet(JDBCConnection conn,
org.hsqldb.result.Result r,
org.hsqldb.result.ResultMetaData metaData)
|
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(String columnLabel)
Maps the given ResultSet column label to its
ResultSet column index. |
|
boolean |
first()
Moves the cursor to the first row in this ResultSet object. |
|
Array |
getArray(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as an Array object
in the Java programming language. |
|
Array |
getArray(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as an Array object
in the Java programming language. |
|
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. |
|
InputStream |
getAsciiStream(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as a stream of
ASCII characters. |
|
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. |
|
BigDecimal |
getBigDecimal(int columnIndex,
int scale)
Deprecated. by java.sun.com as of JDK 1.2 |
|
BigDecimal |
getBigDecimal(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.math.BigDecimal with full precision. |
|
BigDecimal |
getBigDecimal(String columnLabel,
int scale)
Deprecated. by java.sun.com as of JDK 1.2 |
|
InputStream |
getBinaryStream(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a stream of
uninterpreted bytes. |
|
InputStream |
getBinaryStream(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as a stream of uninterpreted
byte s. |
|
Blob |
getBlob(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a Blob object
in the Java programming language. |
|
Blob |
getBlob(String columnLabel)
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(String columnLabel)
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(String columnLabel)
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(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as
a byte array in the Java programming language. |
|
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. |
|
Reader |
getCharacterStream(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.io.Reader object. |
|
Clob |
getClob(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a Clob object
in the Java programming language. |
|
Clob |
getClob(String columnLabel)
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. |
|
String |
getCursorName()
Retrieves the name of the SQL cursor used by this ResultSet
object. |
|
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. |
|
Date |
getDate(int columnIndex,
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. |
|
Date |
getDate(String columnLabel)
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. |
|
Date |
getDate(String columnLabel,
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(String columnLabel)
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(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as
a float in the Java programming language. |
|
int |
getHoldability()
Retrieves the holdability of this ResultSet object |
|
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(String columnLabel)
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(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as
a long in the Java programming language. |
|
ResultSetMetaData |
getMetaData()
Retrieves the number, types and properties of this ResultSet object's columns. |
|
Reader |
getNCharacterStream(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.io.Reader object. |
|
Reader |
getNCharacterStream(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as a
java.io.Reader object. |
|
NClob |
getNClob(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object
in the Java programming language. |
|
NClob |
getNClob(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object
in the Java programming language. |
|
String |
getNString(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. |
|
String |
getNString(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as
a String in the Java programming language. |
|
Object |
getObject(int columnIndex)
|
|
|
getObject(int columnIndex,
Class<T> type)
Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the
SQL type of the column to the requested Java data type, if the
conversion is supported. |
|
Object |
getObject(int columnIndex,
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. |
|
Object |
getObject(String columnLabel)
|
|
|
getObject(String columnLabel,
Class<T> type)
Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the
SQL type of the column to the requested Java data type, if the
conversion is supported. |
|
Object |
getObject(String columnLabel,
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. |
|
Ref |
getRef(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a Ref object
in the Java programming language. |
|
Ref |
getRef(String columnLabel)
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. |
|
RowId |
getRowId(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java
programming language. |
|
RowId |
getRowId(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java
programming language. |
|
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(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as
a short in the Java programming language. |
|
SQLXML |
getSQLXML(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet as a
java.sql.SQLXML object in the Java programming language. |
|
SQLXML |
getSQLXML(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet as a
java.sql.SQLXML object in the Java programming language. |
|
Statement |
getStatement()
Retrieves the Statement object that produced this
ResultSet object. |
|
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. |
|
String |
getString(String columnLabel)
Retrieves the value of the designated column in the current row of this ResultSet object as
a String in the Java programming language. |
|
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. |
|
Time |
getTime(int columnIndex,
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. |
|
Time |
getTime(String columnLabel)
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. |
|
Time |
getTime(String columnLabel,
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. |
|
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. |
|
Timestamp |
getTimestamp(int columnIndex,
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. |
|
Timestamp |
getTimestamp(String columnLabel)
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. |
|
Timestamp |
getTimestamp(String columnLabel,
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. |
|
InputStream |
getUnicodeStream(int columnIndex)
Deprecated. use getCharacterStream in place of
getUnicodeStream |
|
InputStream |
getUnicodeStream(String columnLabel)
Deprecated. use getCharacterStream instead |
|
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. |
|
URL |
getURL(String columnLabel)
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. |
|
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 |
isClosed()
Retrieves whether this ResultSet object has been closed. |
|
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 |
isWrapperFor(Class<?> iface)
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. |
|
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. |
|
static JDBCResultSet |
newJDBCResultSet(org.hsqldb.result.Result r,
org.hsqldb.result.ResultMetaData metaData)
Factory method returns a new JDBCResultSet object for
use with user defined functions that retrun a ResultSet object. |
|
boolean |
next()
Moves the cursor froward 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. |
|
|
unwrap(Class<T> iface)
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. |
|
void |
updateArray(int columnIndex,
Array x)
Updates the designated column with a java.sql.Array value. |
|
void |
updateArray(String columnLabel,
Array x)
Updates the designated column with a java.sql.Array value. |
|
void |
updateAsciiStream(int columnIndex,
InputStream x)
Updates the designated column with an ascii stream value. |
|
void |
updateAsciiStream(int columnIndex,
InputStream x,
int length)
(JDBC4 clarification:) Updates the designated column with an ascii stream value, which will have the specified number of bytes. |
|
void |
updateAsciiStream(int columnIndex,
InputStream x,
long length)
Updates the designated column with an ascii stream value, which will have the specified number of bytes. |
|
void |
updateAsciiStream(String columnLabel,
InputStream x)
Updates the designated column with an ascii stream value. |
|
void |
updateAsciiStream(String columnLabel,
InputStream x,
int length)
(JDBC4 clarification:) Updates the designated column with an ascii stream value, which will have the specified number of bytes. |
|
void |
updateAsciiStream(String columnLabel,
InputStream x,
long length)
Updates the designated column with an ascii stream value, which will have the specified number of bytes.. |
|
void |
updateBigDecimal(int columnIndex,
BigDecimal x)
Updates the designated column with a java.math.BigDecimal
value. |
|
void |
updateBigDecimal(String columnLabel,
BigDecimal x)
Updates the designated column with a java.sql.BigDecimal
value. |
|
void |
updateBinaryStream(int columnIndex,
InputStream x)
Updates the designated column with a binary stream value. |
|
void |
updateBinaryStream(int columnIndex,
InputStream x,
int length)
(JDBC4 clarification:) Updates the designated column with a binary stream value, which will have the specified number of bytes. |
|
void |
updateBinaryStream(int columnIndex,
InputStream x,
long length)
Updates the designated column with a binary stream value, which will have the specified number of bytes. |
|
void |
updateBinaryStream(String columnLabel,
InputStream x)
Updates the designated column with a binary stream value. |
|
void |
updateBinaryStream(String columnLabel,
InputStream x,
int length)
(JDBC4 clarification:) Updates the designated column with a binary stream value, which will have the specified number of bytes. |
|
void |
updateBinaryStream(String columnLabel,
InputStream x,
long length)
Updates the designated column with a binary stream value, which will have the specified number of bytes. |
|
void |
updateBlob(int columnIndex,
Blob x)
Updates the designated column with a java.sql.Blob value. |
|
void |
updateBlob(int columnIndex,
InputStream inputStream)
Updates the designated column using the given input stream. |
|
void |
updateBlob(int columnIndex,
InputStream inputStream,
long length)
Updates the designated column using the given input stream, which will have the specified number of bytes. |
|
void |
updateBlob(String columnLabel,
Blob x)
Updates the designated column with a java.sql.Blob value. |
|
void |
updateBlob(String columnLabel,
InputStream inputStream)
Updates the designated column using the given input stream. |
|
void |
updateBlob(String columnLabel,
InputStream inputStream,
long length)
Updates the designated column using the given input stream, which will have the specified number of bytes. |
|
void |
updateBoolean(int columnIndex,
boolean x)
Updates the designated column with a boolean value. |
|
void |
updateBoolean(String columnLabel,
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(String columnLabel,
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(String columnLabel,
byte[] x)
Updates the designated column with a byte array value. |
|
void |
updateCharacterStream(int columnIndex,
Reader x)
Updates the designated column with a character stream value. |
|
void |
updateCharacterStream(int columnIndex,
Reader x,
int length)
(JDBC4 clarification:) Updates the designated column with a character stream value, which will have the specified number of (CHECKME: characters?) bytes. |
|
void |
updateCharacterStream(int columnIndex,
Reader x,
long length)
Updates the designated column with a character stream value, which will have the specified number of bytes. |
|
void |
updateCharacterStream(String columnLabel,
Reader reader)
Updates the designated column with a character stream value. |
|
void |
updateCharacterStream(String columnLabel,
Reader reader,
int length)
(JDBC4 clarification) Updates the designated column with a character stream value, which will have the specified number of (CHECKME: characters?) bytes. |
|
void |
updateCharacterStream(String columnLabel,
Reader reader,
long length)
Updates the designated column with a character stream value, which will have the specified number of bytes. |
|
void |
updateClob(int columnIndex,
Clob x)
Updates the designated column with a java.sql.Clob value. |
|
void |
updateClob(int columnIndex,
Reader reader)
Updates the designated column using the given Reader
object. |
|
void |
updateClob(int columnIndex,
Reader reader,
long length)
Updates the designated column using the given Reader
object, which is the given number of characters long. |
|
void |
updateClob(String columnLabel,
Clob x)
Updates the designated column with a java.sql.Clob value. |
|
void |
updateClob(String columnLabel,
Reader reader)
Updates the designated column using the given Reader
object. |
|
void |
updateClob(String columnLabel,
Reader reader,
long length)
Updates the designated column using the given Reader
object, which is the given number of characters long. |
|
void |
updateDate(int columnIndex,
Date x)
Updates the designated column with a java.sql.Date value. |
|
void |
updateDate(String columnLabel,
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(String columnLabel,
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(String columnLabel,
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(String columnLabel,
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(String columnLabel,
long x)
Updates the designated column with a long value. |
|
void |
updateNCharacterStream(int columnIndex,
Reader reader)
Updates the designated column with a character stream value. |
|
void |
updateNCharacterStream(int columnIndex,
Reader x,
long length)
Updates the designated column with a character stream value, which will have the specified number of bytes. |
|
void |
updateNCharacterStream(String columnLabel,
Reader reader)
Updates the designated column with a character stream value. |
|
void |
updateNCharacterStream(String columnLabel,
Reader reader,
long length)
Updates the designated column with a character stream value, which will have the specified number of bytes. |
|
void |
updateNClob(int columnIndex,
NClob nClob)
Updates the designated column with a java.sql.NClob value. |
|
void |
updateNClob(int columnIndex,
Reader reader)
Updates the designated column using the given Reader
The data will be read from the stream
as needed until end-of-stream is reached. |
|
void |
updateNClob(int columnIndex,
Reader reader,
long length)
Updates the designated column using the given Reader
object, which is the given number of characters long. |
|
void |
updateNClob(String columnLabel,
NClob nClob)
Updates the designated column with a java.sql.NClob value. |
|
void |
updateNClob(String columnLabel,
Reader reader)
Updates the designated column using the given Reader
object. |
|
void |
updateNClob(String columnLabel,
Reader reader,
long length)
Updates the designated column using the given Reader
object, which is the given number of characters long. |
|
void |
updateNString(int columnIndex,
String nString)
Updates the designated column with a String value. |
|
void |
updateNString(String columnLabel,
String nString)
Updates the designated column with a String value. |
|
void |
updateNull(int columnIndex)
(JDBC4 clarification:) Updates the designated column with a null value. |
|
void |
updateNull(String columnLabel)
Updates the designated column with a null value. |
|
void |
updateObject(int columnIndex,
Object x)
Updates the designated column with an Object value. |
|
void |
updateObject(int columnIndex,
Object x,
int scaleOrLength)
Updates the designated column with an Object value. |
|
void |
updateObject(String columnLabel,
Object x)
Updates the designated column with an Object value. |
|
void |
updateObject(String columnLabel,
Object x,
int scaleOrLength)
Updates the designated column with an Object value. |
|
void |
updateRef(int columnIndex,
Ref x)
Updates the designated column with a java.sql.Ref value. |
|
void |
updateRef(String columnLabel,
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 |
updateRowId(int columnIndex,
RowId x)
Updates the designated column with a RowId value. |
|
void |
updateRowId(String columnLabel,
RowId x)
Updates the designated column with a RowId value. |
|
void |
updateShort(int columnIndex,
short x)
Updates the designated column with a short value. |
|
void |
updateShort(String columnLabel,
short x)
Updates the designated column with a short value. |
|
void |
updateSQLXML(int columnIndex,
SQLXML xmlObject)
Updates the designated column with a java.sql.SQLXML value. |
|
void |
updateSQLXML(String columnLabel,
SQLXML xmlObject)
Updates the designated column with a java.sql.SQLXML value. |
|
void |
updateString(int columnIndex,
String x)
Updates the designated column with a String value. |
|
void |
updateString(String columnLabel,
String x)
Updates the designated column with a String value. |
|
void |
updateTime(int columnIndex,
Time x)
Updates the designated column with a java.sql.Time value. |
|
void |
updateTime(String columnLabel,
Time x)
Updates the designated column with a java.sql.Time value. |
|
void |
updateTimestamp(int columnIndex,
Timestamp x)
Updates the designated column with a java.sql.Timestamp
value. |
|
void |
updateTimestamp(String columnLabel,
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.Result result
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
(JDBC4 clarification:) scrollable but generally not sensitive
to changes to the data that underlies the ResultSet
.
public static final int TYPE_SCROLL_SENSITIVE
(JDBC4 clarification:) scrollable and generally sensitive
to changes to the data that underlies the ResultSet
.
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
Constructor Detail |
---|
public JDBCResultSet(JDBCConnection conn, org.hsqldb.jdbc.JDBCStatementBase s, org.hsqldb.result.Result r, org.hsqldb.result.ResultMetaData metaData)
JDBCResultSet
object using the specified
navigator and org.hsqldb.result.ResultMetaData
.
conn
- JDBCConnections
- the statementr
- the internal result form that the new
JDBCResultSet
representsmetaData
- the connection propertiespublic JDBCResultSet(JDBCConnection conn, org.hsqldb.result.Result r, org.hsqldb.result.ResultMetaData metaData)
Method Detail |
---|
public boolean next() throws 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.
(JDBC4 clarification:)
When a call to the next
method returns false
,
the cursor is positioned after the last row. Any
invocation of a ResultSet
method which requires a
current row will result in a SQLException
being thrown.
If the result set type is TYPE_FORWARD_ONLY
, it is vendor specified
whether their JDBC driver implementation will return false
or
throw an SQLException
on a
subsequent call to next
.
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 ResultSet
true
if the new current row is valid;
false
if there are no more rows
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic void close() throws SQLException
ResultSet
object's database and
JDBC resources immediately instead of waiting for
this to happen when it is automatically closed.
(JDBC4 clarification:)
The closing of a ResultSet
object does not close the Blob
,
Clob
or NClob
objects created by the ResultSet
. Blob
,
Clob
or NClob
objects remain valid for at least the duration of the
transaction in which they are created, unless their free
method is invoked.
(JDBC4 clarification:)
When a ResultSet
is closed, any ResultSetMetaData
instances that were created by calling the getMetaData
method remain accessible.
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.
(JDBC4 deleted:) [A ResultSet
object is also automatically
closed when it is garbage collected.]
Calling the method close
on a ResultSet
object that is already closed is a no-op.
close
in interface ResultSet
SQLException
- if a database access error occurspublic boolean wasNull() throws 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 ResultSet
true
if the last column value read was SQL
NULL
and false
otherwise
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic String getString(int columnIndex) throws SQLException
ResultSet
object as
a String
in the Java programming language.
getString
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic boolean getBoolean(int columnIndex) throws SQLException
ResultSet
object as
a boolean
in the Java programming language.
(JDBC4 clarification:)
If the designated column has a datatype of CHAR or VARCHAR
and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
and contains a 0, a value of false
is returned. If the designated column has a datatype
of CHAR or VARCHAR
and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
and contains a 1, a value of true
is returned.
getBoolean
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is false
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic byte getByte(int columnIndex) throws SQLException
ResultSet
object as
a byte
in the Java programming language.
HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getByte() or getShort() is used to retrieve a value of type INTEGER or BIGINT and the value is beyond the range covered by the return type.
getByte
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic short getShort(int columnIndex) throws SQLException
ResultSet
object as
a short
in the Java programming language.
HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getByte() or getShort() is used to retrieve a value of type INTEGER or BIGINT and the value is beyond the range covered by the return type.
getShort
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic int getInt(int columnIndex) throws SQLException
ResultSet
object as
an int
in the Java programming language.
HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getInt() or getLong() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.
getInt
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic long getLong(int columnIndex) throws SQLException
ResultSet
object as
a long
in the Java programming language.
HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getInt() or getLong() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.
getLong
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic float getFloat(int columnIndex) throws SQLException
ResultSet
object as
a float
in the Java programming language.
HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getFloat() or getDouble() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.
getFloat
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic double getDouble(int columnIndex) throws SQLException
ResultSet
object as
a double
in the Java programming language.
HSQLDB converts the numeric value to the return type. If the value is out of the range for the return type, an error is returned. For example, this can happen if getFloat() or getDouble() is used to retrieve a value of type DECIMAL or NUMERIC with a large precision and the value is beyond the range covered by the return type.
getDouble
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
ResultSet
object as
a java.sql.BigDecimal
in the Java programming language.
HSQLDB converts the result and sets the scale with BigDecimal.ROUND_HALF_DOWN.
getBigDecimal
in interface ResultSet
columnIndex
- 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
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic byte[] getBytes(int columnIndex) throws 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 binary types
BINARY
, BIT
, BLOB
getBytes
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Date getDate(int columnIndex) throws SQLException
ResultSet
object as
a java.sql.Date
object in the Java programming language.
getDate
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Time getTime(int columnIndex) throws SQLException
ResultSet
object as
a java.sql.Time
object in the Java programming language.
getTime
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Timestamp getTimestamp(int columnIndex) throws SQLException
ResultSet
object as
a java.sql.Timestamp
object in the Java programming language.
getTimestamp
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic InputStream getAsciiStream(int columnIndex) throws 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.
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 ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic InputStream getUnicodeStream(int columnIndex) throws 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 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 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.
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 ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the value returned is
null
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic InputStream getBinaryStream(int columnIndex) throws 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
InputStream.available
is called whether there is data available or not.
getBinaryStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the value returned is
null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic String getString(String columnLabel) throws SQLException
ResultSet
object as
a String
in the Java programming language.
getString
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic boolean getBoolean(String columnLabel) throws SQLException
ResultSet
object as
a boolean
in the Java programming language.
(JDBC4 clarification:) If the designated column has a datatype of CHAR or VARCHAR
and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
and contains a 0, a value of false
is returned. If the designated column has a datatype
of CHAR or VARCHAR
and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT
and contains a 1, a value of true
is returned.
getBoolean
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is false
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic byte getByte(String columnLabel) throws SQLException
ResultSet
object as
a byte
in the Java programming language.
getByte
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic short getShort(String columnLabel) throws SQLException
ResultSet
object as
a short
in the Java programming language.
getShort
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic int getInt(String columnLabel) throws SQLException
ResultSet
object as
an int
in the Java programming language.
getInt
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic long getLong(String columnLabel) throws SQLException
ResultSet
object as
a long
in the Java programming language.
getLong
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic float getFloat(String columnLabel) throws SQLException
ResultSet
object as
a float
in the Java programming language.
getFloat
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic double getDouble(String columnLabel) throws SQLException
ResultSet
object as
a double
in the Java programming language.
getDouble
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is 0
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException
ResultSet
object as
a java.math.BigDecimal
in the Java programming language.
HSQLDB converts the result and sets the scale with BigDecimal.ROUND_HALF_DOWN.
getBigDecimal
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnscale
- the number of digits to the right of the decimal point
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic byte[] getBytes(String columnLabel) throws 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 ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Date getDate(String columnLabel) throws SQLException
ResultSet
object as
a java.sql.Date
object in the Java programming language.
getDate
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Time getTime(String columnLabel) throws SQLException
ResultSet
object as
a java.sql.Time
object in the Java programming language.
getTime
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
,
the value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Timestamp getTimestamp(String columnLabel) throws SQLException
ResultSet
object as
a java.sql.Timestamp
object in the Java programming language.
getTimestamp
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the
value returned is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic InputStream getAsciiStream(String columnLabel) throws 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 ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
,
the value returned is null
.
SQLException
- if a database access error occurs or this method is
called on a closed result setgetAsciiStream(int)
public InputStream getUnicodeStream(String columnLabel) throws 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 ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the value returned
is null
.
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodgetUnicodeStream(int)
public InputStream getBinaryStream(String columnLabel) throws SQLException
ResultSet
object as a stream of uninterpreted
byte
s.
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 ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the result is null
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic SQLWarning getWarnings() throws SQLException
ResultSet
object.
Subsequent warnings on this ResultSet
object
will be chained to the SQLWarning
object that
this method returns.
The warning chain is automatically cleared each time a new
row is read. This method may not be called on a ResultSet
object that has been closed; doing so will cause an
SQLException
to be thrown.
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.
HSQLDB does not produce SQLWarning
objects on any ResultSet object warning chain; this
method always returns null
.
getWarnings
in interface ResultSet
SQLWarning
object reported or
null
if there are none
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic void clearWarnings() throws SQLException
ResultSet
object.
After this method is called, the method getWarnings
returns null
until a new warning is
reported for this ResultSet
object.
HSQLDB does not produce SQLWarning
objects on any ResultSet object warning chain; calls to this method
are ignored.
clearWarnings
in interface ResultSet
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic String getCursorName() throws SQLException
ResultSet
object.
In SQL, a result table is retrieved through a cursor that is
named. The current row of a result set can be updated or deleted
using a positioned update/delete statement that references the
cursor name. To insure that the cursor has the proper isolation
level to support update, the cursor's SELECT
statement
should be of the form SELECT FOR UPDATE
. If
FOR UPDATE
is omitted, the positioned updates may fail.
The JDBC API supports this SQL feature by providing the name of the
SQL cursor used by a ResultSet
object.
The current row of a ResultSet
object
is also the current row of this SQL cursor.
HSQLDB supports this feature when the cursor has a name.
getCursorName
in interface ResultSet
ResultSet
object's cursor
SQLException
- if a database access error occurs or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic ResultSetMetaData getMetaData() throws SQLException
ResultSet
object's columns.
Example:
The following code fragment creates a ResultSet
object rs,
creates a ResultSetMetaData
object rsmd, and uses rsmd
to find out how many columns rs has and whether the first column
in rs can be used in a WHERE
clause.
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2"); ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
boolean b = rsmd.isSearchable(1);
With version 2.0, the engine's SQL implementation has been completely rewritten. Changes to this class and the implementation of ResultSetMetaData reflect the engine's new capabilities and provide more accurate information.
changes to consider:
false
columnNoNulls
for non-base-column ResultSet columns
(columns of the ResultSet that are based on expressions or
aggregates).
getMetaData
in interface ResultSet
ResultSet
object's columns
SQLException
- if a database access error occurs or this method is
called on a closed result setJDBCResultSetMetaData
public Object getObject(int columnIndex) throws SQLException
Gets the value of the designated column in the current row
of this ResultSet
object as
an Object
in the Java programming language.
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 for built-in types specified in the JDBC
specification. If the value is an SQL NULL
,
the driver returns a Java null
.
This method may also be used to read database-specific
abstract data types.
In the JDBC 2.0 API, the behavior of method
getObject
is extended to materialize
data of SQL user-defined types.
If Connection.getTypeMap
does not throw a
SQLFeatureNotSupportedException
,
then when a column contains a structured or distinct value,
the behavior of this method is as
if it were a call to: getObject(columnIndex,
this.getStatement().getConnection().getTypeMap())
.
If Connection.getTypeMap
does throw a
SQLFeatureNotSupportedException
,
then structured values are not supported, and distinct values
are mapped to the default Java class as determined by the
underlying SQL type of the DISTINCT type.
getObject
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
java.lang.Object
holding the column value
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Object getObject(String columnLabel) throws SQLException
Gets the value of the designated column in the current row
of this ResultSet
object as
an Object
in the Java programming language.
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 for built-in types specified in the JDBC
specification. If the value is an SQL NULL
,
the driver returns a Java null
.
This method may also be used to read database-specific abstract data types.
In the JDBC 2.0 API, the behavior of the method
getObject
is extended to materialize
data of SQL user-defined types. When a column contains
a structured or distinct value, the behavior of this method is as
if it were a call to: getObject(columnIndex,
this.getStatement().getConnection().getTypeMap())
.
getObject
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
java.lang.Object
holding the column value
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic int findColumn(String columnLabel) throws SQLException
ResultSet
column label to its
ResultSet
column index.
Starting with 1.9.x, HSQLDB does an exhaustive search, backed by a cache lookup (to improve performance for subsequent invocations with a given input).
This is in response to an observation posted here:
http://sourceforge.net/forum/forum.php?thread_id=1388727&forum_id=73674
Upon careful investigation of the JDBC specification and the behaviour of existing JDBC drivers, there is actually nothing preventing the findColumn method from doing an exhaustive search, as long as it conforms to the following rules (which describe the new implementation):
Instead:
findColumn
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
SQLException
- if the ResultSet
object
does not contain a column labeled columnLabel
, a database access error occurs
or this method is called on a closed result setpublic Reader getCharacterStream(int columnIndex) throws SQLException
ResultSet
object as a
java.io.Reader
object.
HSQLDB supports this feature.
getCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
java.io.Reader
object that contains the column
value; if the value is SQL NULL
, the value returned is
null
in the Java programming language.
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic Reader getCharacterStream(String columnLabel) throws SQLException
ResultSet
object as a
java.io.Reader
object.
HSQLDB supports this feature.
getCharacterStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
java.io.Reader
object that contains the column
value; if the value is SQL NULL
, the value returned is
null
in the Java programming language
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic BigDecimal getBigDecimal(int columnIndex) throws SQLException
ResultSet
object as a
java.math.BigDecimal
with full precision.
getBigDecimal
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the value returned is
null
in the Java programming language.
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic BigDecimal getBigDecimal(String columnLabel) throws SQLException
ResultSet
object as a
java.math.BigDecimal
with full precision.
getBigDecimal
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
NULL
, the value returned is
null
in the Java programming language.
SQLException
- if a database access error occurs or this method is
called on a closed result setpublic boolean isBeforeFirst() throws SQLException
ResultSet
object.
(JDBC4 Clarification:)
Note:Support for the isBeforeFirst
method
is optional for ResultSet
s with a result
set type of TYPE_FORWARD_ONLY
isBeforeFirst
in interface ResultSet
true
if the cursor is before the first row;
false
if the cursor is at any other position or the
result set contains no rows
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean isAfterLast() throws SQLException
ResultSet
object.
(JDBC4 Clarification:)
Note:Support for the isAfterLast
method
is optional for ResultSet
s with a result
set type of TYPE_FORWARD_ONLY
isAfterLast
in interface ResultSet
true
if the cursor is after the last row;
false
if the cursor is at any other position or the
result set contains no rows
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean isFirst() throws SQLException
ResultSet
object.
(JDBC4 Clarification:)
Note:Support for the isFirst
method
is optional for ResultSet
s with a result
set type of TYPE_FORWARD_ONLY
isFirst
in interface ResultSet
true
if the cursor is on the first row;
false
otherwise
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean isLast() throws SQLException
ResultSet
object.
Note: Calling the method isLast
may be expensive
because the JDBC driver
might need to fetch ahead one row in order to determine
whether the current row is the last row in the result set.
(JDBC4 Clarification:)
Note: Support for the isLast
method
is optional for ResultSet
s with a result
set type of TYPE_FORWARD_ONLY
isLast
in interface ResultSet
true
if the cursor is on the last row;
false
otherwise
SQLException
- if a database access error occurs or this method is
called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void beforeFirst() throws SQLException
ResultSet
object, just before the
first row. This method has no effect if the result set contains no rows.
beforeFirst
in interface ResultSet
SQLException
- if a database access error
occurs, this method is called on a closed result set or the
result set type is TYPE_FORWARD_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void afterLast() throws SQLException
ResultSet
object, just after the
last row. This method has no effect if the result set contains no rows.
afterLast
in interface ResultSet
SQLException
- if a database access error
occurs, this method is called on a closed result set
or the result set type is TYPE_FORWARD_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean first() throws SQLException
ResultSet
object.
first
in interface ResultSet
true
if the cursor is on a valid row;
false
if there are no rows in the result set
SQLException
- if a database access error
occurs, this method is called on a closed result set
or the result set type is TYPE_FORWARD_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean last() throws SQLException
ResultSet
object.
last
in interface ResultSet
true
if the cursor is on a valid row;
false
if there are no rows in the result set
SQLException
- if a database access error
occurs, this method is called on a closed result set
or the result set type is TYPE_FORWARD_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic int getRow() throws SQLException
(JDBC4 Clarification:)
Note:Support for the getRow
method
is optional for ResultSet
s with a result
set type of TYPE_FORWARD_ONLY
getRow
in interface ResultSet
0
if there is no current row
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean absolute(int row) throws SQLException
ResultSet
object.
If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.
If the given row number is negative, the cursor moves to
an absolute row position with respect to
the end of the result set. For example, calling the method
absolute(-1)
positions the
cursor on the last row; calling the method absolute(-2)
moves the cursor to the next-to-last row, and so on.
An attempt to position the cursor beyond the first/last row in the result set leaves the cursor before the first row or after the last row.
Note: Calling absolute(1)
is the same
as calling first()
. Calling absolute(-1)
is the same as calling last()
.
absolute
in interface ResultSet
row
- the number of the row to which the cursor should move.
A positive number indicates the row number counting from the
beginning of the result set; a negative number indicates the
row number counting from the end of the result set
true
if the cursor is moved to a position in this
ResultSet
object;
false
if the cursor is before the first row or after the
last row
SQLException
- if a database access error
occurs, this method is called on a closed result set
or the result set type is TYPE_FORWARD_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean relative(int rows) throws SQLException
relative(0)
is valid, but does
not change the cursor position.
Note: Calling the method relative(1)
is identical to calling the method next()
and
calling the method relative(-1)
is identical
to calling the method previous()
.
relative
in interface ResultSet
rows
- an int
specifying the number of rows to
move from the current row; a positive number moves the cursor
forward; a negative number moves the cursor backward
true
if the cursor is on a row;
false
otherwise
SQLException
- if a database access error occurs, this method
is called on a closed result set,
there is no current row, or the result set type is
TYPE_FORWARD_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean previous() throws SQLException
ResultSet
object.
(JDBC4 clarification:)
When a call to the previous
method returns false
,
the cursor is positioned before the first row. Any invocation of a
ResultSet
method which requires a current row will result in a
SQLException
being thrown.
(JDBC4 clarification:)
If an input stream is open for the current row, a call to the method
previous
will implicitly close it. A ResultSet
object's warning change is cleared when a new row is read.
previous
in interface ResultSet
true
if the cursor is now positioned on a valid row;
false
if the cursor is positioned before the first row
SQLException
- if a database access error
occurs; this method is called on a closed result set
or the result set type is TYPE_FORWARD_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void setFetchDirection(int direction) throws SQLException
ResultSet
object will be processed.
The initial value is determined by the
Statement
object
that produced this ResultSet
object.
The fetch direction may be changed at any time.
HSQLDB does not need this hint. However, as mandated by the JDBC standard, an SQLException is thrown if the result set type is TYPE_FORWARD_ONLY and a fetch direction other than FETCH_FORWARD is requested.
setFetchDirection
in interface ResultSet
direction
- an int
specifying the suggested
fetch direction; one of ResultSet.FETCH_FORWARD
,
ResultSet.FETCH_REVERSE
, or
ResultSet.FETCH_UNKNOWN
SQLException
- if a database access error occurs; this
method is called on a closed result set or
the result set type is TYPE_FORWARD_ONLY
and the fetch
direction is not FETCH_FORWARD
JDBCStatement.setFetchDirection(int)
,
getFetchDirection()
public int getFetchDirection() throws SQLException
ResultSet
object.
HSQLDB does not depend on fetch direction and always returns
FETCH_FORWARD
, but the value has no real meaning.
getFetchDirection
in interface ResultSet
ResultSet
object
SQLException
- if a database access error occurs
or this method is called on a closed result setsetFetchDirection(int)
public void setFetchSize(int rows) throws SQLException
ResultSet
object.
If the fetch size specified is zero, the JDBC driver
ignores the value and is free to make its own best guess as to what
the fetch size should be. The default value is set by the
Statement
object
that created the result set. The fetch size may be changed at any time.
HSQLDB may not build and return a result set as a whole. Therefore the supplied, non-zero, fetch size value is used for some ResultSet objects.
setFetchSize
in interface ResultSet
rows
- the number of rows to fetch
SQLException
- if a database access error occurs; this method
(JDBC4 Clarification:)
is called on a closed result set or the
(JDBC4 clarification:)
condition rows >= 0
is not satisfiedgetFetchSize()
,
JDBCStatement.setFetchSize(int)
,
JDBCStatement.getFetchSize()
public int getFetchSize() throws SQLException
ResultSet
object.
HSQLDB may not build and return a result set as a whole. The acutal fetch size for this result set is returned.
getFetchSize
in interface ResultSet
ResultSet
object
SQLException
- if a database access error occurs
or this method is called on a closed result setsetFetchSize(int)
,
JDBCStatement.getFetchSize()
,
JDBCStatement.setFetchSize(int)
public int getType() throws SQLException
ResultSet
object.
The type is determined by the Statement
object
that created the result set.
HSQLDB accurately reports the actual runtime scrollability of this result set instance.
getType
in interface ResultSet
ResultSet.TYPE_FORWARD_ONLY
,
ResultSet.TYPE_SCROLL_INSENSITIVE
,
or ResultSet.TYPE_SCROLL_SENSITIVE
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic int getConcurrency() throws SQLException
ResultSet
object.
The concurrency used is determined by the
Statement
object that created the result set.
HSQLDB supports updatable result sets and accurately reports the actual runtime concurrency of this result set instance.
getConcurrency
in interface ResultSet
ResultSet.CONCUR_READ_ONLY
or ResultSet.CONCUR_UPDATABLE
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic boolean rowUpdated() throws SQLException
HSQLDB supports updatable result sets and accurately reports the actual value.
rowUpdated
in interface ResultSet
true
if the current row is detected to
have been visibly updated by the owner or another; false
otherwise
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodJDBCDatabaseMetaData.updatesAreDetected(int)
public boolean rowInserted() throws SQLException
ResultSet
object can detect visible inserts.
HSQLDB supports updatable result sets and accurately reports the actual value.
rowInserted
in interface ResultSet
true
if the current row is detected to
have been inserted; false
otherwise
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodJDBCDatabaseMetaData.insertsAreDetected(int)
public boolean rowDeleted() throws SQLException
ResultSet
object can detect deletions.
(JDBC4 Clarification:)
Note: Support for the rowDeleted
method is optional with a result set
concurrency of CONCUR_READ_ONLY
HSQLDB supports updatable result sets and accurately reports the actual value.
rowDeleted
in interface ResultSet
true
if the current row is detected to
have been deleted by the owner or another; false
otherwise
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodJDBCDatabaseMetaData.deletesAreDetected(int)
public void updateNull(int columnIndex) throws SQLException
null
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateNull
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBoolean(int columnIndex, boolean x) throws SQLException
boolean
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBoolean
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateByte(int columnIndex, byte x) throws SQLException
byte
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateByte
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateShort(int columnIndex, short x) throws SQLException
short
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateShort
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateInt(int columnIndex, int x) throws SQLException
int
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateInt
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateLong(int columnIndex, long x) throws SQLException
long
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateLong
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateFloat(int columnIndex, float x) throws SQLException
float
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateFloat
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateDouble(int columnIndex, double x) throws SQLException
double
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateDouble
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException
java.math.BigDecimal
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBigDecimal
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateString(int columnIndex, String x) throws SQLException
String
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateString
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBytes(int columnIndex, byte[] x) throws SQLException
byte
array value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBytes
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateDate(int columnIndex, Date x) throws SQLException
java.sql.Date
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateDate
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateTime(int columnIndex, Time x) throws SQLException
java.sql.Time
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateTime
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateTimestamp(int columnIndex, Timestamp x) throws SQLException
java.sql.Timestamp
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateTimestamp
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateAsciiStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBinaryStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException
Object
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
(JDBC clarification:)
If the second argument is an InputStream
then the stream must contain
the number of bytes specified by scaleOrLength. If the second argument is a
Reader
then the reader must contain the number of characters specified
by scaleOrLength. If these conditions are not true the driver will generate a
SQLException
when the statement is executed.
HSQLDB supports this feature.
updateObject
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuescaleOrLength
- for an object of java.math.BigDecimal
,
this is the number of digits after the decimal point. For
Java Object types InputStream
and Reader
,
this is the length
of the data in the stream or reader. For all other types,
this value will be ignored.
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateObject(int columnIndex, Object x) throws SQLException
Object
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateObject
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNull(String columnLabel) throws SQLException
null
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateNull
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBoolean(String columnLabel, boolean x) throws SQLException
boolean
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBoolean
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateByte(String columnLabel, byte x) throws SQLException
byte
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateByte
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateShort(String columnLabel, short x) throws SQLException
short
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateShort
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateInt(String columnLabel, int x) throws SQLException
int
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateInt
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateLong(String columnLabel, long x) throws SQLException
long
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateLong
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateFloat(String columnLabel, float x) throws SQLException
float
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateFloat
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateDouble(String columnLabel, double x) throws SQLException
double
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateDouble
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException
java.sql.BigDecimal
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBigDecimal
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateString(String columnLabel, String x) throws SQLException
String
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateString
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBytes(String columnLabel, byte[] x) throws SQLException
updateRow
or insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBytes
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateDate(String columnLabel, Date x) throws SQLException
java.sql.Date
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateDate
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateTime(String columnLabel, Time x) throws SQLException
java.sql.Time
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateTime
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateTimestamp(String columnLabel, Timestamp x) throws SQLException
java.sql.Timestamp
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateTimestamp
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateAsciiStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateBinaryStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateCharacterStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader
- the java.io.Reader
object containing
the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException
Object
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
(JDBC4 Clarification:)
If the second argument is an InputStream
then the stream must contain
the number of bytes specified by scaleOrLength. If the second argument is a
Reader
then the reader must contain the number of characters specified
by scaleOrLength. If these conditions are not true the driver will generate a
SQLException
when the statement is executed.
HSQLDB supports this feature.
updateObject
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column valuescaleOrLength
- for an object of java.math.BigDecimal
,
this is the number of digits after the decimal point. For
Java Object types InputStream
and Reader
,
this is the length
of the data in the stream or reader. For all other types,
this value will be ignored.
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateObject(String columnLabel, Object x) throws SQLException
Object
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB supports this feature.
updateObject
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void insertRow() throws SQLException
ResultSet
object and into the database.
The cursor must be on the insert row when this method is called.
HSQLDB supports this feature.
insertRow
in interface ResultSet
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
,
this method is called on a closed result set,
if this method is called when the cursor is not on the insert row,
or if not all of non-nullable columns in
the insert row have been given a non-null value
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateRow() throws SQLException
ResultSet
object.
This method cannot be called when the cursor is on the insert row.
HSQLDB supports this feature.
After updating any values in the current row, it is not possible to move the cursor position without calling this method, or alternatively calling cancelRowUpdates() to abandon the row update.
updateRow
in interface ResultSet
SQLException
- if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
;
this method is called on a closed result set or
if this method is called when the cursor is on the insert row
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void deleteRow() throws SQLException
ResultSet
object
and from the underlying database. This method cannot be called when
the cursor is on the insert row.
HSQLDB supports this feature.
After a successful call to this method, the row is deleted.
deleteRow
in interface ResultSet
SQLException
- if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
;
this method is called on a closed result set
or if this method is called when the cursor is on the insert row
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void refreshRow() throws SQLException
The refreshRow
method provides a way for an
application to
explicitly tell the JDBC driver to refetch a row(s) from the
database. An application may want to call refreshRow
when
caching or prefetching is being done by the JDBC driver to
fetch the latest value of a row from the database. The JDBC driver
may actually refresh multiple rows at once if the fetch size is
greater than one.
All values are refetched subject to the transaction isolation
level and cursor sensitivity. If refreshRow
is called after
calling an updater method, but before calling
the method updateRow
, then the
updates made to the row are lost. Calling the method
refreshRow
frequently will likely slow performance.
HSQLDB supports this feature.
refreshRow
in interface ResultSet
SQLException
- if a database access error
occurs; this method is called on a closed result set;
the result set type is TYPE_FORWARD_ONLY
or if this
method is called when the cursor is on the insert row
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this method or this method is not supported for the specified result
set type and result set concurrency.public void cancelRowUpdates() throws SQLException
ResultSet
object.
This method may be called after calling an
updater method(s) and before calling
the method updateRow
to roll back
the updates made to a row. If no updates have been made or
updateRow
has already been called, this method has no
effect.
HSQLDB supports this feature.
cancelRowUpdates
in interface ResultSet
SQLException
- if a database access error
occurs; this method is called on a closed result set;
the result set concurrency is CONCUR_READ_ONLY
or if this method is called when the cursor is
on the insert row
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void moveToInsertRow() throws SQLException
insertRow
methods may be
called when the cursor is on the insert row. All of the columns in
a result set must be given a value each time this method is
called before calling insertRow
.
An updater method must be called before a
getter method can be called on a column value.
HSQLDB supports this feature.
moveToInsertRow
in interface ResultSet
SQLException
- if a database access error occurs; this
method is called on a closed result set
or the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void moveToCurrentRow() throws SQLException
HSQLDB supports this feature.
moveToCurrentRow
in interface ResultSet
SQLException
- if a database access error occurs, this
method is called on a closed result set
or the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Statement getStatement() throws SQLException
Statement
object that produced this
ResultSet
object.
If the result set was generated some other way, such as by a
DatabaseMetaData
method, this method may return
null
.
getStatement
in interface ResultSet
Statment
object that produced
this ResultSet
object or null
if the result set was produced some other way
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic Object getObject(int columnIndex, Map map) throws SQLException
ResultSet
object as an Object
in the Java programming language.
If the value is an SQL NULL
,
the driver returns a Java null
.
This method uses the given Map
object
for the custom mapping of the
SQL structured or distinct type that is being retrieved.
HSQLDB supports this feature, but ignores the map.
getObject
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...map
- a java.util.Map
object that contains the mapping
from SQL type names to classes in the Java programming language
Object
in the Java programming language
representing the SQL value
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Ref getRef(int columnIndex) throws SQLException
ResultSet
object as a Ref
object
in the Java programming language.
HSQLDB does not support this feature; this method always
throws an SQLException
stating that the operation is not
supported.
getRef
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
Ref
object representing an SQL REF
value
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Blob getBlob(int columnIndex) throws SQLException
ResultSet
object as a Blob
object
in the Java programming language.
HSQLDB 2.0 supports this feature for objects of type BLOB and BINARY. The Blob returned for BINARY objects is a memory object. The Blob return for BLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.
getBlob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
Blob
object representing the SQL
BLOB
value in the specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Clob getClob(int columnIndex) throws SQLException
ResultSet
object as a Clob
object
in the Java programming language.
HSQLDB 2.0 supports this feature for objects of type CLOB and the variations of CHAR. The Clob returned for CHAR objects is a memory object. The Clob return for CLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.
getClob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
Clob
object representing the SQL
CLOB
value in the specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Array getArray(int columnIndex) throws SQLException
ResultSet
object as an Array
object
in the Java programming language.
From version 2.0, HSQLDB supports array types.
getArray
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
Array
object representing the SQL
ARRAY
value in the specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Object getObject(String columnLabel, Map map) throws SQLException
ResultSet
object as an Object
in the Java programming language.
If the value is an SQL NULL
,
the driver returns a Java null
.
This method uses the specified Map
object for
custom mapping if appropriate.
HSQLDB supports this feature. But the Map parameter is ignored.
getObject
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnmap
- a java.util.Map
object that contains the mapping
from SQL type names to classes in the Java programming language
Object
representing the SQL value in the
specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Ref getRef(String columnLabel) throws SQLException
ResultSet
object as a Ref
object
in the Java programming language.
Including 2.0, HSQLDB does not support reference types; this method
always throws an SQLException
stating that the operation
is not supported.
getRef
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Ref
object representing the SQL REF
value in the specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Blob getBlob(String columnLabel) throws SQLException
ResultSet
object as a Blob
object
in the Java programming language.
HSQLDB 2.0 supports this feature for objects of type BLOB and BINARY. The Blob returned for BINARY objects is a memory object. The Blob return for BLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.
getBlob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Blob
object representing the SQL BLOB
value in the specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Clob getClob(String columnLabel) throws SQLException
ResultSet
object as a Clob
object
in the Java programming language.
HSQLDB 2.0 supports this feature for objects of type CLOB and the variations of CHAR. The Clob returned for CHAR objects is a memory object. The Clob return for CLOB objects is not held entirely in memory. Its contents are fetched from the database when its getXXX() methods are called.
getClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Clob
object representing the SQL CLOB
value in the specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Array getArray(String columnLabel) throws SQLException
ResultSet
object as an Array
object
in the Java programming language.
From version 2.0, HSQLDB supports array types.
getArray
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Array
object representing the SQL ARRAY
value in
the specified column
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Date getDate(int columnIndex, Calendar cal) throws SQLException
ResultSet
object as a java.sql.Date
object
in the Java programming language.
This method uses the given calendar to construct an appropriate millisecond
value for the date if the underlying database does not store
timezone information.
getDate
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...cal
- the java.util.Calendar
object
to use in constructing the date
java.sql.Date
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic Date getDate(String columnLabel, Calendar cal) throws SQLException
ResultSet
object as a java.sql.Date
object
in the Java programming language.
This method uses the given calendar to construct an appropriate millisecond
value for the date if the underlying database does not store
timezone information.
getDate
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columncal
- the java.util.Calendar
object
to use in constructing the date
java.sql.Date
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic Time getTime(int columnIndex, Calendar cal) throws SQLException
ResultSet
object as a java.sql.Time
object in the Java programming language.
This method uses the given calendar to construct an appropriate millisecond
value for the time if the underlying database does not store
timezone information.
The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:
getTime
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...cal
- the java.util.Calendar
object
to use in constructing the time
java.sql.Time
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic Time getTime(String columnLabel, Calendar cal) throws SQLException
ResultSet
object as a java.sql.Time
object
in the Java programming language.
This method uses the given calendar to construct an appropriate millisecond
value for the time if the underlying database does not store
timezone information.
The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:
getTime
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columncal
- the java.util.Calendar
object
to use in constructing the time
java.sql.Time
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
ResultSet
object as a java.sql.Timestamp
object
in the Java programming language.
This method uses the given calendar to construct an appropriate millisecond
value for the timestamp if the underlying database does not store
timezone information.
The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:
getTimestamp
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...cal
- the java.util.Calendar
object
to use in constructing the timestamp
java.sql.Timestamp
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException
ResultSet
object as a java.sql.Timestamp
object
in the Java programming language.
This method uses the given calendar to construct an appropriate millisecond
value for the timestamp if the underlying database does not store
timezone information.
The JDBC specification for this method is vague. HSQLDB interprets the specification as follows:
getTimestamp
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columncal
- the java.util.Calendar
object
to use in constructing the date
java.sql.Timestamp
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic URL getURL(int columnIndex) throws SQLException
ResultSet
object as a java.net.URL
object in the Java programming language.
HSQLDB does not support the datalink type; this method
always throws an SQLException
stating that the operation is
not supported.
getURL
in interface ResultSet
columnIndex
- the index of the column 1 is the first, 2 is the second,...
java.net.URL
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occurs; this method
is called on a closed result set or if a URL is malformed
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic URL getURL(String columnLabel) throws SQLException
ResultSet
object as a java.net.URL
object in the Java programming language.
HSQLDB does not support the datalink type; this method
always throws an SQLException
stating that the operation is
not supported.
getURL
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the column
java.net.URL
object;
if the value is SQL NULL
,
the value returned is null
in the Java programming language
SQLException
- if a database access error occur; this method
is called on a closed result set or if a URL is malformed
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateRef(int columnIndex, Ref x) throws SQLException
java.sql.Ref
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB does not support reference types; this method
always throws an SQLException
stating that the operation is
not supported.
updateRef
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateRef(String columnLabel, Ref x) throws SQLException
java.sql.Ref
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB does not support reference types; this method
always throws an SQLException
stating that the operation is
not supported.
updateRef
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBlob(int columnIndex, Blob x) throws SQLException
java.sql.Blob
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB 2.0 supports this feature for columns of type BLOB.
updateBlob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBlob(String columnLabel, Blob x) throws SQLException
java.sql.Blob
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB 2.0 supports this feature for columns of type BLOB.
updateBlob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateClob(int columnIndex, Clob x) throws SQLException
java.sql.Clob
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB 2.0 supports this feature for columns of type CLOB.
updateClob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateClob(String columnLabel, Clob x) throws SQLException
java.sql.Clob
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB 2.0 supports this feature for columns of type CLOB.
updateClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateArray(int columnIndex, Array x) throws SQLException
java.sql.Array
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB does not support array types; this method always
throws an SQLException
stating that the operation is not
supported.
updateArray
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateArray(String columnLabel, Array x) throws SQLException
java.sql.Array
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
HSQLDB does not support array types; this method always
throws an SQLException
stating that the operation is not
supported.
updateArray
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnx
- the new column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic RowId getRowId(int columnIndex) throws SQLException
ResultSet
object as a java.sql.RowId
object in the Java
programming language.
getRowId
in interface ResultSet
columnIndex
- the first column is 1, the second 2, ...
NULL
the
value returned is null
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic RowId getRowId(String columnLabel) throws SQLException
ResultSet
object as a java.sql.RowId
object in the Java
programming language.
HSQLDB does not support the RowId type; this method always
throws an SQLException
stating that the operation is not
supported.
getRowId
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the column
NULL
the
value returned is null
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateRowId(int columnIndex, RowId x) throws SQLException
RowId
value. The updater
methods are used to update column values in the current row or the insert
row. The updater methods do not update the underlying database; instead
the updateRow
or insertRow
methods are called
to update the database.
HSQLDB does not support the RowId type; this method always
throws an SQLException
stating that the operation is not
supported.
updateRowId
in interface ResultSet
columnIndex
- the first column is 1, the second 2, ...x
- the column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateRowId(String columnLabel, RowId x) throws SQLException
RowId
value. The updater
methods are used to update column values in the current row or the insert
row. The updater methods do not update the underlying database; instead
the updateRow
or insertRow
methods are called
to update the database.
HSQLDB does not support the RowId type; this method always
throws an SQLException
stating that the operation is not
supported.
updateRowId
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnx
- the column value
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic int getHoldability() throws SQLException
ResultSet
object
getHoldability
in interface ResultSet
ResultSet.HOLD_CURSORS_OVER_COMMIT
or ResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException
- if a database access error occurs
or this method is called on a closed result setpublic boolean isClosed() throws SQLException
ResultSet
object has been closed.
A ResultSet
is closed if the
method close has been called on it, or if it is automatically closed.
isClosed
in interface ResultSet
ResultSet
object is closed; false if it is still open
SQLException
- if a database access error occurspublic void updateNString(int columnIndex, String nString) throws SQLException
String
value.
It is intended for use when updating NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNString
in interface ResultSet
columnIndex
- the first column is 1, the second 2, ...nString
- the value for the column to be updated
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set,
the result set concurrency is CONCUR_READ_ONLY
or if a database access error occurs
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNString(String columnLabel, String nString) throws SQLException
String
value.
It is intended for use when updating NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNString
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnnString
- the value for the column to be updated
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set;
the result set concurrency is CONCUR_READ_ONLY
or if a database access error occurs
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNClob(int columnIndex, NClob nClob) throws SQLException
java.sql.NClob
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNClob
in interface ResultSet
columnIndex
- the first column is 1, the second 2, ...nClob
- the value for the column to be updated
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set,
if a database access error occurs or
the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNClob(String columnLabel, NClob nClob) throws SQLException
java.sql.NClob
value.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnnClob
- the value for the column to be updated
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set;
if a database access error occurs or
the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic NClob getNClob(int columnIndex) throws SQLException
ResultSet
object as a NClob
object
in the Java programming language.
getNClob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NClob
object representing the SQL
NCLOB
value in the specified column
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set
or if a database access error occurs
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic NClob getNClob(String columnLabel) throws SQLException
ResultSet
object as a NClob
object
in the Java programming language.
getNClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the column
NClob
object representing the SQL NCLOB
value in the specified column
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set
or if a database access error occurs
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic SQLXML getSQLXML(int columnIndex) throws SQLException
ResultSet
as a
java.sql.SQLXML
object in the Java programming language.
getSQLXML
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
SQLXML
object that maps an SQL XML
value
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic SQLXML getSQLXML(String columnLabel) throws SQLException
ResultSet
as a
java.sql.SQLXML
object in the Java programming language.
getSQLXML
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the column
SQLXML
object that maps an SQL XML
value
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException
java.sql.SQLXML
value.
The updater
methods are used to update column values in the current row or the insert
row. The updater methods do not update the underlying database; instead
the updateRow
or insertRow
methods are called
to update the database.
updateSQLXML
in interface ResultSet
columnIndex
- the first column is 1, the second 2, ...xmlObject
- the value for the column to be updated
SQLException
- if a database access error occurs, this method
is called on a closed result set,
the java.xml.transform.Result
,
Writer
or OutputStream
has not been closed
for the SQLXML
object,
if there is an error processing the XML value or
the result set concurrency is CONCUR_READ_ONLY
. The getCause
method
of the exception may provide a more detailed exception, for example, if the
stream does not contain valid XML.
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException
java.sql.SQLXML
value.
The updater
methods are used to update column values in the current row or the insert
row. The updater methods do not update the underlying database; instead
the updateRow
or insertRow
methods are called
to update the database.
updateSQLXML
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnxmlObject
- the column value
SQLException
- if a database access error occurs, this method
is called on a closed result set,
the java.xml.transform.Result
,
Writer
or OutputStream
has not been closed
for the SQLXML
object,
if there is an error processing the XML value or
the result set concurrency is CONCUR_READ_ONLY
. The getCause
method
of the exception may provide a more detailed exception, for example, if the
stream does not contain valid XML.
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic String getNString(int columnIndex) throws SQLException
ResultSet
object as
a String
in the Java programming language.
It is intended for use when
accessing NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
getNString
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
NULL
, the
value returned is null
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic String getNString(String columnLabel) throws SQLException
ResultSet
object as
a String
in the Java programming language.
It is intended for use when
accessing NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
getNString
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the column
NULL
, the
value returned is null
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Reader getNCharacterStream(int columnIndex) throws SQLException
ResultSet
object as a
java.io.Reader
object.
It is intended for use when
accessing NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
getNCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...
java.io.Reader
object that contains the column
value; if the value is SQL NULL
, the value returned is
null
in the Java programming language.
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic Reader getNCharacterStream(String columnLabel) throws SQLException
ResultSet
object as a
java.io.Reader
object.
It is intended for use when
accessing NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
getNCharacterStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the column
java.io.Reader
object that contains the column
value; if the value is SQL NULL
, the value returned is
null
in the Java programming language
SQLException
- if a database access error occurs
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException
NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNCharacterStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnreader
- the java.io.Reader
object containing
the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
updateAsciiStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
updateBinaryStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
updateCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
updateAsciiStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnx
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
updateBinaryStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnx
- the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
updateRow
or
insertRow
methods are called to update the database.
updateCharacterStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnreader
- the java.io.Reader
object containing
the new column valuelength
- the length of the stream
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException
LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.InputStream
. Data will be read from the stream
as needed until end-of-file is reached. The JDBC driver will
do any necessary conversion from ASCII to the database char format.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateBlob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...inputStream
- An object that contains the data to set the parameter
value to.length
- the number of bytes in the parameter data.
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException
LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.InputStream
. Data will be read from the stream
as needed until end-of-file is reached. The JDBC driver will
do any necessary conversion from ASCII to the database char format.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateBlob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columninputStream
- An object that contains the data to set the parameter
value to.length
- the number of bytes in the parameter data.
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateClob(int columnIndex, Reader reader, long length) throws SQLException
Reader
object, which is the given number of characters long.
When a very large UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.Reader
object. The data will be read from the stream
as needed until end-of-file is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateClob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateClob(String columnLabel, Reader reader, long length) throws SQLException
Reader
object, which is the given number of characters long.
When a very large UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.Reader
object. The data will be read from the stream
as needed until end-of-file is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnreader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.
SQLException
- if a database access error occurs,
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNClob(int columnIndex, Reader reader, long length) throws SQLException
Reader
object, which is the given number of characters long.
When a very large UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.Reader
object. The data will be read from the stream
as needed until end-of-file is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNClob
in interface ResultSet
columnIndex
- the first column is 1, the second 2, ...reader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set,
if a database access error occurs or
the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNClob(String columnLabel, Reader reader, long length) throws SQLException
Reader
object, which is the given number of characters long.
When a very large UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.Reader
object. The data will be read from the stream
as needed until end-of-file is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
updateNClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS
clause. If the SQL AS clause was not specified, then the label is the
name of the columnreader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.
SQLException
- if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set;
if a database access error occurs or
the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNCharacterStream(int columnIndex, Reader reader) throws SQLException
NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateNCharacterStream
which takes a length parameter.
updateNCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...reader
- the new column value
SQLException
- if the columnIndex is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException
NCHAR
,NVARCHAR
and LONGNVARCHAR
columns.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateNCharacterStream
which takes a length parameter.
updateNCharacterStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader
- the java.io.Reader
object containing
the new column value
SQLException
- if the columnLabel is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateAsciiStream(int columnIndex, InputStream x) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateAsciiStream
which takes a length parameter.
updateAsciiStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if the columnIndex is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBinaryStream(int columnIndex, InputStream x) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateBinaryStream
which takes a length parameter.
updateBinaryStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if the columnIndex is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateCharacterStream(int columnIndex, Reader x) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateCharacterStream
which takes a length parameter.
updateCharacterStream
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...x
- the new column value
SQLException
- if the columnIndex is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateAsciiStream(String columnLabel, InputStream x) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateAsciiStream
which takes a length parameter.
updateAsciiStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if the columnLabel is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBinaryStream(String columnLabel, InputStream x) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateBinaryStream
which takes a length parameter.
updateBinaryStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnx
- the new column value
SQLException
- if the columnLabel is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateCharacterStream(String columnLabel, Reader reader) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateCharacterStream
which takes a length parameter.
updateCharacterStream
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader
- the java.io.Reader
object containing
the new column value
SQLException
- if the columnLabel is not valid; if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBlob(int columnIndex, InputStream inputStream) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateBlob
which takes a length parameter.
updateBlob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...inputStream
- An object that contains the data to set the parameter
value to.
SQLException
- if the columnIndex is not valid; if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateBlob(String columnLabel, InputStream inputStream) throws SQLException
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateBlob
which takes a length parameter.
updateBlob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columninputStream
- An object that contains the data to set the parameter
value to.
SQLException
- if the columnLabel is not valid; if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateClob(int columnIndex, Reader reader) throws SQLException
Reader
object.
The data will be read from the stream
as needed until end-of-stream is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateClob
which takes a length parameter.
updateClob
in interface ResultSet
columnIndex
- the first column is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.
SQLException
- if the columnIndex is not valid;
if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateClob(String columnLabel, Reader reader) throws SQLException
Reader
object.
The data will be read from the stream
as needed until end-of-stream is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateClob
which takes a length parameter.
updateClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader
- An object that contains the data to set the parameter value to.
SQLException
- if the columnLabel is not valid; if a database access error occurs;
the result set concurrency is CONCUR_READ_ONLY
or this method is called on a closed result set
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNClob(int columnIndex, Reader reader) throws SQLException
Reader
The data will be read from the stream
as needed until end-of-stream is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateNClob
which takes a length parameter.
updateNClob
in interface ResultSet
columnIndex
- the first column is 1, the second 2, ...reader
- An object that contains the data to set the parameter value to.
SQLException
- if the columnIndex is not valid;
if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set,
if a database access error occurs or
the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic void updateNClob(String columnLabel, Reader reader) throws SQLException
Reader
object.
The data will be read from the stream
as needed until end-of-stream is reached. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
The updater methods are used to update column values in the
current row or the insert row. The updater methods do not
update the underlying database; instead the updateRow
or
insertRow
methods are called to update the database.
Note: Consult your JDBC driver documentation to determine if
it might be more efficient to use a version of
updateNClob
which takes a length parameter.
updateNClob
in interface ResultSet
columnLabel
- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the columnreader
- An object that contains the data to set the parameter value to.
SQLException
- if the columnLabel is not valid; if the driver does not support national
character sets; if the driver can detect that a data conversion
error could occur; this method is called on a closed result set;
if a database access error occurs or
the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic <T> T unwrap(Class<T> iface) throws SQLException
unwrap
recursively on the wrapped object
or a proxy for that result. If the receiver is not a
wrapper and does not implement the interface, then an SQLException
is thrown.
unwrap
in interface Wrapper
iface
- A Class defining an interface that the result must implement.
SQLException
- If no object found that implements the interfacepublic boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
on the wrapped
object. If this does not implement the interface and is not a wrapper, return false.
This method should be implemented as a low-cost operation compared to unwrap
so that
callers can use this method to avoid expensive unwrap
calls that may fail. If this method
returns true then calling unwrap
with the same argument should succeed.
isWrapperFor
in interface Wrapper
iface
- a Class defining an interface.
SQLException
- if an error occurs while determining whether this is a wrapper
for an object with the given interface.public <T> T getObject(int columnIndex, Class<T> type) throws SQLException
Retrieves the value of the designated column in the current row
of this ResultSet
object and will convert from the
SQL type of the column to the requested Java data type, if the
conversion is supported. If the conversion is not
supported or null is specified for the type, a
SQLException
is thrown.
At a minimum, an implementation must support the conversions defined in
Appendix B, Table B-3 and conversion of appropriate user defined SQL
types to a Java type which implements SQLData
, or Struct
.
Additional conversions may be supported and are vendor defined.
columnIndex
- the first column is 1, the second is 2, ...type
- Class representing the Java data type to convert the designated
column to.
type
holding the column value
SQLException
- if conversion is not supported, type is null or
another error occurs. The getCause() method of the
exception may provide a more detailed exception, for example, if
a conversion error occurs
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic <T> T getObject(String columnLabel, Class<T> type) throws SQLException
Retrieves the value of the designated column in the current row
of this ResultSet
object and will convert from the
SQL type of the column to the requested Java data type, if the
conversion is supported. If the conversion is not
supported or null is specified for the type, a
SQLException
is thrown.
At a minimum, an implementation must support the conversions defined in
Appendix B, Table B-3 and conversion of appropriate user defined SQL
types to a Java type which implements SQLData
, or Struct
.
Additional conversions may be supported and are vendor defined.
columnLabel
- the label for the column specified with the SQL AS clause.
If the SQL AS clause was not specified, then the label is the name
of the columntype
- Class representing the Java data type to convert the designated
column to.
type
holding the column value
SQLException
- if conversion is not supported, type is null or
another error occurs. The getCause() method of the
exception may provide a more detailed exception, for example, if
a conversion error occurs
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic static JDBCResultSet newJDBCResultSet(org.hsqldb.result.Result r, org.hsqldb.result.ResultMetaData metaData)
JDBCResultSet
object for
use with user defined functions that retrun a ResultSet object.
See org.hsqldb.jdbc.JDBCArrayBasic
for usage example.
r
- the internal result form that the new
JDBCResultSet
representsmetaData
- the connection properties
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |