|
JavaTM 2 Platform Standard Edition |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A ResultSet provides access to a table of data. A ResultSet object is usually generated by executing a Statement.
A ResultSet maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The 'next' method moves the cursor to the next row.
The getXXX methods retrieve column values for the current row. You can retrieve values 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, ResultSet columns within each row should be read in left-to-right order and each column should be read only once.
For the getXXX methods, the JDBC driver attempts to convert the underlying data to the specified Java type and returns a suitable Java value. See the JDBC specification for allowable mappings from SQL types to Java types with the ResultSet.getXXX methods.
Column names used as input to getXXX methods are case insensitive. When performing a getXXX using a column name, if several columns have the same name, then the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query. For columns that are NOT explicitly named in the query, it is best to use column numbers. If column names are used, there is no way for the programmer to guarantee that they actually refer to the intended columns.
A ResultSet is automatically closed by the Statement that generated it when that Statement is closed, re-executed, or used to retrieve the next result from a sequence of multiple results.
The number, types and properties of a ResultSet's columns are provided by the ResulSetMetaData object returned by the getMetaData method.
Field Summary | |
static int |
CONCUR_READ_ONLY
JDBC 2.0 The concurrency mode for a ResultSet object
that may NOT be updated. |
static int |
CONCUR_UPDATABLE
JDBC 2.0 The concurrency mode for a ResultSet object
that may be updated. |
static int |
FETCH_FORWARD
JDBC 2.0 The rows in a result set will be processed in a forward direction; first-to-last. |
static int |
FETCH_REVERSE
JDBC 2.0 The rows in a result set will be processed in a reverse direction; last-to-first. |
static int |
FETCH_UNKNOWN
JDBC 2.0 The order in which rows in a result set will be processed is unknown. |
static int |
TYPE_FORWARD_ONLY
JDBC 2.0 The type for a ResultSet object whose cursor may
move only forward. |
static int |
TYPE_SCROLL_INSENSITIVE
JDBC 2.0 The type for a ResultSet object that is scrollable
but generally not sensitive to changes made by others. |
static int |
TYPE_SCROLL_SENSITIVE
JDBC 2.0 The type for a ResultSet object that is scrollable
and generally sensitive to changes made by others. |
Method Summary | |
boolean |
absolute(int row)
JDBC 2.0 |
void |
afterLast()
JDBC 2.0 |
void |
beforeFirst()
JDBC 2.0 |
void |
cancelRowUpdates()
JDBC 2.0 Cancels the updates made to a row. |
void |
clearWarnings()
After this call getWarnings returns null until a new warning is reported for this ResultSet. |
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()
JDBC 2.0 Deletes the current row from the result set and the underlying database. |
int |
findColumn(String columnName)
Maps the given Resultset column name to its ResultSet column index. |
boolean |
first()
JDBC 2.0 |
Array |
getArray(int i)
JDBC 2.0 Gets an SQL ARRAY value from the current row of this ResultSet object. |
Array |
getArray(String colName)
JDBC 2.0 Gets an SQL ARRAY value in the current row of this ResultSet object. |
InputStream |
getAsciiStream(int columnIndex)
Gets the value of a column in the current row as a stream of ASCII characters. |
InputStream |
getAsciiStream(String columnName)
Gets the value of a column in the current row as a stream of ASCII characters. |
BigDecimal |
getBigDecimal(int columnIndex)
JDBC 2.0 Gets the value of a column in the current row as a java.math.BigDecimal object with full precision. |
BigDecimal |
getBigDecimal(int columnIndex,
int scale)
Deprecated. |
BigDecimal |
getBigDecimal(String columnName)
JDBC 2.0 Gets the value of a column in the current row as a java.math.BigDecimal object with full precision. |
BigDecimal |
getBigDecimal(String columnName,
int scale)
Deprecated. |
InputStream |
getBinaryStream(int columnIndex)
Gets the value of a column in the current row as a stream of uninterpreted bytes. |
InputStream |
getBinaryStream(String columnName)
Gets the value of a column in the current row as a stream of uninterpreted bytes. |
Blob |
getBlob(int i)
JDBC 2.0 Gets a BLOB value in the current row of this ResultSet object. |
Blob |
getBlob(String colName)
JDBC 2.0 Gets a BLOB value in the current row of this ResultSet object. |
boolean |
getBoolean(int columnIndex)
Gets the value of a column in the current row as a Java boolean. |
boolean |
getBoolean(String columnName)
Gets the value of a column in the current row as a Java boolean. |
byte |
getByte(int columnIndex)
Gets the value of a column in the current row as a Java byte. |
byte |
getByte(String columnName)
Gets the value of a column in the current row as a Java byte. |
byte[] |
getBytes(int columnIndex)
Gets the value of a column in the current row as a Java byte array. |
byte[] |
getBytes(String columnName)
Gets the value of a column in the current row as a Java byte array. |
Reader |
getCharacterStream(int columnIndex)
JDBC 2.0 |
Reader |
getCharacterStream(String columnName)
JDBC 2.0 |
Clob |
getClob(int i)
JDBC 2.0 Gets a CLOB value in the current row of this ResultSet object. |
Clob |
getClob(String colName)
JDBC 2.0 Gets a CLOB value in the current row of this ResultSet object. |
int |
getConcurrency()
JDBC 2.0 Returns the concurrency mode of this result set. |
String |
getCursorName()
Gets the name of the SQL cursor used by this ResultSet. |
Date |
getDate(int columnIndex)
Gets the value of a column in the current row as a java.sql.Date object. |
Date |
getDate(int columnIndex,
Calendar cal)
JDBC 2.0 Gets the value of a column in the current row as a java.sql.Date object. |
Date |
getDate(String columnName)
Gets the value of a column in the current row as a java.sql.Date object. |
Date |
getDate(String columnName,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Date object. |
double |
getDouble(int columnIndex)
Gets the value of a column in the current row as a Java double. |
double |
getDouble(String columnName)
Gets the value of a column in the current row as a Java double. |
int |
getFetchDirection()
JDBC 2.0 Returns the fetch direction for this result set. |
int |
getFetchSize()
JDBC 2.0 Returns the fetch size for this result set. |
float |
getFloat(int columnIndex)
Gets the value of a column in the current row as a Java float. |
float |
getFloat(String columnName)
Gets the value of a column in the current row as a Java float. |
int |
getInt(int columnIndex)
Gets the value of a column in the current row as a Java int. |
int |
getInt(String columnName)
Gets the value of a column in the current row as a Java int. |
long |
getLong(int columnIndex)
Gets the value of a column in the current row as a Java long. |
long |
getLong(String columnName)
Gets the value of a column in the current row as a Java long. |
ResultSetMetaData |
getMetaData()
Retrieves the number, types and properties of a ResultSet's columns. |
Object |
getObject(int columnIndex)
Gets the value of a column in the current row as a Java object. |
Object |
getObject(int i,
Map map)
JDBC 2.0 Returns the value of a column in the current row as a Java object. |
Object |
getObject(String columnName)
Gets the value of a column in the current row as a Java object. |
Object |
getObject(String colName,
Map map)
JDBC 2.0 Returns the value in the specified column as a Java object. |
Ref |
getRef(int i)
JDBC 2.0 Gets a REF(<structured-type>) column value from the current row. |
Ref |
getRef(String colName)
JDBC 2.0 Gets a REF(<structured-type>) column value from the current row. |
int |
getRow()
JDBC 2.0 |
short |
getShort(int columnIndex)
Gets the value of a column in the current row as a Java short. |
short |
getShort(String columnName)
Gets the value of a column in the current row as a Java short. |
Statement |
getStatement()
JDBC 2.0 Returns the Statement that produced this ResultSet object. |
String |
getString(int columnIndex)
Gets the value of a column in the current row as a Java String. |
String |
getString(String columnName)
Gets the value of a column in the current row as a Java String. |
Time |
getTime(int columnIndex)
Gets the value of a column in the current row as a java.sql.Time object. |
Time |
getTime(int columnIndex,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Time object. |
Time |
getTime(String columnName)
Gets the value of a column in the current row as a java.sql.Time object. |
Time |
getTime(String columnName,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Time object. |
Timestamp |
getTimestamp(int columnIndex)
Gets the value of a column in the current row as a java.sql.Timestamp object. |
Timestamp |
getTimestamp(int columnIndex,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Timestamp object. |
Timestamp |
getTimestamp(String columnName)
Gets the value of a column in the current row as a java.sql.Timestamp object. |
Timestamp |
getTimestamp(String columnName,
Calendar cal)
Gets the value of a column in the current row as a java.sql.Timestamp object. |
int |
getType()
JDBC 2.0 Returns the type of this result set. |
InputStream |
getUnicodeStream(int columnIndex)
Deprecated. |
InputStream |
getUnicodeStream(String columnName)
Deprecated. |
SQLWarning |
getWarnings()
The first warning reported by calls on this ResultSet is returned. |
void |
insertRow()
JDBC 2.0 Inserts the contents of the insert row into the result set and the database. |
boolean |
isAfterLast()
JDBC 2.0 |
boolean |
isBeforeFirst()
JDBC 2.0 |
boolean |
isFirst()
JDBC 2.0 |
boolean |
isLast()
JDBC 2.0 |
boolean |
last()
JDBC 2.0 |
void |
moveToCurrentRow()
JDBC 2.0 Moves the cursor to the remembered cursor position, usually the current row. |
void |
moveToInsertRow()
JDBC 2.0 Moves the cursor to the insert row. |
boolean |
next()
Moves the cursor down one row from its current position. |
boolean |
previous()
JDBC 2.0 |
void |
refreshRow()
JDBC 2.0 Refreshes the current row with its most recent value in the database. |
boolean |
relative(int rows)
JDBC 2.0 |
boolean |
rowDeleted()
JDBC 2.0 Indicates whether a row has been deleted. |
boolean |
rowInserted()
JDBC 2.0 Indicates whether the current row has had an insertion. |
boolean |
rowUpdated()
JDBC 2.0 Indicates whether the current row has been updated. |
void |
setFetchDirection(int direction)
JDBC 2.0 Gives a hint as to the direction in which the rows in this result set will be processed. |
void |
setFetchSize(int rows)
JDBC 2.0 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 result set. |
void |
updateAsciiStream(int columnIndex,
InputStream x,
int length)
JDBC 2.0 Updates a column with an ascii stream value. |
void |
updateAsciiStream(String columnName,
InputStream x,
int length)
JDBC 2.0 Updates a column with an ascii stream value. |
void |
updateBigDecimal(int columnIndex,
BigDecimal x)
JDBC 2.0 Updates a column with a BigDecimal value. |
void |
updateBigDecimal(String columnName,
BigDecimal x)
JDBC 2.0 Updates a column with a BigDecimal value. |
void |
updateBinaryStream(int columnIndex,
InputStream x,
int length)
JDBC 2.0 Updates a column with a binary stream value. |
void |
updateBinaryStream(String columnName,
InputStream x,
int length)
JDBC 2.0 Updates a column with a binary stream value. |
void |
updateBoolean(int columnIndex,
boolean x)
JDBC 2.0 Updates a column with a boolean value. |
void |
updateBoolean(String columnName,
boolean x)
JDBC 2.0 Updates a column with a boolean value. |
void |
updateByte(int columnIndex,
byte x)
JDBC 2.0 Updates a column with a byte value. |
void |
updateByte(String columnName,
byte x)
JDBC 2.0 Updates a column with a byte value. |
void |
updateBytes(int columnIndex,
byte[] x)
JDBC 2.0 Updates a column with a byte array value. |
void |
updateBytes(String columnName,
byte[] x)
JDBC 2.0 Updates a column with a byte array value. |
void |
updateCharacterStream(int columnIndex,
Reader x,
int length)
JDBC 2.0 Updates a column with a character stream value. |
void |
updateCharacterStream(String columnName,
Reader reader,
int length)
JDBC 2.0 Updates a column with a character stream value. |
void |
updateDate(int columnIndex,
Date x)
JDBC 2.0 Updates a column with a Date value. |
void |
updateDate(String columnName,
Date x)
JDBC 2.0 Updates a column with a Date value. |
void |
updateDouble(int columnIndex,
double x)
JDBC 2.0 Updates a column with a Double value. |
void |
updateDouble(String columnName,
double x)
JDBC 2.0 Updates a column with a double value. |
void |
updateFloat(int columnIndex,
float x)
JDBC 2.0 Updates a column with a float value. |
void |
updateFloat(String columnName,
float x)
JDBC 2.0 Updates a column with a float value. |
void |
updateInt(int columnIndex,
int x)
JDBC 2.0 Updates a column with an integer value. |
void |
updateInt(String columnName,
int x)
JDBC 2.0 Updates a column with an integer value. |
void |
updateLong(int columnIndex,
long x)
JDBC 2.0 Updates a column with a long value. |
void |
updateLong(String columnName,
long x)
JDBC 2.0 Updates a column with a long value. |
void |
updateNull(int columnIndex)
JDBC 2.0 Give a nullable column a null value. |
void |
updateNull(String columnName)
JDBC 2.0 Updates a column with a null value. |
void |
updateObject(int columnIndex,
Object x)
JDBC 2.0 Updates a column with an Object value. |
void |
updateObject(int columnIndex,
Object x,
int scale)
JDBC 2.0 Updates a column with an Object value. |
void |
updateObject(String columnName,
Object x)
JDBC 2.0 Updates a column with an Object value. |
void |
updateObject(String columnName,
Object x,
int scale)
JDBC 2.0 Updates a column with an Object value. |
void |
updateRow()
JDBC 2.0 Updates the underlying database with the new contents of the current row. |
void |
updateShort(int columnIndex,
short x)
JDBC 2.0 Updates a column with a short value. |
void |
updateShort(String columnName,
short x)
JDBC 2.0 Updates a column with a short value. |
void |
updateString(int columnIndex,
String x)
JDBC 2.0 Updates a column with a String value. |
void |
updateString(String columnName,
String x)
JDBC 2.0 Updates a column with a String value. |
void |
updateTime(int columnIndex,
Time x)
JDBC 2.0 Updates a column with a Time value. |
void |
updateTime(String columnName,
Time x)
JDBC 2.0 Updates a column with a Time value. |
void |
updateTimestamp(int columnIndex,
Timestamp x)
JDBC 2.0 Updates a column with a Timestamp value. |
void |
updateTimestamp(String columnName,
Timestamp x)
JDBC 2.0 Updates a column with a Timestamp value. |
boolean |
wasNull()
Reports whether the last column read had a value of SQL NULL. |
Field Detail |
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
ResultSet
object whose cursor may
move only forward.public static final int TYPE_SCROLL_INSENSITIVE
ResultSet
object that is scrollable
but generally not sensitive to changes made by others.public static final int TYPE_SCROLL_SENSITIVE
ResultSet
object that is scrollable
and generally sensitive to changes made by others.public static final int CONCUR_READ_ONLY
ResultSet
object
that may NOT be updated.public static final int CONCUR_UPDATABLE
ResultSet
object
that may be updated.Method Detail |
public boolean next() throws SQLException
If an input stream is open for the current row, a call
to the method next
will
implicitly close it. The ResultSet's warning chain is cleared
when a new row is read.
public void close() throws SQLException
ResultSet
object's database and
JDBC resources immediately instead of waiting for
this to happen when it is automatically closed.
Note: A ResultSet is automatically closed by the Statement that generated it when that Statement is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results. A ResultSet is also automatically closed when it is garbage collected.
public boolean wasNull() throws SQLException
public String getString(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public boolean getBoolean(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public byte getByte(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public short getShort(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public int getInt(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public long getLong(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public float getFloat(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public double getDouble(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...scale
- the number of digits to the right of the decimalpublic byte[] getBytes(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public Date getDate(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public Time getTime(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public Timestamp getTimestamp(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public InputStream getAsciiStream(int columnIndex) throws SQLException
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data
available or not.
columnIndex
- the first column is 1, the second is 2, ...public InputStream getUnicodeStream(int columnIndex) throws SQLException
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data
available or not.
columnIndex
- the first column is 1, the second is 2, ...public InputStream getBinaryStream(int columnIndex) throws SQLException
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data
available or not.
columnIndex
- the first column is 1, the second is 2, ...public String getString(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic boolean getBoolean(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic byte getByte(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic short getShort(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic int getInt(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic long getLong(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic float getFloat(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic double getDouble(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
columnName
- the SQL name of the columnscale
- the number of digits to the right of the decimalpublic byte[] getBytes(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic Date getDate(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic Time getTime(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic Timestamp getTimestamp(String columnName) throws SQLException
columnName
- the SQL name of the columnpublic InputStream getAsciiStream(String columnName) throws SQLException
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data
available or not.
columnName
- the SQL name of the columnpublic InputStream getUnicodeStream(String columnName) throws SQLException
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data
available or not.
columnName
- the SQL name of the columnpublic InputStream getBinaryStream(String columnName) throws SQLException
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0 when the method available
is called whether there is data
available or not.
columnName
- the SQL name of the columnpublic SQLWarning getWarnings() throws SQLException
The first warning reported by calls on this ResultSet is returned. Subsequent ResultSet warnings will be chained to this SQLWarning.
The warning chain is automatically cleared each time a new row is read.
Note: This warning chain only covers warnings caused by ResultSet methods. Any warning caused by statement methods (such as reading OUT parameters) will be chained on the Statement object.
public void clearWarnings() throws SQLException
public String getCursorName() throws SQLException
In SQL, a result table is retrieved through a cursor that is named. The current row of a result can be updated or deleted using a positioned update/delete statement that references the cursor name. 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 the 'for update' clause is omitted the positioned updates may fail.
JDBC supports this SQL feature by providing the name of the SQL cursor used by a ResultSet. The current row of a ResultSet is also the current row of this SQL cursor.
Note: If positioned update is not supported a SQLException is thrown
public ResultSetMetaData getMetaData() throws SQLException
public Object getObject(int columnIndex) throws SQLException
Gets the value of a column in the current row as a Java object.
This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC spec.
This method may also be used to read datatabase-specific
abstract data types.
JDBC 2.0
In the JDBC 2.0 API, the behavior of method
getObject
is extended to materialize
data of SQL user-defined types. When the 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()).
columnIndex
- the first column is 1, the second is 2, ...public Object getObject(String columnName) throws SQLException
Gets the value of a column in the current row as a Java object.
This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC spec.
This method may also be used to read datatabase-specific
abstract data types.
JDBC 2.0
In the JDBC 2.0 API, the behavior of method
getObject
is extended to materialize
data of SQL user-defined types. When the 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()).
columnName
- the SQL name of the columnpublic int findColumn(String columnName) throws SQLException
columnName
- the name of the columnpublic Reader getCharacterStream(int columnIndex) throws SQLException
Gets the value of a column in the current row as a java.io.Reader.
columnIndex
- the first column is 1, the second is 2, ...public Reader getCharacterStream(String columnName) throws SQLException
Gets the value of a column in the current row as a java.io.Reader.
columnName
- the name of the columnjava.io.Reader
public BigDecimal getBigDecimal(int columnIndex) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...public BigDecimal getBigDecimal(String columnName) throws SQLException
columnName
- the column namepublic boolean isBeforeFirst() throws SQLException
Indicates whether the cursor is before the first row in the result set.
public boolean isAfterLast() throws SQLException
Indicates whether the cursor is after the last row in the result set.
public boolean isFirst() throws SQLException
Indicates whether the cursor is on the first row of the result set.
public boolean isLast() throws SQLException
Indicates whether the cursor is on the last row of the result set.
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.
public void beforeFirst() throws SQLException
Moves the cursor to the front of the result set, just before the first row. Has no effect if the result set contains no rows.
public void afterLast() throws SQLException
Moves the cursor to the end of the result set, just after the last row. Has no effect if the result set contains no rows.
public boolean first() throws SQLException
Moves the cursor to the first row in the result set.
public boolean last() throws SQLException
Moves the cursor to the last row in the result set.
public int getRow() throws SQLException
Retrieves the current row number. The first row is number 1, the second number 2, and so on.
public boolean absolute(int row) throws SQLException
Moves the cursor to the given row number in the result set.
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
absolute(-1)
positions the
cursor on the last row, absolute(-2)
indicates 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/after the first/last row, respectively.
Note: Calling absolute(1)
is the same
as calling first()
.
Calling absolute(-1)
is the same as calling last()
.
public boolean relative(int rows) throws SQLException
Moves the cursor a relative number of rows, either positive or negative.
Attempting to move beyond the first/last row in the
result set positions the cursor before/after the
the first/last row. Calling relative(0)
is valid, but does
not change the cursor position.
Note: Calling relative(1)
is different from calling next()
because is makes sense to call next()
when there is no current row,
for example, when the cursor is positioned before the first row
or after the last row of the result set.
public boolean previous() throws SQLException
Moves the cursor to the previous row in the result set.
Note: previous()
is not the same as
relative(-1)
because it
makes sense to callprevious() when there is no current row.
public void setFetchDirection(int direction) throws SQLException
public int getFetchDirection() throws SQLException
public void setFetchSize(int rows) throws SQLException
rows
- the number of rows to fetchpublic int getFetchSize() throws SQLException
public int getType() throws SQLException
public int getConcurrency() throws SQLException
public boolean rowUpdated() throws SQLException
DatabaseMetaData.updatesAreDetected(int)
public boolean rowInserted() throws SQLException
DatabaseMetaData.insertsAreDetected(int)
public boolean rowDeleted() throws SQLException
DatabaseMetaData.deletesAreDetected(int)
public void updateNull(int columnIndex) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...public void updateBoolean(int columnIndex, boolean x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateByte(int columnIndex, byte x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateShort(int columnIndex, short x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateInt(int columnIndex, int x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateLong(int columnIndex, long x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateFloat(int columnIndex, float x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateDouble(int columnIndex, double x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateString(int columnIndex, String x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateBytes(int columnIndex, byte[] x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateDate(int columnIndex, Date x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateTime(int columnIndex, Time x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateTimestamp(int columnIndex, Timestamp x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the streampublic void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the streampublic void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuelength
- the length of the streampublic void updateObject(int columnIndex, Object x, int scale) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuescale
- For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types
this is the number of digits after the decimal. For all other
types this value will be ignored.public void updateObject(int columnIndex, Object x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnIndex
- the first column is 1, the second is 2, ...x
- the new column valuepublic void updateNull(String columnName) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnpublic void updateBoolean(String columnName, boolean x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateByte(String columnName, byte x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateShort(String columnName, short x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateInt(String columnName, int x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateLong(String columnName, long x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateFloat(String columnName, float x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateDouble(String columnName, double x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateBigDecimal(String columnName, BigDecimal x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateString(String columnName, String x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateBytes(String columnName, byte[] x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateDate(String columnName, Date x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateTime(String columnName, Time x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateTimestamp(String columnName, Timestamp x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuelength
- of the streampublic void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuelength
- of the streampublic void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuelength
- of the streampublic void updateObject(String columnName, Object x, int scale) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuescale
- For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types
this is the number of digits after the decimal. For all other
types this value will be ignored.public void updateObject(String columnName, Object x) throws SQLException
updateXXX
methods are used to update column values in the
current row, or the insert row. The updateXXX
methods do not
update the underlying database; instead the updateRow
or insertRow
methods are called to update the database.columnName
- the name of the columnx
- the new column valuepublic void insertRow() throws SQLException
public void updateRow() throws SQLException
public void deleteRow() throws SQLException
public void refreshRow() throws SQLException
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 updateXXX
, but before calling updateRow
, then the
updates made to the row are lost. Calling the method refreshRow
frequently
will likely slow performance.public void cancelRowUpdates() throws SQLException
updateXXX
method(s) and before calling updateRow
to rollback
the updates made to a row. If no updates have been made or
updateRow
has already been called, then this method has no
effect.public void moveToInsertRow() throws SQLException
updateXXX
methods prior to
inserting the row into the result set.
Only the updateXXX
, getXXX
,
and 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
.
The method updateXXX
must be called before a
getXXX
method can be called on a column value.public void moveToCurrentRow() throws SQLException
public Statement getStatement() throws SQLException
ResultSet
object.
If the result set was generated some other way, such as by a
DatabaseMetaData
method, this method returns null
.public Object getObject(int i, Map map) throws SQLException
Map
object
for the custom mapping of the
SQL structured or distinct type that is being retrieved.i
- the first column is 1, the second is 2, ...map
- the mapping from SQL type names to Java classespublic Ref getRef(int i) throws SQLException
i
- the first column is 1, the second is 2, ...Ref
object representing an SQL REF valuepublic Blob getBlob(int i) throws SQLException
ResultSet
object.i
- the first column is 1, the second is 2, ...Blob
object representing the SQL BLOB value in
the specified columnpublic Clob getClob(int i) throws SQLException
ResultSet
object.i
- the first column is 1, the second is 2, ...Clob
object representing the SQL CLOB value in
the specified columnpublic Array getArray(int i) throws SQLException
ResultSet
object.i
- the first column is 1, the second is 2, ...Array
object representing the SQL ARRAY value in
the specified columnpublic Object getObject(String colName, Map map) throws SQLException
Map
object for
custom mapping if appropriate.colName
- the name of the column from which to retrieve the valuemap
- the mapping from SQL type names to Java classespublic Ref getRef(String colName) throws SQLException
colName
- the column nameRef
object representing the SQL REF value in
the specified columnpublic Blob getBlob(String colName) throws SQLException
ResultSet
object.colName
- the name of the column from which to retrieve the valueBlob
object representing the SQL BLOB value in
the specified columnpublic Clob getClob(String colName) throws SQLException
ResultSet
object.colName
- the name of the column from which to retrieve the valueClob
object representing the SQL CLOB value in
the specified columnpublic Array getArray(String colName) throws SQLException
ResultSet
object.colName
- the name of the column from which to retrieve the valueArray
object representing the SQL ARRAY value in
the specified columnpublic Date getDate(int columnIndex, Calendar cal) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...cal
- the calendar to use in constructing the datepublic Date getDate(String columnName, Calendar cal) throws SQLException
columnName
- the SQL name of the column from which to retrieve the valuecal
- the calendar to use in constructing the datepublic Time getTime(int columnIndex, Calendar cal) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...cal
- the calendar to use in constructing the timepublic Time getTime(String columnName, Calendar cal) throws SQLException
columnName
- the SQL name of the columncal
- the calendar to use in constructing the timepublic Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
columnIndex
- the first column is 1, the second is 2, ...cal
- the calendar to use in constructing the timestamppublic Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException
columnName
- the SQL name of the columncal
- the calendar to use in constructing the timestamp
|
JavaTM 2 Platform Standard Edition |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |