|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.sql.rowset.BaseRowSet com.sun.rowset.CachedRowSetImpl
The standard implementation of the CachedRowSet
interface.
See interface defintion for full behaviour and implementation requirements.
This reference implementation has made provision for a one-to-one write back
facility and it is curremtly be possible to change the peristence provider
during the life-time of any CachedRowSetImpl.
Field Summary |
Fields inherited from class javax.sql.rowset.BaseRowSet |
ASCII_STREAM_PARAM, asciiStream, BINARY_STREAM_PARAM, binaryStream, charStream, UNICODE_STREAM_PARAM, unicodeStream |
Fields inherited from interface java.sql.ResultSet |
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE |
Fields inherited from interface javax.sql.rowset.CachedRowSet |
COMMIT_ON_ACCEPT_CHANGES |
Constructor Summary | |
CachedRowSetImpl()
Constructs a new default CachedRowSetImpl object with
the capacity to hold 100 rows. |
|
CachedRowSetImpl(java.util.Hashtable env)
Provides a CachedRowSetImpl instance with the same default properties as
as the zero parameter constructor. |
Method Summary | |
boolean |
absolute(int row)
Moves this CachedRowSetImpl object's cursor to the row number
specified. |
void |
acceptChanges()
Propagates all row update, insert, and delete changes to the underlying data source backing this CachedRowSetImpl
object. |
void |
acceptChanges(java.sql.Connection con)
Propagates all row update, insert, and delete changes to the data source backing this CachedRowSetImpl object
using the given Connection object. |
void |
afterLast()
Moves this CachedRowSetImpl object's cursor to the end of
the rowset, just after the last row. |
void |
beforeFirst()
Moves this CachedRowSetImpl object's cursor to the front of
the rowset, just before the first row. |
void |
cancelRowUpdates()
Rolls back any updates made to the current row of this CachedRowSetImpl object and notifies listeners that
a row has changed. |
void |
clearWarnings()
Clears all the warnings reporeted for the CachedRowSetImpl
object. |
protected java.lang.Object |
clone()
Returns a new RowSet object containing by the same data
as this CachedRowSetImpl object. |
void |
close()
Closes this CachedRowSetImpl objecy and releases any resources
it was using. |
boolean |
columnUpdated(int idx)
Indicates whether the designated column of the current row of this CachedRowSetImpl object has been updated. |
boolean |
columnUpdated(java.lang.String columnName)
Indicates whether the designated column of the current row of this CachedRowSetImpl object has been updated. |
void |
commit()
Commits all changes performed by the acceptChanges()
methods |
CachedRowSet |
createCopy()
Creates a RowSet object that is a deep copy of
this CachedRowSetImpl object's data, including
constraints. |
CachedRowSet |
createCopyNoConstraints()
Creates a CachedRowSet object that is a copy of
this CachedRowSetImpl object's data only. |
CachedRowSet |
createCopySchema()
Creates a RowSet object that is a copy of
this CachedRowSetImpl object's table structure
and the constraints only. |
javax.sql.RowSet |
createShared()
Returns a new RowSet object backed by the same data as
that of this CachedRowSetImpl object and sharing a set of cursors
with it. |
void |
deleteRow()
Deletes the current row from this CachedRowSetImpl object and
notifies listeners registered with this rowset that a row has changed. |
void |
execute()
Populates this CachedRowSetImpl object with data. |
void |
execute(java.sql.Connection conn)
Populates this CachedRowSetImpl object with data,
using the given connection to produce the result set from
which data will be read. |
int |
findColumn(java.lang.String columnName)
Maps the given column name for one of this CachedRowSetImpl
object's columns to its column number. |
boolean |
first()
Moves this CachedRowSetImpl object's cursor to the first row
and returns true if the operation was successful. |
java.sql.Array |
getArray(int columnIndex)
Retrieves the value of the designated column in this CachedRowSetImpl object as an Array object
in the Java programming language. |
java.sql.Array |
getArray(java.lang.String colName)
Retrieves the value of the designated column in this CachedRowSetImpl object as an Array object
in the Java programming langugage. |
java.io.InputStream |
getAsciiStream(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.io.InputStream
object. |
java.io.InputStream |
getAsciiStream(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.io.InputStream
object. |
java.math.BigDecimal |
getBigDecimal(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
java.math.BigDecimal object. |
java.math.BigDecimal |
getBigDecimal(int columnIndex,
int scale)
Deprecated. |
java.math.BigDecimal |
getBigDecimal(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
java.math.BigDecimal object. |
java.math.BigDecimal |
getBigDecimal(java.lang.String columnName,
int scale)
Deprecated. Use the getBigDecimal(String columnName)
method instead |
java.io.InputStream |
getBinaryStream(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.io.InputStream
object. |
java.io.InputStream |
getBinaryStream(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.io.InputStream
object. |
java.sql.Blob |
getBlob(int columnIndex)
Retrieves the value of the designated column in this CachedRowSetImpl object as a Blob object
in the Java programming language. |
java.sql.Blob |
getBlob(java.lang.String colName)
Retrieves the value of the designated column in this CachedRowSetImpl 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 CachedRowSetImpl object as a
boolean value. |
boolean |
getBoolean(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a boolean value. |
byte |
getByte(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
byte value. |
byte |
getByte(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a byte value. |
byte[] |
getBytes(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
byte array value. |
byte[] |
getBytes(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a byte array. |
java.io.Reader |
getCharacterStream(int columnIndex)
Retrieves the value stored in the designated column of the current row as a java.io.Reader object. |
java.io.Reader |
getCharacterStream(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a java.io.Reader object. |
java.sql.Clob |
getClob(int columnIndex)
Retrieves the value of the designated column in this CachedRowSetImpl object as a Clob object
in the Java programming language. |
java.sql.Clob |
getClob(java.lang.String colName)
Retrieves the value of the designated column in this CachedRowSetImpl object as a Clob object
in the Java programming language. |
java.sql.Connection |
getConnection()
Retrieves the Connection object passed to this
CachedRowSetImpl object. |
protected BaseRow |
getCurrentRow()
Returns the insert row or the current row of this CachedRowSetImpl object. |
java.lang.String |
getCursorName()
Retrieves the name of the SQL cursor used by this CachedRowSetImpl object. |
java.sql.Date |
getDate(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
java.sql.Date object. |
java.sql.Date |
getDate(int columnIndex,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Date
object, using the given Calendar object to construct an
appropriate millisecond value for the date. |
java.sql.Date |
getDate(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a java.sql.Date object. |
java.sql.Date |
getDate(java.lang.String columnName,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Date
object, using the given Calendar object to construct an
appropriate millisecond value for the date. |
double |
getDouble(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
double value. |
double |
getDouble(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row of this CachedRowSetImpl object
as a double value. |
float |
getFloat(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
float value. |
float |
getFloat(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a float value. |
int |
getInt(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as an
int value. |
int |
getInt(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as an int value. |
int[] |
getKeyColumns()
Returns the columns that make a key to uniquely identify a row in this CachedRowSetImpl object. |
long |
getLong(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
long value. |
long |
getLong(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a long value. |
int[] |
getMatchColumnIndexes()
Retrieves the column id as int array that was set using
setMatchColumn(int []) for this rowset. |
java.lang.String[] |
getMatchColumnNames()
Retrieves the column name as String array
that was set using setMatchColumn(String [])
for this rowset. |
java.sql.ResultSetMetaData |
getMetaData()
Retrieves a ResultSetMetaData object instance that
contains information about the CachedRowSet object. |
java.lang.Object |
getObject(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as an
Object value. |
java.lang.Object |
getObject(int columnIndex,
java.util.Map map)
Retrieves the value of the designated column in this CachedRowSetImpl object as an Object in
the Java programming language, using the given
java.util.Map object to custom map the value if
appropriate. |
java.lang.Object |
getObject(java.lang.String columnName)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as an
Object value. |
java.lang.Object |
getObject(java.lang.String columnName,
java.util.Map map)
Retrieves the value of the designated column in this CachedRowSetImpl object as an Object in
the Java programming language, using the given
java.util.Map object to custom map the value if
appropriate. |
java.sql.ResultSet |
getOriginal()
Returns a result set containing the original value of the rowset. |
java.sql.ResultSet |
getOriginalRow()
Returns a result set containing the original value of the current row only. |
int |
getPageSize()
This is the getter function for the size of the page. |
java.sql.Ref |
getRef(int columnIndex)
Retrieves the value of the designated column in this CachedRowSetImpl object as a Ref object
in the Java programming language. |
java.sql.Ref |
getRef(java.lang.String colName)
Retrieves the value of the designated column in this CachedRowSetImpl object as a Ref object
in the Java programming language. |
int |
getRow()
Returns the number of the current row in this CachedRowSetImpl
object. |
RowSetWarning |
getRowSetWarnings()
The first warning reported by calls on this CachedRowSetImpl
object is returned. |
short |
getShort(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
short value. |
short |
getShort(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a short value. |
java.sql.Statement |
getStatement()
Returns null . |
java.lang.String |
getString(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
String object. |
java.lang.String |
getString(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a String object. |
SyncProvider |
getSyncProvider()
Returns the SyncProvider implementation being used
with this CachedRowSetImpl implementation rowset. |
java.lang.String |
getTableName()
Returns an identifier for the object (table) that was used to create this rowset. |
java.sql.Time |
getTime(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
java.sql.Time object. |
java.sql.Time |
getTime(int columnIndex,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Time
object, using the given Calendar object to construct an
appropriate millisecond value for the date. |
java.sql.Time |
getTime(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a java.sql.Time object. |
java.sql.Time |
getTime(java.lang.String columnName,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Time
object, using the given Calendar object to construct an
appropriate millisecond value for the date. |
java.sql.Timestamp |
getTimestamp(int columnIndex)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
java.sql.Timestamp object. |
java.sql.Timestamp |
getTimestamp(int columnIndex,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Timestamp
object, using the given Calendar object to construct an
appropriate millisecond value for the date. |
java.sql.Timestamp |
getTimestamp(java.lang.String columnName)
Retrieves the value stored in the designated column of the current row as a java.sql.Timestamp object. |
java.sql.Timestamp |
getTimestamp(java.lang.String columnName,
java.util.Calendar cal)
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a
java.sql.Timestamp object, using the given
Calendar object to construct an appropriate
millisecond value for the date. |
java.io.InputStream |
getUnicodeStream(int columnIndex)
Deprecated. |
java.io.InputStream |
getUnicodeStream(java.lang.String columnName)
Deprecated. use the method getCharacterStream instead |
java.net.URL |
getURL(int columnIndex)
Retrieves the value of the designated column in this CachedRowSetImpl object as a java.net.URL object
in the Java programming language. |
java.net.URL |
getURL(java.lang.String columnName)
Retrieves the value of the designated column in this CachedRowSetImpl object as a java.net.URL object
in the Java programming language. |
java.sql.SQLWarning |
getWarnings()
The first warning reported by calls on this CachedRowSetImpl
object is returned. |
void |
insertRow()
Inserts the contents of this CachedRowSetImpl object's insert
row into this rowset immediately following the current row. |
protected boolean |
internalFirst()
Moves this CachedRowSetImpl object's cursor to the first
row and returns true if the operation is successful. |
protected boolean |
internalLast()
Moves this CachedRowSetImpl object's cursor to the last
row and returns true if the operation is successful. |
protected boolean |
internalNext()
Moves this CachedRowSetImpl object's cursor to the next
row and returns true if the cursor is still in the rowset;
returns false if the cursor has moved to the position after
the last row. |
protected boolean |
internalPrevious()
Moves the cursor to the previous row in this CachedRowSetImpl
object, skipping past deleted rows that are not visible; returns
true if the cursor is on a row in this rowset and
false when the cursor goes before the first row. |
boolean |
isAfterLast()
Indicates whether the cursor is after the last row in this CachedRowSetImpl object. |
boolean |
isBeforeFirst()
Indicates whether the cursor is before the first row in this CachedRowSetImpl object. |
boolean |
isFirst()
Indicates whether the cursor is on the first row in this CachedRowSetImpl object. |
boolean |
isLast()
Indicates whether the cursor is on the last row in this CachedRowSetImpl object. |
boolean |
last()
Moves this CachedRowSetImpl object's cursor to the last row
and returns true if the operation was successful. |
void |
moveToCurrentRow()
Moves the cursor for this CachedRowSetImpl object to
the current row. |
void |
moveToInsertRow()
Moves the cursor for this CachedRowSetImpl object
to the insert row. |
boolean |
next()
Moves the cursor down one row from its current position and returns true if the new cursor position is a
valid row. |
boolean |
nextPage()
The nextPage gets the next page, that is a CachedRowSetImpl object
containing the number of rows specified by page size. |
void |
populate(java.sql.ResultSet data)
Populates this CachedRowSetImpl object with data from
the given ResultSet object. |
void |
populate(java.sql.ResultSet data,
int start)
Populates this CachedRowSet object with data from
the given ResultSet object. |
boolean |
previous()
Moves this CachedRowSetImpl object's cursor to the
previous row and returns true if the cursor is on
a valid row or false if it is not. |
boolean |
previousPage()
Retrieves the data present in the page prior to the page from where it is called. |
void |
refreshRow()
Sets the current row with its original value and marks the row as not updated, thus undoing any changes made to the row since the last call to the methods updateRow or deleteRow . |
boolean |
relative(int rows)
Moves the cursor the specified number of rows from the current position, with a positive number moving it forward and a negative number moving it backward. |
void |
release()
Releases the current contents of this CachedRowSetImpl
object and sends a rowSetChanged event object to all
registered listeners. |
protected void |
removeCurrentRow()
Removes the row on which the cursor is positioned. |
void |
restoreOriginal()
Restores this CachedRowSetImpl object to its original state,
that is, its state before the last set of changes. |
void |
rollback()
Rolls back all changes performed by the acceptChanges()
methods |
void |
rollback(java.sql.Savepoint s)
Rolls back all changes performed by the acceptChanges()
to the last Savepoint transaction marker. |
boolean |
rowDeleted()
Indicates whether the current row has been deleted. |
boolean |
rowInserted()
Indicates whether the current row has been inserted. |
void |
rowSetPopulated(javax.sql.RowSetEvent event,
int numRows)
Notifies registered listeners that a RowSet object in the given RowSetEvent object has populated a number of additional rows. |
boolean |
rowUpdated()
Indicates whether the current row of this CachedRowSetImpl
object has been updated. |
void |
setCommand(java.lang.String cmd)
Sets this CachedRowSetImpl object's command property
to the given String object and clears the parameters,
if any, that were set for the previous command. |
void |
setKeyColumns(int[] keys)
Sets this CachedRowSetImpl object's
keyCols field with the given array of column
numbers, which forms a key for uniquely identifying a row
in this rowset. |
void |
setMatchColumn(int columnIdx)
Sets the designated parameter to the given int
object. |
void |
setMatchColumn(int[] columnIdxes)
Sets the designated parameter to the given int array. |
void |
setMatchColumn(java.lang.String columnName)
Sets the designated parameter to the given String
object. |
void |
setMatchColumn(java.lang.String[] columnNames)
Sets the designated parameter to the given String array. |
void |
setMetaData(javax.sql.RowSetMetaData md)
Sets the metadata for this CachedRowSetImpl object
with the given RowSetMetaData object. |
void |
setOriginal()
Marks all rows in this rowset as being original rows. |
void |
setOriginalRow()
Marks the current row in this rowset as being an original row. |
void |
setPageSize(int size)
This is the setter function for setting the size of the page, which specifies how many rows have to be retrived at a time. |
void |
setSyncProvider(java.lang.String providerStr)
Sets the active SyncProvider and attempts to load
load the new provider using the SyncFactory SPI. |
void |
setTableName(java.lang.String tabName)
Sets the identifier for the table from which this rowset was derived to the given table name. |
int |
size()
Returns the number of rows in this CachedRowSetImpl object. |
java.util.Collection |
toCollection()
Converts this CachedRowSetImpl object to a collection
of tables. |
java.util.Collection |
toCollection(int column)
Returns the specified column of this CachedRowSetImpl object
as a Collection object. |
java.util.Collection |
toCollection(java.lang.String column)
Returns the specified column of this CachedRowSetImpl object
as a Collection object. |
void |
undoDelete()
Cancels deletion of the current row and notifies listeners that a row has changed. |
void |
undoInsert()
Immediately removes the current row from this CachedRowSetImpl object if the row has been inserted, and
also notifies listeners the a row has changed. |
void |
undoUpdate()
Immediately reverses the last update operation if the row has been modified. |
void |
unsetMatchColumn(int columnIdx)
Unsets the designated parameter to the given int
object. |
void |
unsetMatchColumn(int[] columnIdxes)
Unsets the designated parameter to the given int array. |
void |
unsetMatchColumn(java.lang.String columnName)
Unsets the designated parameter to the given String
object. |
void |
unsetMatchColumn(java.lang.String[] columnIdxes)
Unsets the designated parameter to the given String array. |
void |
updateArray(int columnIndex,
java.sql.Array a)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.sql.Array values. |
void |
updateArray(java.lang.String columnName,
java.sql.Array a)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.sql.Array value. |
void |
updateAsciiStream(int columnIndex,
java.io.InputStream x,
int length)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
ASCII stream value. |
void |
updateAsciiStream(java.lang.String columnName,
java.io.InputStream x,
int length)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
ASCII stream value. |
void |
updateBigDecimal(int columnIndex,
java.math.BigDecimal x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.math.BigDecimal object. |
void |
updateBigDecimal(java.lang.String columnName,
java.math.BigDecimal x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.math.BigDecimal object. |
void |
updateBinaryStream(int columnIndex,
java.io.InputStream x,
int length)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.io.InputStream object. |
void |
updateBinaryStream(java.lang.String columnName,
java.io.InputStream x,
int length)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.io.InputStream object. |
void |
updateBlob(int columnIndex,
java.sql.Blob b)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.sql.Blob value. |
void |
updateBlob(java.lang.String columnName,
java.sql.Blob b)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.sql.Blob value. |
void |
updateBoolean(int columnIndex,
boolean x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
boolean value. |
void |
updateBoolean(java.lang.String columnName,
boolean x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
boolean value. |
void |
updateByte(int columnIndex,
byte x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
byte value. |
void |
updateByte(java.lang.String columnName,
byte x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
byte value. |
void |
updateBytes(int columnIndex,
byte[] x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
byte array. |
void |
updateBytes(java.lang.String columnName,
byte[] x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
byte array. |
void |
updateCharacterStream(int columnIndex,
java.io.Reader x,
int length)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.io.Reader object. |
void |
updateCharacterStream(java.lang.String columnName,
java.io.Reader reader,
int length)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
java.io.Reader object. |
void |
updateClob(int columnIndex,
java.sql.Clob c)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
double value. |
void |
updateClob(java.lang.String columnName,
java.sql.Clob c)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
double value. |
void |
updateDate(int columnIndex,
java.sql.Date x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Date object. |
void |
updateDate(java.lang.String columnName,
java.sql.Date x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Date object. |
void |
updateDouble(int columnIndex,
double x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
double value. |
void |
updateDouble(java.lang.String columnName,
double x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
double value. |
void |
updateFloat(int columnIndex,
float x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
float value. |
void |
updateFloat(java.lang.String columnName,
float x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
float value. |
void |
updateInt(int columnIndex,
int x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
int value. |
void |
updateInt(java.lang.String columnName,
int x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
int value. |
void |
updateLong(int columnIndex,
long x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
long value. |
void |
updateLong(java.lang.String columnName,
long x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
long value. |
void |
updateNull(int columnIndex)
Sets the designated nullable column in the current row or the insert row of this CachedRowSetImpl object with
null value. |
void |
updateNull(java.lang.String columnName)
Sets the designated nullable column in the current row or the insert row of this CachedRowSetImpl object with
null value. |
void |
updateObject(int columnIndex,
java.lang.Object x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Object value. |
void |
updateObject(int columnIndex,
java.lang.Object x,
int scale)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Object value. |
void |
updateObject(java.lang.String columnName,
java.lang.Object x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Object value. |
void |
updateObject(java.lang.String columnName,
java.lang.Object x,
int scale)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Object value. |
void |
updateRef(int columnIndex,
java.sql.Ref ref)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Ref value. |
void |
updateRef(java.lang.String columnName,
java.sql.Ref ref)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
double value. |
void |
updateRow()
Marks the current row of this CachedRowSetImpl object as
updated and notifies listeners registered with this rowset that the
row has changed. |
void |
updateShort(int columnIndex,
short x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
short value. |
void |
updateShort(java.lang.String columnName,
short x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
short value. |
void |
updateString(int columnIndex,
java.lang.String x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
String object. |
void |
updateString(java.lang.String columnName,
java.lang.String x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
String object. |
void |
updateTime(int columnIndex,
java.sql.Time x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Time object. |
void |
updateTime(java.lang.String columnName,
java.sql.Time x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Time object. |
void |
updateTimestamp(int columnIndex,
java.sql.Timestamp x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Timestamp object. |
void |
updateTimestamp(java.lang.String columnName,
java.sql.Timestamp x)
Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given
Timestamp object. |
boolean |
wasNull()
Reports whether the last column read was SQL NULL . |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.sql.RowSet |
addRowSetListener, clearParameters, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setBigDecimal, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setClob, setConcurrency, setDataSourceName, setDate, setDate, setDouble, setEscapeProcessing, setFloat, setInt, setLong, setMaxFieldSize, setMaxRows, setNull, setNull, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUrl, setUsername |
Methods inherited from interface java.sql.ResultSet |
getConcurrency, getFetchDirection, getFetchSize, getType, setFetchDirection, setFetchSize |
Methods inherited from interface javax.sql.RowSetInternal |
getParams |
Methods inherited from interface javax.sql.rowset.CachedRowSet |
getShowDeleted, setShowDeleted |
Constructor Detail |
public CachedRowSetImpl() throws java.sql.SQLException
CachedRowSetImpl
object with
the capacity to hold 100 rows. This new object has no metadata
and has the following default values:
onInsertRow = false insertRow = null cursorPos = 0 numRows = 0 showDeleted = false queryTimeout = 0 maxRows = 0 maxFieldSize = 0 rowSetType = ResultSet.TYPE_SCROLL_INSENSITIVE concurrency = ResultSet.CONCUR_UPDATABLE readOnly = false isolation = Connection.TRANSACTION_READ_COMMITTED escapeProcessing = true onInsertRow = false insertRow = null cursorPos = 0 absolutePos = 0 numRows = 0A
CachedRowSetImpl
object is configured to use the default
RIOptimisticProvider
implementation to provide connectivity
and synchronization capabilities to the set data source.
java.sql.SQLException
- if an error occurspublic CachedRowSetImpl(java.util.Hashtable env) throws java.sql.SQLException
CachedRowSetImpl
instance with the same default properties as
as the zero parameter constructor.
onInsertRow = false insertRow = null cursorPos = 0 numRows = 0 showDeleted = false queryTimeout = 0 maxRows = 0 maxFieldSize = 0 rowSetType = ResultSet.TYPE_SCROLL_INSENSITIVE concurrency = ResultSet.CONCUR_UPDATABLE readOnly = false isolation = Connection.TRANSACTION_READ_COMMITTED escapeProcessing = true onInsertRow = false insertRow = null cursorPos = 0 absolutePos = 0 numRows = 0However, applications will have the means to specify at runtime the desired
SyncProvider
object.
For example, creating a CachedRowSetImpl
object as follows ensures
that a it is established with the com.foo.provider.Impl
synchronization
implementation providing the synchronization mechanism for this disconnected
RowSet
object.
Hashtable env = new Hashtable(); env.put(javax.sql.rowset.spi.SyncFactory.ROWSET_PROVIDER_NAME, "com.foo.provider.Impl"); CachedRowSetImpl crs = new CachedRowSet(env);
Calling this constructor with a null
parameter will
cause the SyncFactory
to provide the reference
optimistic provider com.sun.rowset.providers.RIOptimisticProvider
.
In addition, the following properties can be associated with the provider to assist in determining the choice of the synchronizaton provider such as:
ROWSET_SYNC_PROVIDER
- the property specifying the the
SyncProvider
class name to be instantiated by the
SyncFacttory
ROWSET_SYNC_VENDOR
- the property specifying the software
vendor associated with a SyncProvider
implementation.
ROWSET_SYNC_PROVIDER_VER
- the property specifying the
version of the SyncProvider
implementation provided by the
software vendor.
SyncFactory
and SyncProvider
specificiations later in this document.
env
- a Hashtable
object with a list of desired
synchronization providers
java.sql.SQLException
- if the requested provider cannot be found by the
synchonization factorySyncProvider
Method Detail |
public void setCommand(java.lang.String cmd) throws java.sql.SQLException
CachedRowSetImpl
object's command property
to the given String
object and clears the parameters,
if any, that were set for the previous command.
The command property may not be needed
if the rowset is produced by a data source, such as a spreadsheet,
that does not support commands. Thus, this property is optional
and may be null
.
setCommand
in interface javax.sql.RowSet
setCommand
in class BaseRowSet
cmd
- a String
object containing an SQL query
that will be set as the command; may be null
java.sql.SQLException
- if an error occursBaseRowSet.getCommand()
public void populate(java.sql.ResultSet data) throws java.sql.SQLException
CachedRowSetImpl
object with data from
the given ResultSet
object. This
method is an alternative to the method execute
for filling the rowset with data. The method populate
does not require that the properties needed by the method
execute
, such as the command
property,
be set. This is true because the method populate
is given the ResultSet
object from
which to get data and thus does not need to use the properties
required for setting up a connection and executing this
CachedRowSetImpl
object's command.
After populating this rowset with data, the method
populate
sets the rowset's metadata and
then sends a RowSetChangedEvent
object
to all registered listeners prior to returning.
populate
in interface CachedRowSet
data
- the ResultSet
object containing the data
to be read into this CachedRowSetImpl
object
java.sql.SQLException
- if an error occurs; or the max row setting is
violated while populating the RowSetexecute(java.sql.Connection)
public void execute(java.sql.Connection conn) throws java.sql.SQLException
CachedRowSetImpl
object with data,
using the given connection to produce the result set from
which data will be read. A second form of this method,
which takes no arguments, uses the values from this rowset's
user, password, and either url or data source properties to
create a new database connection. The form of execute
that is given a connection ignores these properties.
execute
in interface CachedRowSet
conn
- A standard JDBC Connection
object that this
CachedRowSet
object can pass to a synchronization provider
to establish a connection to the data source
java.sql.SQLException
- if an invalid Connection
is supplied
or an error occurs in establishing the connection to the
data sourcepopulate(java.sql.ResultSet)
,
Connection
public void acceptChanges() throws SyncProviderException
CachedRowSetImpl
object.
NoteIn the reference implementation an optimistic concurrency implementation
is provided as a sample implementation of a the SyncProvider
abstract class.
This method fails if any of the updates cannot be propagated back to the data source. When it fails, the caller can assume that none of the updates are reflected in the data source. When an exception is thrown, the current row is set to the first "updated" row that resulted in an exception unless the row that caused the exception is a "deleted" row. In that case, when deleted rows are not shown, which is usually true, the current row is not affected.
If no SyncProvider
is configured, the reference implementation
leverages the RIOptimisticProvider
available which provides the
default and reference synchronization capabilities for disconnected
RowSets
.
acceptChanges
in interface CachedRowSet
java.sql.SQLException
- if the cursor is on the insert row or the underlying
reference synchronization provider fails to commit the updates
to the datasource
SyncProviderException
- if an internal error occurs within the
SyncProvider
instance during either during the
process or at any time when the SyncProvider
instance touches the data source.acceptChanges(java.sql.Connection)
,
RowSetWriter
,
SyncProvider
public void acceptChanges(java.sql.Connection con) throws SyncProviderException
CachedRowSetImpl
object
using the given Connection
object.
The reference implementation RIOptimisticProvider
modifies its synchronization to a write back function given
the updated connection
The reference implementation modifies its synchronization behaviour
via the SyncProvider
to ensure the synchronization
occurs according to the updated JDBC Connection
properties.
acceptChanges
in interface CachedRowSet
con
- a standard JDBC Connection
object
java.sql.SQLException
- if the cursor is on the insert row or the underlying
synchronization provider fails to commit the updates
back to the data source
SyncProviderException
- if the underlying
synchronization provider's writer fails to write the updates
back to the data sourceacceptChanges()
,
RowSetWriter
,
SyncFactory
,
SyncProvider
public void restoreOriginal() throws java.sql.SQLException
CachedRowSetImpl
object to its original state,
that is, its state before the last set of changes.
Before returning, this method moves the cursor before the first row
and sends a rowSetChanged
event to all registered
listeners.
restoreOriginal
in interface CachedRowSet
java.sql.SQLException
- if an error is occurs rolling back the RowSet
state to the definied original value.RowSetListener.rowSetChanged(javax.sql.RowSetEvent)
public void release() throws java.sql.SQLException
CachedRowSetImpl
object and sends a rowSetChanged
event object to all
registered listeners.
release
in interface CachedRowSet
java.sql.SQLException
- if an error occurs flushing the contents of
RowSet.RowSetListener.rowSetChanged(javax.sql.RowSetEvent)
public void undoDelete() throws java.sql.SQLException
Note: This method can be ignored if deleted rows are not being shown, which is the normal case.
undoDelete
in interface CachedRowSet
java.sql.SQLException
- if the cursor is not on a valid rowCachedRowSet.undoInsert()
,
ResultSet.cancelRowUpdates()
public void undoInsert() throws java.sql.SQLException
CachedRowSetImpl
object if the row has been inserted, and
also notifies listeners the a row has changed. An exception is thrown
if the row is not a row that has been inserted or the cursor is before
the first row, after the last row, or on the insert row.
This operation cannot be undone.
undoInsert
in interface CachedRowSet
java.sql.SQLException
- if an error occurs,
the cursor is not on a valid row,
or the row has not been insertedCachedRowSet.undoDelete()
,
ResultSet.cancelRowUpdates()
public void undoUpdate() throws java.sql.SQLException
acceptChanges
) or population. This method may also be called
while performing updates to the insert row.
undoUpdate
undoUpdate
in interface CachedRowSet
java.sql.SQLException
- if cursor is before the first row, after the last
row in rowset.undoDelete()
,
undoInsert()
,
ResultSet.cancelRowUpdates()
public javax.sql.RowSet createShared() throws java.sql.SQLException
RowSet
object backed by the same data as
that of this CachedRowSetImpl
object and sharing a set of cursors
with it. This allows cursors to interate over a shared set of rows, providing
multiple views of the underlying data.
createShared
in interface CachedRowSet
RowSet
object that is a copy of this CachedRowSetImpl
object and shares a set of cursors with it
java.sql.SQLException
- if an error occurs or cloning is
not supportedRowSetEvent
,
RowSetListener
protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
RowSet
object containing by the same data
as this CachedRowSetImpl
object. This method
differs from the method createCopy
in that it throws a
CloneNotSupportedException
object instead of an
SQLException
object, as the method createShared
does. This clone
method is called internally by the method createShared
,
which catches the CloneNotSupportedException
object
and in turn throws a new SQLException
object.
CachedRowSetImpl
object
java.lang.CloneNotSupportedException
- if an error occurs when
attempting to clone this CachedRowSetImpl
objectcreateShared()
public CachedRowSet createCopy() throws java.sql.SQLException
RowSet
object that is a deep copy of
this CachedRowSetImpl
object's data, including
constraints. Updates made
on a copy are not visible to the original rowset;
a copy of a rowset is completely independent from the original.
Making a copy saves the cost of creating an identical rowset from first principles, which can be quite expensive. For example, it can eliminate the need to query a remote database server.
createCopy
in interface CachedRowSet
CachedRowSet
object that is a deep copy
of this CachedRowSet
object and is
completely independent from this CachedRowSetImpl
object.
java.sql.SQLException
- if an error occurs in generating the copy of this
of the CachedRowSetImpl
createShared()
,
RowSetEvent
,
RowSetListener
public CachedRowSet createCopySchema() throws java.sql.SQLException
RowSet
object that is a copy of
this CachedRowSetImpl
object's table structure
and the constraints only.
There will be no data in the object being returned.
Updates made on a copy are not visible to the original rowset.
This helps in getting the underlying XML schema which can
be used as the basis for populating a WebRowSet
.
createCopySchema
in interface CachedRowSet
CachedRowSet
object that is a copy
of this CachedRowSetImpl
object's schema and
retains all the constraints on the original rowset but contains
no data
java.sql.SQLException
- if an error occurs in generating the copy
of the CachedRowSet
objectcreateShared()
,
createCopy()
,
createCopyNoConstraints()
,
RowSetEvent
,
RowSetListener
public CachedRowSet createCopyNoConstraints() throws java.sql.SQLException
CachedRowSet
object that is a copy of
this CachedRowSetImpl
object's data only.
All constraints set in this object will not be there
in the returning object. Updates made
on a copy are not visible to the original rowset.
createCopyNoConstraints
in interface CachedRowSet
CachedRowSet
object that is a deep copy
of this CachedRowSetImpl
object and is
completely independent from this CachedRowSetImpl
object
java.sql.SQLException
- if an error occurs in generating the copy of the
of the CachedRowSet
createShared()
,
createCopy()
,
createCopySchema()
,
RowSetEvent
,
RowSetListener
public java.util.Collection toCollection() throws java.sql.SQLException
CachedRowSetImpl
object to a collection
of tables. The sample implementation utilitizes the TreeMap
collection type.
This class guarantees that the map will be in ascending key order,
sorted according to the natural order for the key's class.
toCollection
in interface CachedRowSet
Collection
object consisting of tables,
each of which is a copy of a row in this
CachedRowSetImpl
object
java.sql.SQLException
- if an error occurs in generating the collectiontoCollection(int)
,
toCollection(String)
,
TreeMap
public java.util.Collection toCollection(int column) throws java.sql.SQLException
CachedRowSetImpl
object
as a Collection
object. This method makes a copy of the
column's data and utilitizes the Vector
to establish the
collection. The Vector
class implements a growable array
objects allowing the individual components to be accessed using an
an integer index similar to that of an array.
toCollection
in interface CachedRowSet
column
- an int
indicating the column whose values
are to be represented in a Collection
object
Collection
object that contains the value(s)
stored in the specified column of this
CachedRowSetImpl
object
java.sql.SQLException
- if an error occurs generated the collection; or
an invalid column is provided.toCollection()
,
toCollection(String)
,
Vector
public java.util.Collection toCollection(java.lang.String column) throws java.sql.SQLException
CachedRowSetImpl
object
as a Collection
object. This method makes a copy of the
column's data and utilitizes the Vector
to establish the
collection. The Vector
class implements a growable array
objects allowing the individual components to be accessed using an
an integer index similar to that of an array.
toCollection
in interface CachedRowSet
column
- a String
object giving the name of the
column whose values are to be represented in a collection
Collection
object that contains the value(s)
stored in the specified column of this
CachedRowSetImpl
object
java.sql.SQLException
- if an error occurs generated the collection; or
an invalid column is provided.toCollection()
,
toCollection(int)
,
Vector
public SyncProvider getSyncProvider() throws java.sql.SQLException
SyncProvider
implementation being used
with this CachedRowSetImpl
implementation rowset.
getSyncProvider
in interface CachedRowSet
java.sql.SQLException
- if error occurs while return the
SyncProvider
instance.CachedRowSet.setSyncProvider(java.lang.String)
public void setSyncProvider(java.lang.String providerStr) throws java.sql.SQLException
SyncProvider
and attempts to load
load the new provider using the SyncFactory
SPI.
setSyncProvider
in interface CachedRowSet
providerStr
- a String
object giving the fully qualified class
name of a SyncProvider
implementation
java.sql.SQLException
- if an error occurs while resetting the
SyncProvider
.CachedRowSet.getSyncProvider()
public void execute() throws java.sql.SQLException
CachedRowSetImpl
object with data.
This form of the method uses the rowset's user, password, and url or
data source name properties to create a database
connection. If properties that are needed
have not been set, this method will throw an exception.
Another form of this method uses an existing JDBC Connection
object instead of creating a new one; therefore, it ignores the
properties used for establishing a new connection.
The query specified by the command property is executed to create a
ResultSet
object from which to retrieve data.
The current contents of the rowset are discarded, and the
rowset's metadata is also (re)set. If there are outstanding updates,
they are also ignored.
The method execute
closes any database connections that it
creates.
execute
in interface javax.sql.RowSet
java.sql.SQLException
- if an error occurs or the
necessary properties have not been setpublic boolean next() throws java.sql.SQLException
true
if the new cursor position is a
valid row.
The cursor for a new ResultSet
object is initially
positioned before the first row. The first call to the method
next
moves the cursor to the first row, making it
the current row; the second call makes the second row the
current row, and so on.
If an input stream from the previous row is open, it is
implicitly closed. The ResultSet
object's warning
chain is cleared when a new row is read.
next
in interface java.sql.ResultSet
true
if the new current row is valid;
false
if there are no more rows
java.sql.SQLException
- if an error occurs or
the cursor is not positioned in the rowset, before
the first row, or after the last rowprotected boolean internalNext() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the next
row and returns true
if the cursor is still in the rowset;
returns false
if the cursor has moved to the position after
the last row.
This method handles the cases where the cursor moves to a row that has been deleted. If this rowset shows deleted rows and the cursor moves to a row that has been deleted, this method moves the cursor to the next row until the cursor is on a row that has not been deleted.
The method internalNext
is called by methods such as
next
, absolute
, and relative
,
and, as its name implies, is only called internally.
This is a implementation only method and is not required as a standard
implementation of the CachedRowSet
interface.
true
if the cursor is on a valid row in this
rowset; false
if it is after the last row
java.sql.SQLException
- if an error occurspublic void close() throws java.sql.SQLException
CachedRowSetImpl
objecy and releases any resources
it was using.
close
in interface java.sql.ResultSet
java.sql.SQLException
- if an error occurs when releasing any resources in use
by this CachedRowSetImpl
objectpublic boolean wasNull() throws java.sql.SQLException
NULL
.
Note that you must first call the method getXXX
on a column to try to read its value and then call the method
wasNull
to determine whether the value was
SQL NULL
.
wasNull
in interface java.sql.ResultSet
true
if the value in the last column read
was SQL NULL
; false
otherwise
java.sql.SQLException
- if an error occursprotected BaseRow getCurrentRow()
CachedRowSetImpl
object.
Row
object on which this CachedRowSetImpl
objects's cursor is positionedprotected void removeCurrentRow()
This is a implementation only method and is not required as a standard
implementation of the CachedRowSet
interface.
java.sql.SQLException
- if the cursor is positioned on the insert
rowpublic java.lang.String getString(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
String
object.
getString
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is null
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL,
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return type.public boolean getBoolean(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
boolean
value.
getBoolean
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
boolean
in the Java progamming language;
if the value is SQL NULL
, the result is false
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL BOOLEAN
valuegetBoolean(String)
public byte getByte(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
byte
value.
getByte
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
byte
in the Java programming
language; if the value is SQL NULL
, the result is 0
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL,
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type
designates the recommended return type.getByte(String)
public short getShort(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
short
value.
getShort
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is 0
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return type.getShort(String)
public int getInt(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as an
int
value.
getInt
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is 0
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return type.public long getLong(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
long
value.
getLong
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is 0
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return type.getLong(String)
public float getFloat(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
float
value.
getFloat
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is 0
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL,
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return type.getFloat(String)
public double getDouble(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
double
value.
getDouble
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is 0
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL,
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return type.getDouble(String)
public java.math.BigDecimal getBigDecimal(int columnIndex, int scale) throws java.sql.SQLException
CachedRowSetImpl
object as a
java.math.BigDecimal
object.
This method is deprecated; use the version of getBigDecimal
that does not take a scale parameter and returns a value with full
precision.
getBigDecimal
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowsetscale
- the number of digits to the right of the decimal point in the
value returned
NULL
, the
result is null
java.sql.SQLException
- if the given column index is out of bounds,
the cursor is not on a valid row, or this method failspublic byte[] getBytes(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
byte
array value.
getBytes
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
byte
array in the Java programming
language; if the value is SQL NULL
, the
result is null
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL BINARY, VARBINARY or
LONGVARBINARY
value.
The bold SQL type designates the recommended return type.getBytes(String)
public java.sql.Date getDate(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
java.sql.Date
object.
getDate
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
java.sql.Data
object; if
the value is SQL NULL
, the
result is null
java.sql.SQLException
- if the given column index is out of bounds,
the cursor is not on a valid row, or this method failspublic java.sql.Time getTime(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
java.sql.Time
object.
getTime
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is null
java.sql.SQLException
- if the given column index is out of bounds,
the cursor is not on a valid row, or this method failspublic java.sql.Timestamp getTimestamp(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
java.sql.Timestamp
object.
getTimestamp
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
, the
result is null
java.sql.SQLException
- if the given column index is out of bounds,
the cursor is not on a valid row, or this method failspublic java.io.InputStream getAsciiStream(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a java.io.InputStream
object.
A column value can be retrieved as a stream of ASCII characters
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARCHAR
values. The JDBC
driver will do any necessary conversion from the database format into ASCII.
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. . Also, a
stream may return 0
for CachedRowSetImpl.available()
whether there is data available or not.
getAsciiStream
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowset
NULL
, the result is null
.
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL CHAR, VARCHAR
, LONGVARCHAR
BINARY, VARBINARY
or LONGVARBINARY
value. The
bold SQL type designates the recommended return types that this method is
used to retrieve.getAsciiStream(String)
public java.io.InputStream getUnicodeStream(int columnIndex) throws java.sql.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 for available() whether there is data available or not.
getUnicodeStream
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowset
java.sql.SQLException
- if an error occurspublic java.io.InputStream getBinaryStream(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a java.io.InputStream
object.
A column value can be retrieved as a stream of uninterpreted bytes
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARBINARY
values.
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0
for
CachedRowSetImpl.available()
whether there is data
available or not.
getBinaryStream
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
NULL
then the result is null
.
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL BINARY, VARBINARY
or LONGVARBINARY
The bold type indicates the SQL type that this method is recommened
to retrieve.getBinaryStream(String)
public java.lang.String getString(java.lang.String columnName) throws java.sql.SQLException
String
object.
getString
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR,
VARCHAR
or LONGVARCHAR<
value. The bold SQL type
designates the recommended return type.public boolean getBoolean(java.lang.String columnName) throws java.sql.SQLException
boolean
value.
getBoolean
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
boolean
in the Java programming
language; if the value is SQL NULL
,
the result is false
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL BOOLEAN
valuegetBoolean(int)
public byte getByte(java.lang.String columnName) throws java.sql.SQLException
byte
value.
getByte
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
byte
in the Java programming
language; if the value is SQL NULL
, the result is 0
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER,
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR,
VARCHAR
or LONGVARCHAR
value. The
bold type designates the recommended return typepublic short getShort(java.lang.String columnName) throws java.sql.SQLException
short
value.
getShort
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is 0
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR,
VARCHAR
or LONGVARCHAR
value. The bold SQL type
designates the recommended return type.getShort(int)
public int getInt(java.lang.String columnName) throws java.sql.SQLException
int
value.
getInt
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is 0
java.sql.SQLException
- if (1) the given column name is not the name
of a column in this rowset,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return type.public long getLong(java.lang.String columnName) throws java.sql.SQLException
long
value.
getLong
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is 0
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR,
VARCHAR
or LONGVARCHAR
value. The bold SQL type
designates the recommended return type.getLong(int)
public float getFloat(java.lang.String columnName) throws java.sql.SQLException
float
value.
getFloat
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is 0
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR,
VARCHAR
or LONGVARCHAR
value. The bold SQL type
designates the recommended return type.getFloat(String)
public double getDouble(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object
as a double
value.
getDouble
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is 0
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR,
VARCHAR
or LONGVARCHAR
value. The bold SQL type
designates the recommended return types.getDouble(int)
public java.math.BigDecimal getBigDecimal(java.lang.String columnName, int scale) throws java.sql.SQLException
getBigDecimal(String columnName)
method instead
java.math.BigDecimal
object.
getBigDecimal
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
objectscale
- the number of digits to the right of the decimal point
scale
number of digits to the right of the decimal point.
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT CHAR,
VARCHAR
or LONGVARCHAR
value. The bold SQL type
designates the recommended return type that this method is used to
retrieve.public byte[] getBytes(java.lang.String columnName) throws java.sql.SQLException
byte
array.
The bytes represent the raw values returned by the driver.
getBytes
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
byte
array in the Java programming
language; if the value is SQL NULL
, the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL BINARY, VARBINARY
or LONGVARBINARY
values
The bold SQL type designates the recommended return type.getBytes(int)
public java.sql.Date getDate(java.lang.String columnName) throws java.sql.SQLException
java.sql.Date
object.
getDate
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL DATE
or
TIMESTAMP
valuepublic java.sql.Time getTime(java.lang.String columnName) throws java.sql.SQLException
java.sql.Time
object.
getTime
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is null
java.sql.SQLException
- if the given column name does not match one of
this rowset's column names or the cursor is not on one of
this rowset's rows or its insert rowpublic java.sql.Timestamp getTimestamp(java.lang.String columnName) throws java.sql.SQLException
java.sql.Timestamp
object.
getTimestamp
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
,
the result is null
java.sql.SQLException
- if the given column name does not match one of
this rowset's column names or the cursor is not on one of
this rowset's rows or its insert rowpublic java.io.InputStream getAsciiStream(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object as a java.io.InputStream
object.
A column value can be retrieved as a stream of ASCII characters
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARCHAR
values. The
SyncProvider
will rely on the JDBC driver to do any necessary
conversion from the database format into ASCII format.
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 getXXX
method implicitly closes the stream.
getAsciiStream
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
, the result is null
.
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL CHAR, VARCHAR
, LONGVARCHAR
BINARY, VARBINARY
or LONGVARBINARY
value. The
bold SQL type designates the recommended return types that this method is
used to retrieve.getAsciiStream(int)
public java.io.InputStream getUnicodeStream(java.lang.String columnName) throws java.sql.SQLException
getCharacterStream
instead
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 getXXX
method implicitly closes the stream.
getUnicodeStream
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
, the result is null
.
java.sql.SQLException
- if the given column name does not match one of
this rowset's column names or the cursor is not on one of
this rowset's rows or its insert rowpublic java.io.InputStream getBinaryStream(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object as a java.io.InputStream
object.
A column value can be retrieved as a stream of uninterpreted bytes
and then read in chunks from the stream. This method is particularly
suitable for retrieving large LONGVARBINARY
values.
Note: All the data in the returned stream must be
read prior to getting the value of any other column. The next
call to a get method implicitly closes the stream. Also, a
stream may return 0
for CachedRowSetImpl.available()
whether there is data available or not.
getBinaryStream
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
, the result is null
.
java.sql.SQLException
- if (1) the given column name is unknown,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL BINARY, VARBINARY
or LONGVARBINARY
The bold type indicates the SQL type that this method is recommened
to retrieve.getBinaryStream(int)
public java.sql.SQLWarning getWarnings()
CachedRowSetImpl
object is returned. Subsequent CachedRowSetImpl
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.
getWarnings
in interface java.sql.ResultSet
public void clearWarnings()
CachedRowSetImpl
object. After a call to this method, the getWarnings
method
returns null
until a new warning is reported for this
CachedRowSetImpl
object.
clearWarnings
in interface java.sql.ResultSet
public java.lang.String getCursorName() throws java.sql.SQLException
CachedRowSetImpl
object.
In SQL, a result table is retrieved through a cursor that is
named. The current row of a ResultSet
can be updated or deleted
using a positioned update/delete statement that references the
cursor name. To ensure that the cursor has the proper isolation
level to support an update operation, the cursor's SELECT
statement should be of the form select for update
.
If the for update
clause
is omitted, positioned updates may fail.
JDBC supports this SQL feature by providing the name of the
SQL cursor used by a ResultSet
object. The current row
of a result set is also the current row of this SQL cursor.
Note: If positioned updates are not supported, an
SQLException
is thrown.
getCursorName
in interface java.sql.ResultSet
CachedRowSetImpl
object's
cursor
java.sql.SQLException
- if an error occurspublic java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException
ResultSetMetaData
object instance that
contains information about the CachedRowSet
object.
However, applications should cast the returned object to a
RowSetMetaData
interface implementation. In the
reference implementation, this cast can be done on the
RowSetMetaDataImpl
class.
For example:
CachedRowSet crs = new CachedRowSetImpl(); RowSetMetaDataImpl metaData = (RowSetMetaDataImpl)crs.getMetaData(); // Set the number of columns in the RowSet object for // which this RowSetMetaDataImpl object was created to the // given number. metaData.setColumnCount(3); crs.setMetaData(metaData);
getMetaData
in interface java.sql.ResultSet
ResultSetMetaData
object that describes this
CachedRowSetImpl
object's columns
java.sql.SQLException
- if an error occurs in generating the RowSet
meta data; or if the CachedRowSetImpl
is empty.RowSetMetaData
public java.lang.Object getObject(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as an
Object
value.
The type of the 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 3.0
specification.
This method may also be used to read datatabase-specific abstract data types.
This implementation of the method getObject
extends its
behavior so that it gets the attributes of an SQL structured type
as an array of Object
values. This method also custom
maps SQL user-defined types to classes in the Java programming language.
When the specified column contains
a structured or distinct value, the behavior of this method is as
if it were a call to the method getObject(columnIndex,
this.getStatement().getConnection().getTypeMap())
.
getObject
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
java.lang.Object
holding the column value;
if the value is SQL NULL
, the result is null
java.sql.SQLException
- if the given column index is out of bounds,
the cursor is not on a valid row, or there is a problem getting
the Class
object for a custom mappinggetObject(String)
public java.lang.Object getObject(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object as an
Object
value.
The type of the 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 3.0
specification.
This method may also be used to read datatabase-specific abstract data types.
This implementation of the method getObject
extends its
behavior so that it gets the attributes of an SQL structured type
as an array of Object
values. This method also custom
maps SQL user-defined types to classes
in the Java programming language. When the specified column contains
a structured or distinct value, the behavior of this method is as
if it were a call to the method getObject(columnIndex,
this.getStatement().getConnection().getTypeMap())
.
getObject
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
java.lang.Object
holding the column value;
if the value is SQL NULL
, the result is null
java.sql.SQLException
- if (1) the given column name does not match one of
this rowset's column names, (2) the cursor is not
on a valid row, or (3) there is a problem getting
the Class
object for a custom mappinggetObject(int)
public int findColumn(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object's columns to its column number.
findColumn
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
java.sql.SQLException
- if the given column name does not match one
of this rowset's column namespublic java.io.Reader getCharacterStream(int columnIndex) throws java.sql.SQLException
java.io.Reader
object.
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 getXXX
method implicitly closes the stream.
getCharacterStream
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
java.io.Reader
object. If the value is
SQL NULL
, the result is null
.
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL CHAR, VARCHAR, LONGVARCHAR, BINARY, VARBINARY
or
LONGVARBINARY
value.
The bold SQL type designates the recommended return type.getCharacterStream(String)
public java.io.Reader getCharacterStream(java.lang.String columnName) throws java.sql.SQLException
java.io.Reader
object.
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 getXXX
method implicitly closes the stream.
getCharacterStream
in interface java.sql.ResultSet
columnName
- a String
object giving the SQL name of
a column in this CachedRowSetImpl
object
NULL
, the result is null
.
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL CHAR, VARCHAR, LONGVARCHAR,
BINARY, VARYBINARY
or LONGVARBINARY
value.
The bold SQL type designates the recommended return type.public java.math.BigDecimal getBigDecimal(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a
java.math.BigDecimal
object.
getBigDecimal
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowset
java.math.BigDecimal
value with full precision;
if the value is SQL NULL
, the result is null
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL TINYINT, SMALLINT, INTEGER, BIGINT, REAL,
FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR
or LONGVARCHAR
value. The bold SQL type designates the
recommended return types that this method is used to retrieve.getBigDecimal(String)
public java.math.BigDecimal getBigDecimal(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object as a
java.math.BigDecimal
object.
getBigDecimal
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
java.math.BigDecimal
value with full precision;
if the value is SQL NULL
, the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TINYINT, SMALLINT, INTEGER
BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT CHAR,
VARCHAR
or LONGVARCHAR
value. The bold SQL type
designates the recommended return type that this method is used to
retrievegetBigDecimal(int)
public int size()
CachedRowSetImpl
object.
size
in interface CachedRowSet
public boolean isBeforeFirst() throws java.sql.SQLException
CachedRowSetImpl
object.
isBeforeFirst
in interface java.sql.ResultSet
true
if the cursor is before the first row;
false
otherwise or if the rowset contains no rows
java.sql.SQLException
- if an error occurspublic boolean isAfterLast() throws java.sql.SQLException
CachedRowSetImpl
object.
isAfterLast
in interface java.sql.ResultSet
true
if the cursor is after the last row;
false
otherwise or if the rowset contains no rows
java.sql.SQLException
- if an error occurspublic boolean isFirst() throws java.sql.SQLException
CachedRowSetImpl
object.
isFirst
in interface java.sql.ResultSet
true
if the cursor is on the first row;
false
otherwise or if the rowset contains no rows
java.sql.SQLException
- if an error occurspublic boolean isLast() throws java.sql.SQLException
CachedRowSetImpl
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 this rowset.
isLast
in interface java.sql.ResultSet
true
if the cursor is on the last row;
false
otherwise or if this rowset contains no rows
java.sql.SQLException
- if an error occurspublic void beforeFirst() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the front of
the rowset, just before the first row. This method has no effect if
this rowset contains no rows.
beforeFirst
in interface java.sql.ResultSet
java.sql.SQLException
- if an error occurs or the type of this rowset
is ResultSet.TYPE_FORWARD_ONLY
public void afterLast() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the end of
the rowset, just after the last row. This method has no effect if
this rowset contains no rows.
afterLast
in interface java.sql.ResultSet
java.sql.SQLException
- if an error occurspublic boolean first() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the first row
and returns true
if the operation was successful. This
method also notifies registered listeners that the cursor has moved.
first
in interface java.sql.ResultSet
true
if the cursor is on a valid row;
false
otherwise or if there are no rows in this
CachedRowSetImpl
object
java.sql.SQLException
- if the type of this rowset
is ResultSet.TYPE_FORWARD_ONLY
protected boolean internalFirst() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the first
row and returns true
if the operation is successful.
This method is called internally by the methods first
,
isFirst
, and absolute
.
It in turn calls the method internalNext
in order to
handle the case where the first row is a deleted row that is not visible.
This is a implementation only method and is not required as a standard
implementation of the CachedRowSet
interface.
true
if the cursor moved to the first row;
false
otherwise
java.sql.SQLException
- if an error occurspublic boolean last() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the last row
and returns true
if the operation was successful. This
method also notifies registered listeners that the cursor has moved.
last
in interface java.sql.ResultSet
true
if the cursor is on a valid row;
false
otherwise or if there are no rows in this
CachedRowSetImpl
object
java.sql.SQLException
- if the type of this rowset
is ResultSet.TYPE_FORWARD_ONLY
protected boolean internalLast() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the last
row and returns true
if the operation is successful.
This method is called internally by the method last
when rows have been deleted and the deletions are not visible.
The method internalLast
handles the case where the
last row is a deleted row that is not visible by in turn calling
the method internalPrevious
.
This is a implementation only method and is not required as a standard
implementation of the CachedRowSet
interface.
true
if the cursor moved to the last row;
false
otherwise
java.sql.SQLException
- if an error occurspublic int getRow() throws java.sql.SQLException
CachedRowSetImpl
object. The first row is number 1, the second number 2, and so on.
getRow
in interface java.sql.ResultSet
0
if there is no
current row
java.sql.SQLException
- if an error occurs; or if the CacheRowSetImpl
is emptypublic boolean absolute(int row) throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the row number
specified.
If the number is positive, the cursor moves to an absolute row with
respect to the beginning of the rowset. The first row is row 1, the second
is row 2, and so on. For example, the following command, in which
crs
is a CachedRowSetImpl
object, moves the cursor
to the fourth row, starting from the beginning of the rowset.
crs.absolute(4);
If the number is negative, the cursor moves to an absolute row position
with respect to the end of the rowset. For example, calling
absolute(-1)
positions the cursor on the last row,
absolute(-2)
moves it on the next-to-last row, and so on.
If the CachedRowSetImpl
object crs
has five rows,
the following command moves the cursor to the fourth-to-last row, which
in the case of a rowset with five rows, is also the second row, counting
from the beginning.
crs.absolute(-4);
If the number specified is larger than the number of rows, the cursor
will move to the position after the last row. If the number specified
would move the cursor one or more rows before the first row, the cursor
moves to the position before the first row.
Note: Calling absolute(1)
is the same as calling the
method first()
. Calling absolute(-1)
is the
same as calling last()
.
absolute
in interface java.sql.ResultSet
row
- a positive number to indicate the row, starting row numbering from
the first row, which is 1
; a negative number to indicate
the row, starting row numbering from the last row, which is
-1
; it must not be 0
true
if the cursor is on the rowset; false
otherwise
java.sql.SQLException
- if the given cursor position is 0
or the
type of this rowset is ResultSet.TYPE_FORWARD_ONLY
public boolean relative(int rows) throws java.sql.SQLException
If the number is positive, the cursor moves the specified number of
rows toward the end of the rowset, starting at the current row.
For example, the following command, in which
crs
is a CachedRowSetImpl
object with 100 rows,
moves the cursor forward four rows from the current row. If the
current row is 50, the cursor would move to row 54.
crs.relative(4);
If the number is negative, the cursor moves back toward the beginning
the specified number of rows, starting at the current row.
For example, calling the method
absolute(-1)
positions the cursor on the last row,
absolute(-2)
moves it on the next-to-last row, and so on.
If the CachedRowSetImpl
object crs
has five rows,
the following command moves the cursor to the fourth-to-last row, which
in the case of a rowset with five rows, is also the second row
from the beginning.
crs.absolute(-4);
If the number specified is larger than the number of rows, the cursor
will move to the position after the last row. If the number specified
would move the cursor one or more rows before the first row, the cursor
moves to the position before the first row. In both cases, this method
throws an SQLException
.
Note: Calling absolute(1)
is the same as calling the
method first()
. Calling absolute(-1)
is the
same as calling last()
. Calling relative(0)
is valid, but it does not change the cursor position.
relative
in interface java.sql.ResultSet
rows
- an int
indicating the number of rows to move
the cursor, starting at the current row; a positive number
moves the cursor forward; a negative number moves the cursor
backward; must not move the cursor past the valid
rows
true
if the cursor is on a row in this
CachedRowSetImpl
object; false
otherwise
java.sql.SQLException
- if there are no rows in this rowset, the cursor is
positioned either before the first row or after the last row, or
the rowset is type ResultSet.TYPE_FORWARD_ONLY
public boolean previous() throws java.sql.SQLException
CachedRowSetImpl
object's cursor to the
previous row and returns true
if the cursor is on
a valid row or false
if it is not.
This method also notifies all listeners registered with this
CachedRowSetImpl
object that its cursor has moved.
Note: calling the method previous()
is not the same
as calling the method relative(-1)
. This is true
because it is possible to call previous()
from the insert
row, from after the last row, or from the current row, whereas
relative
may only be called from the current row.
The method previous
may used in a while
loop to iterate through a rowset starting after the last row
and moving toward the beginning. The loop ends when previous
returns false
, meaning that there are no more rows.
For example, the following code fragment retrieves all the data in
the CachedRowSetImpl
object crs
, which has
three columns. Note that the cursor must initially be positioned
after the last row so that the first call to the method
previous
places the cursor on the last line.
crs.afterLast();
while (previous()) {
String name = crs.getString(1);
int age = crs.getInt(2);
short ssn = crs.getShort(3);
System.out.println(name + " " + age + " " + ssn);
}
This method throws an SQLException
if the cursor is not
on a row in the rowset, before the first row, or after the last row.
previous
in interface java.sql.ResultSet
true
if the cursor is on a valid row;
false
if it is before the first row or after the
last row
java.sql.SQLException
- if the cursor is not on a valid position or the
type of this rowset is ResultSet.TYPE_FORWARD_ONLY
protected boolean internalPrevious() throws java.sql.SQLException
CachedRowSetImpl
object, skipping past deleted rows that are not visible; returns
true
if the cursor is on a row in this rowset and
false
when the cursor goes before the first row.
This method is called internally by the method previous
.
This is a implementation only method and is not required as a standard
implementation of the CachedRowSet
interface.
true
if the cursor is on a row in this rowset;
false
when the cursor reaches the position before
the first row
java.sql.SQLException
- if an error occurspublic boolean rowUpdated() throws java.sql.SQLException
CachedRowSetImpl
object has been updated. The value returned
depends on whether this rowset can detect updates: false
will always be returned if it does not detect updates.
rowUpdated
in interface java.sql.ResultSet
true
if the row has been visibly updated
by the owner or another and updates are detected;
false
otherwise
java.sql.SQLException
- if the cursor is on the insert row or not
not on a valid rowDatabaseMetaData.updatesAreDetected(int)
public boolean columnUpdated(int idx) throws java.sql.SQLException
CachedRowSetImpl
object has been updated. The
value returned depends on whether this rowset can detcted updates:
false
will always be returned if it does not detect updates.
columnUpdated
in interface CachedRowSet
idx
- the index identifier of the column that may be have been updated.
true
is the designated column has been updated
and the rowset detects updates; false
if the rowset has not
been updated or the rowset does not detect updates
java.sql.SQLException
- if the cursor is on the insert row or not
on a valid rowDatabaseMetaData.updatesAreDetected(int)
public boolean columnUpdated(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object has been updated. The
value returned depends on whether this rowset can detcted updates:
false
will always be returned if it does not detect updates.
columnUpdated
in interface CachedRowSet
columnName
- the String
column name column that may be have
been updated.
true
is the designated column has been updated
and the rowset detects updates; false
if the rowset has not
been updated or the rowset does not detect updates
java.sql.SQLException
- if the cursor is on the insert row or not
on a valid rowDatabaseMetaData.updatesAreDetected(int)
public boolean rowInserted() throws java.sql.SQLException
rowInserted
in interface java.sql.ResultSet
true
if a row has been inserted and inserts are detected;
false
otherwise
java.sql.SQLException
- if the cursor is on the insert row or not
not on a valid rowDatabaseMetaData.insertsAreDetected(int)
public boolean rowDeleted() throws java.sql.SQLException
false
if this rowset cannot detect
deletions.
rowDeleted
in interface java.sql.ResultSet
true
if (1)the current row is blank, indicating that
the row has been deleted, and (2)deletions are detected;
false
otherwise
java.sql.SQLException
- if the cursor is on a valid row in this rowsetDatabaseMetaData.deletesAreDetected(int)
public void updateNull(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object with
null
value.
This method updates a column value in the current row or the insert
row of this rowset; however, another method must be called to complete
the update process. If the cursor is on a row in the rowset, the
method updateRow()
must be called to mark the row as updated
and to notify listeners that the row has changed.
If the cursor is on the insert row, the method insertRow()
must be called to insert the new row into this rowset and to notify
listeners that a row has changed.
In order to propagate updates in this rowset to the underlying
data source, an application must call the method acceptChanges()
after it calls either updateRow
or insertRow
.
updateNull
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowset
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateBoolean(int columnIndex, boolean x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
boolean
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBoolean
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateByte(int columnIndex, byte x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
byte
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateByte
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateShort(int columnIndex, short x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
short
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateShort
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateInt(int columnIndex, int x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
int
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateInt
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateLong(int columnIndex, long x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
long
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateLong
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateFloat(int columnIndex, float x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
float
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateFloat
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateDouble(int columnIndex, double x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
double
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateDouble
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateBigDecimal(int columnIndex, java.math.BigDecimal x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.math.BigDecimal
object.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBigDecimal
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateString(int columnIndex, java.lang.String x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
String
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to mark the row as updated.
If the cursor is on the insert row, the method insertRow()
must be called to insert the new row into this rowset and mark it
as inserted. Both of these methods must be called before the
cursor moves to another row.
The method acceptChanges
must be called if the
updated values are to be written back to the underlying database.
updateString
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateBytes(int columnIndex, byte[] x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
byte
array.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBytes
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateDate(int columnIndex, java.sql.Date x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Date
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateDate
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, (3) the type of the designated column is not
an SQL DATE
or TIMESTAMP
, or
(4) this rowset is ResultSet.CONCUR_READ_ONLY
public void updateTime(int columnIndex, java.sql.Time x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Time
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateTime
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, (3) the type of the designated column is not
an SQL TIME
or TIMESTAMP
, or
(4) this rowset is ResultSet.CONCUR_READ_ONLY
public void updateTimestamp(int columnIndex, java.sql.Timestamp x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Timestamp
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateTimestamp
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, (3) the type of the designated column is not
an SQL DATE
, TIME
, or
TIMESTAMP
, or (4) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateAsciiStream(int columnIndex, java.io.InputStream x, int length) throws java.sql.SQLException
CachedRowSetImpl
object with the given
ASCII stream value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateAsciiStream
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column valuelength
- the number of one-byte ASCII characters in the stream
java.sql.SQLException
- if this method is invokedpublic void updateBinaryStream(int columnIndex, java.io.InputStream x, int length) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.io.InputStream
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBinaryStream
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value; must be a java.io.InputStream
containing BINARY
, VARBINARY
, or
LONGVARBINARY
datalength
- the length of the stream in bytes
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, (3) the data in the stream is not binary, or
(4) this rowset is ResultSet.CONCUR_READ_ONLY
public void updateCharacterStream(int columnIndex, java.io.Reader x, int length) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.io.Reader
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateCharacterStream
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value; must be a java.io.Reader
containing BINARY
, VARBINARY
,
LONGVARBINARY
, CHAR
, VARCHAR
,
or LONGVARCHAR
datalength
- the length of the stream in characters
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, (3) the data in the stream is not a binary or
character type, or (4) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateObject(int columnIndex, java.lang.Object x, int scale) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Object
value. The scale
parameter indicates
the number of digits to the right of the decimal point and is ignored
if the new column value is not a type that will be mapped to an SQL
DECIMAL
or NUMERIC
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateObject
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column valuescale
- the number of digits to the right of the decimal point (for
DECIMAL
and NUMERIC
types only)
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateObject(int columnIndex, java.lang.Object x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Object
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateObject
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetx
- the new column value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateNull(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object with
null
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database.
updateNull
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateBoolean(java.lang.String columnName, boolean x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
boolean
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBoolean
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateByte(java.lang.String columnName, byte x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
byte
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateByte
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateShort(java.lang.String columnName, short x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
short
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateShort
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateInt(java.lang.String columnName, int x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
int
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateInt
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateLong(java.lang.String columnName, long x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
long
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateLong
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateFloat(java.lang.String columnName, float x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
float
value.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateFloat
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateDouble(java.lang.String columnName, double x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
double
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateDouble
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateBigDecimal(java.lang.String columnName, java.math.BigDecimal x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.math.BigDecimal
object.
This method updates a column value in the current row or the insert
row of this rowset, but it does not update the database.
If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBigDecimal
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateString(java.lang.String columnName, java.lang.String x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
String
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateString
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateBytes(java.lang.String columnName, byte[] x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
byte
array.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBytes
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateDate(java.lang.String columnName, java.sql.Date x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Date
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateDate
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, (3) the type
of the designated column is not an SQL DATE
or
TIMESTAMP
, or (4) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateTime(java.lang.String columnName, java.sql.Time x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Time
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateTime
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, (3) the type
of the designated column is not an SQL TIME
or
TIMESTAMP
, or (4) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateTimestamp(java.lang.String columnName, java.sql.Timestamp x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Timestamp
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateTimestamp
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if the given column index is out of bounds or
the cursor is not on one of this rowset's rows or its
insert row
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, (3) the type
of the designated column is not an SQL DATE
,
TIME
, or TIMESTAMP
, or (4) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateAsciiStream(java.lang.String columnName, java.io.InputStream x, int length) throws java.sql.SQLException
CachedRowSetImpl
object with the given
ASCII stream value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateAsciiStream
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column valuelength
- the number of one-byte ASCII characters in the stream
java.sql.SQLException
public void updateBinaryStream(java.lang.String columnName, java.io.InputStream x, int length) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.io.InputStream
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBinaryStream
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value; must be a java.io.InputStream
containing BINARY
, VARBINARY
, or
LONGVARBINARY
datalength
- the length of the stream in bytes
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, (3) the data
in the stream is not binary, or (4) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateCharacterStream(java.lang.String columnName, java.io.Reader reader, int length) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.io.Reader
object.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateCharacterStream
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casereader
- the new column value; must be a
java.io.Reader
containing BINARY
,
VARBINARY
, LONGVARBINARY
, CHAR
,
VARCHAR
, or LONGVARCHAR
datalength
- the length of the stream in characters
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, (3) the data
in the stream is not a binary or character type, or (4) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateObject(java.lang.String columnName, java.lang.Object x, int scale) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Object
value. The scale
parameter
indicates the number of digits to the right of the decimal point
and is ignored if the new column value is not a type that will be
mapped to an SQL DECIMAL
or NUMERIC
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateObject
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column valuescale
- the number of digits to the right of the decimal point (for
DECIMAL
and NUMERIC
types only)
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateObject(java.lang.String columnName, java.lang.Object x) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Object
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateObject
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casex
- the new column value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void insertRow() throws java.sql.SQLException
CachedRowSetImpl
object's insert
row into this rowset immediately following the current row.
If the current row is the
position after the last row or before the first row, the new row will
be inserted at the end of the rowset. This method also notifies
listeners registered with this rowset that the row has changed.
The cursor must be on the insert row when this method is called.
insertRow
in interface java.sql.ResultSet
java.sql.SQLException
- if (1) the cursor is not on the insert row,
(2) one or more of the non-nullable columns in the insert
row has not been given a value, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateRow() throws java.sql.SQLException
CachedRowSetImpl
object as
updated and notifies listeners registered with this rowset that the
row has changed.
This method cannot be called when the cursor is on the insert row, and it should be called before the cursor moves to another row. If it is called after the cursor moves to another row, this method has no effect, and the updates made before the cursor moved will be lost.
updateRow
in interface java.sql.ResultSet
java.sql.SQLException
- if the cursor is on the insert row or this
rowset is ResultSet.CONCUR_READ_ONLY
public void deleteRow() throws java.sql.SQLException
CachedRowSetImpl
object and
notifies listeners registered with this rowset that a row has changed.
This method cannot be called when the cursor is on the insert row.
This method marks the current row as deleted, but it does not delete
the row from the underlying data source. The method
acceptChanges
must be called to delete the row in
the data source.
deleteRow
in interface java.sql.ResultSet
java.sql.SQLException
- if (1) this method is called when the cursor
is on the insert row, before the first row, or after the
last row or (2) this rowset is
ResultSet.CONCUR_READ_ONLY
public void refreshRow() throws java.sql.SQLException
updateRow
or deleteRow
.
This method should be called only when the cursor is on a row in
this rowset.
refreshRow
in interface java.sql.ResultSet
java.sql.SQLException
- if the cursor is on the insert row, before the
first row, or after the last rowpublic void cancelRowUpdates() throws java.sql.SQLException
CachedRowSetImpl
object and notifies listeners that
a row has changed. To have an effect, this method
must be called after an updateXXX
method has been
called and before the method updateRow
has been called.
If no updates have been made or the method updateRow
has already been called, this method has no effect.
cancelRowUpdates
in interface java.sql.ResultSet
java.sql.SQLException
- if the cursor is on the insert row, before the
first row, or after the last rowpublic void moveToInsertRow() throws java.sql.SQLException
CachedRowSetImpl
object
to the insert row. The current row in the rowset is remembered
while the cursor is on the insert row.
The insert row is a special row associated with an updatable
rowset. It is essentially a buffer where a new row may
be constructed by calling the appropriate updateXXX
methods to assign a value to each column in the row. A complete
row must be constructed; that is, every column that is not nullable
must be assigned a value. In order for the new row to become part
of this rowset, the method insertRow
must be called
before the cursor is moved back to the rowset.
Only certain methods may be invoked while the cursor is on the insert
row; many methods throw an exception if they are called while the
cursor is there. In addition to the updateXXX
and insertRow
methods, only the getXXX
methods
may be called when the cursor is on the insert row. A getXXX
method should be called on a column only after an updateXXX
method has been called on that column; otherwise, the value returned is
undetermined.
moveToInsertRow
in interface java.sql.ResultSet
java.sql.SQLException
- if this CachedRowSetImpl
object is
ResultSet.CONCUR_READ_ONLY
public void moveToCurrentRow() throws java.sql.SQLException
CachedRowSetImpl
object to
the current row. The current row is the row the cursor was on
when the method moveToInsertRow
was called.
Calling this method has no effect unless it is called while the cursor is on the insert row.
moveToCurrentRow
in interface java.sql.ResultSet
java.sql.SQLException
- if an error occurspublic java.sql.Statement getStatement() throws java.sql.SQLException
null
.
getStatement
in interface java.sql.ResultSet
null
java.sql.SQLException
- if an error occurspublic java.lang.Object getObject(int columnIndex, java.util.Map map) throws java.sql.SQLException
CachedRowSetImpl
object as an Object
in
the Java programming language, using the given
java.util.Map
object to custom map the value if
appropriate.
getObject
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetmap
- a java.util.Map
object showing the mapping
from SQL type names to classes in the Java programming
language
Object
representing the SQL value
java.sql.SQLException
- if the given column index is out of bounds or
the cursor is not on one of this rowset's rows or its
insert rowpublic java.sql.Ref getRef(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a Ref
object
in the Java programming language.
getRef
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowset
Ref
object representing an SQL REF
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL REF
valuegetRef(String)
public java.sql.Blob getBlob(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a Blob
object
in the Java programming language.
getBlob
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowset
Blob
object representing an SQL BLOB
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL BLOB
valuegetBlob(String)
public java.sql.Clob getClob(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a Clob
object
in the Java programming language.
getClob
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowset
Clob
object representing an SQL CLOB
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL CLOB
valuegetClob(String)
public java.sql.Array getArray(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as an Array
object
in the Java programming language.
getArray
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowset
Array
object representing an SQL
ARRAY
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL ARRAY
valuegetArray(String)
public java.lang.Object getObject(java.lang.String columnName, java.util.Map map) throws java.sql.SQLException
CachedRowSetImpl
object as an Object
in
the Java programming language, using the given
java.util.Map
object to custom map the value if
appropriate.
getObject
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casemap
- a java.util.Map
object showing the mapping
from SQL type names to classes in the Java programming
language
Object
representing the SQL value
java.sql.SQLException
- if the given column name is not the name of
a column in this rowset or the cursor is not on one of
this rowset's rows or its insert rowpublic java.sql.Ref getRef(java.lang.String colName) throws java.sql.SQLException
CachedRowSetImpl
object as a Ref
object
in the Java programming language.
getRef
in interface java.sql.ResultSet
colName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
Ref
object representing an SQL REF
value
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the column value
is not an SQL REF
valuegetRef(int)
public java.sql.Blob getBlob(java.lang.String colName) throws java.sql.SQLException
CachedRowSetImpl
object as a Blob
object
in the Java programming language.
getBlob
in interface java.sql.ResultSet
colName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
Blob
object representing an SQL BLOB
value
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL BLOB
valuegetBlob(int)
public java.sql.Clob getClob(java.lang.String colName) throws java.sql.SQLException
CachedRowSetImpl
object as a Clob
object
in the Java programming language.
getClob
in interface java.sql.ResultSet
colName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
Clob
object representing an SQL
CLOB
value
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL CLOB
valuegetClob(int)
public java.sql.Array getArray(java.lang.String colName) throws java.sql.SQLException
CachedRowSetImpl
object as an Array
object
in the Java programming langugage.
getArray
in interface java.sql.ResultSet
colName
- a String
object that must match the
SQL name of a column in this rowset, ignoring case
Array
object representing an SQL
ARRAY
value
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL ARRAY
valuegetArray(int)
public java.sql.Date getDate(int columnIndex, java.util.Calendar cal) throws java.sql.SQLException
CachedRowSetImpl
object as a java.sql.Date
object, using the given Calendar
object to construct an
appropriate millisecond value for the date.
getDate
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowsetcal
- the java.util.Calendar
object to use in
constructing the date
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL DATE
or
TIMESTAMP
valuepublic java.sql.Date getDate(java.lang.String columnName, java.util.Calendar cal) throws java.sql.SQLException
CachedRowSetImpl
object as a java.sql.Date
object, using the given Calendar
object to construct an
appropriate millisecond value for the date.
getDate
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casecal
- the java.util.Calendar
object to use in
constructing the date
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL DATE
or
TIMESTAMP
valuepublic java.sql.Time getTime(int columnIndex, java.util.Calendar cal) throws java.sql.SQLException
CachedRowSetImpl
object as a java.sql.Time
object, using the given Calendar
object to construct an
appropriate millisecond value for the date.
getTime
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowsetcal
- the java.util.Calendar
object to use in
constructing the date
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TIME
or
TIMESTAMP
valuepublic java.sql.Time getTime(java.lang.String columnName, java.util.Calendar cal) throws java.sql.SQLException
CachedRowSetImpl
object as a java.sql.Time
object, using the given Calendar
object to construct an
appropriate millisecond value for the date.
getTime
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casecal
- the java.util.Calendar
object to use in
constructing the date
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TIME
or
TIMESTAMP
valuepublic java.sql.Timestamp getTimestamp(int columnIndex, java.util.Calendar cal) throws java.sql.SQLException
CachedRowSetImpl
object as a java.sql.Timestamp
object, using the given Calendar
object to construct an
appropriate millisecond value for the date.
getTimestamp
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in the rowsetcal
- the java.util.Calendar
object to use in
constructing the date
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL TIME
or
TIMESTAMP
valuepublic java.sql.Timestamp getTimestamp(java.lang.String columnName, java.util.Calendar cal) throws java.sql.SQLException
CachedRowSetImpl
object as a
java.sql.Timestamp
object, using the given
Calendar
object to construct an appropriate
millisecond value for the date.
getTimestamp
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casecal
- the java.util.Calendar
object to use in
constructing the date
NULL
,
the result is null
java.sql.SQLException
- if (1) the given column name is not the name of
a column in this rowset, (2) the cursor is not on one of
this rowset's rows or its insert row, or (3) the designated
column does not store an SQL DATE
,
TIME
, or TIMESTAMP
valuepublic java.sql.Connection getConnection() throws java.sql.SQLException
Connection
object passed to this
CachedRowSetImpl
object. This connection may be
used to populate this rowset with data or to write data back
to its underlying data source.
getConnection
in interface javax.sql.RowSetInternal
Connection
object passed to this rowset;
may be null
if there is no connection
java.sql.SQLException
- if an error occurspublic void setMetaData(javax.sql.RowSetMetaData md) throws java.sql.SQLException
CachedRowSetImpl
object
with the given RowSetMetaData
object.
setMetaData
in interface javax.sql.RowSetInternal
md
- a RowSetMetaData
object instance containing
metadata about the columsn in the rowset
java.sql.SQLException
- if invalid meta data is supplied to the
rowsetpublic java.sql.ResultSet getOriginal() throws java.sql.SQLException
CachedRowSetImpl
after the
last population or synchronization (whichever occured most recently) with
the data source.
The cursor is positioned before the first row in the result set.
Only rows contained in the result set returned by getOriginal()
are said to have an original value.
getOriginal
in interface javax.sql.RowSetInternal
java.sql.SQLException
- if an error occurs produce the
ResultSet
objectpublic java.sql.ResultSet getOriginalRow() throws java.sql.SQLException
CachedRowSetImpl
after
the last population or synchronization (whichever occured most recently)
with the data source.
getOriginalRow
in interface javax.sql.RowSetInternal
java.sql.SQLException
- if there is no current rowsetOriginalRow()
public void setOriginalRow() throws java.sql.SQLException
setOriginalRow
in interface CachedRowSet
java.sql.SQLException
- if there is no current rowgetOriginalRow()
public void setOriginal() throws java.sql.SQLException
setOriginal
connot be reversed.
java.sql.SQLException
- if an error occurspublic java.lang.String getTableName() throws java.sql.SQLException
getTableName
in interface CachedRowSet
String
object that identifies the table from
which this CachedRowSetImpl
object was derived
java.sql.SQLException
- if an error occursResultSetMetaData.getTableName(int)
public void setTableName(java.lang.String tabName) throws java.sql.SQLException
setTableName
in interface CachedRowSet
tabName
- a String
object that identifies the
table from which this CachedRowSetImpl
object
was derived
java.sql.SQLException
- if an error occursRowSetMetaData.setTableName(int, java.lang.String)
,
RowSetWriter
,
SyncProvider
public int[] getKeyColumns() throws java.sql.SQLException
CachedRowSetImpl
object.
getKeyColumns
in interface CachedRowSet
java.sql.SQLException
- if the rowset is empty or no columns
are designated as primary keyssetKeyColumns(int[])
public void setKeyColumns(int[] keys) throws java.sql.SQLException
CachedRowSetImpl
object's
keyCols
field with the given array of column
numbers, which forms a key for uniquely identifying a row
in this rowset.
setKeyColumns
in interface CachedRowSet
keys
- an array of int
indicating the
columns that form a primary key for this
CachedRowSetImpl
object; every
element in the array must be greater than
0
and less than or equal to the number
of columns in this rowset
java.sql.SQLException
- if any of the numbers in the
given array is not valid for this rowsetgetKeyColumns()
public void updateRef(int columnIndex, java.sql.Ref ref) throws java.sql.SQLException
CachedRowSetImpl
object with the given
Ref
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateRef
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetref
- the new column java.sql.Ref
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateRef(java.lang.String columnName, java.sql.Ref ref) throws java.sql.SQLException
CachedRowSetImpl
object with the given
double
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateRef
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring caseref
- the new column java.sql.Ref
value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateClob(int columnIndex, java.sql.Clob c) throws java.sql.SQLException
CachedRowSetImpl
object with the given
double
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateClob
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetc
- the new column Clob
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateClob(java.lang.String columnName, java.sql.Clob c) throws java.sql.SQLException
CachedRowSetImpl
object with the given
double
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateClob
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casec
- the new column Clob
value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateBlob(int columnIndex, java.sql.Blob b) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.sql.Blob
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBlob
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowsetb
- the new column Blob
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateBlob(java.lang.String columnName, java.sql.Blob b) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.sql.Blob
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateBlob
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring caseb
- the new column Blob
value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public void updateArray(int columnIndex, java.sql.Array a) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.sql.Array
values.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateArray
in interface java.sql.ResultSet
columnIndex
- the first column is 1
, the second
is 2
, and so on; must be 1
or larger
and equal to or less than the number of columns in this rowseta
- the new column Array
value
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) this rowset is
ResultSet.CONCUR_READ_ONLY
public void updateArray(java.lang.String columnName, java.sql.Array a) throws java.sql.SQLException
CachedRowSetImpl
object with the given
java.sql.Array
value.
This method updates a column value in either the current row or
the insert row of this rowset, but it does not update the
database. If the cursor is on a row in the rowset, the
method updateRow()
must be called to update the database.
If the cursor is on the insert row, the method insertRow()
must be called, which will insert the new row into both this rowset
and the database. Both of these methods must be called before the
cursor moves to another row.
updateArray
in interface java.sql.ResultSet
columnName
- a String
object that must match the
SQL name of a column in this rowset, ignoring casea
- the new column Array
value
java.sql.SQLException
- if (1) the given column name does not match the
name of a column in this rowset, (2) the cursor is not on
one of this rowset's rows or its insert row, or (3) this
rowset is ResultSet.CONCUR_READ_ONLY
public java.net.URL getURL(int columnIndex) throws java.sql.SQLException
CachedRowSetImpl
object as a java.net.URL
object
in the Java programming language.
getURL
in interface java.sql.ResultSet
java.sql.SQLException
- if (1) the given column index is out of bounds,
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL DATALINK
value.getURL(String)
public java.net.URL getURL(java.lang.String columnName) throws java.sql.SQLException
CachedRowSetImpl
object as a java.net.URL
object
in the Java programming language.
getURL
in interface java.sql.ResultSet
java.sql.SQLException
- if (1) the given column name not the name of a column
in this rowset, or
(2) the cursor is not on one of this rowset's rows or its
insert row, or (3) the designated column does not store an
SQL DATALINK
value.getURL(int)
public RowSetWarning getRowSetWarnings()
CachedRowSetImpl
object is returned. Subsequent CachedRowSetImpl
warnings will
be chained to this SQLWarning
. All RowSetWarnings
warnings are generated in the disconnected environment and remain a
seperate warning chain to that provided by the getWarnings
method.
The warning chain is automatically cleared each time a new row is read.
Note: This warning chain only covers warnings caused
by CachedRowSet
(and their child interface)
methods. All SQLWarnings
can be obtained using the
getWarnings
method which tracks warnings generated
by the underlying JDBC driver.
getRowSetWarnings
in interface CachedRowSet
RowSetWarning
public void commit() throws java.sql.SQLException
acceptChanges()
methods
commit
in interface CachedRowSet
java.sql.SQLException
- if a database access error occurs or this
Connection object within this CachedRowSet
is in auto-commit modeConnection.commit()
public void rollback() throws java.sql.SQLException
acceptChanges()
methods
rollback
in interface CachedRowSet
java.sql.SQLException
- if a database access error occurs or this Connection
object within this CachedRowSet
is in auto-commit mode.Connection.rollback()
public void rollback(java.sql.Savepoint s) throws java.sql.SQLException
acceptChanges()
to the last Savepoint
transaction marker.
rollback
in interface CachedRowSet
s
- A Savepoint
transaction marker
java.sql.SQLException
- if a database access error occurs or this Connection
object within this CachedRowSet
is in auto-commit mode.Connection.rollback(Savepoint)
public void unsetMatchColumn(int[] columnIdxes) throws java.sql.SQLException
setMatchColumn
as the column which will form the basis of the join.
The parameter value unset by this method should be same as was set.
unsetMatchColumn
in interface Joinable
columnIdxes
- the index into this rowset
object's internal representation of parameter values
java.sql.SQLException
- if an error occurs or the
parameter index is out of bounds or if the columnIdx is
not the same as set using setMatchColumn(int [])
Joinable.setMatchColumn(int)
public void unsetMatchColumn(java.lang.String[] columnIdxes) throws java.sql.SQLException
setMatchColumn
as the column which will form the basis of the join.
The parameter value unset by this method should be same as was set.
unsetMatchColumn
in interface Joinable
columnIdxes
- the index into this rowset
object's internal representation of parameter values
java.sql.SQLException
- if an error occurs or the
parameter index is out of bounds or if the columnName is
not the same as set using setMatchColumn(String [])
Joinable.setMatchColumn(int)
public java.lang.String[] getMatchColumnNames() throws java.sql.SQLException
String
array
that was set using setMatchColumn(String [])
for this rowset.
getMatchColumnNames
in interface Joinable
String
array object that contains the column names
for the rowset which has this the match columns
java.sql.SQLException
- if an error occurs or column name is not setJoinable.setMatchColumn(int)
,
Joinable.unsetMatchColumn(int)
public int[] getMatchColumnIndexes() throws java.sql.SQLException
int
array that was set using
setMatchColumn(int [])
for this rowset.
getMatchColumnIndexes
in interface Joinable
int
array object that contains the column ids
for the rowset which has this as the match columns.
java.sql.SQLException
- if an error occurs or column index is not setJoinable.setMatchColumn(int)
,
Joinable.unsetMatchColumn(int)
public void setMatchColumn(int[] columnIdxes) throws java.sql.SQLException
JoinRowSet
as the column which will form the basis of the
join.
The parameter value set by this method is stored internally and
will be supplied as the appropriate parameter in this rowset's
command when the method getMatchColumnIndexes
is called.
setMatchColumn
in interface Joinable
columnIdxes
- the indexes into this rowset
object's internal representation of parameter values; the
first parameter is 0, the second is 1, and so on; must be
0
or greater
java.sql.SQLException
- if an error occurs or the
parameter index is out of boundsJoinable.setMatchColumn(int[])
,
Joinable.unsetMatchColumn(int[])
public void setMatchColumn(java.lang.String[] columnNames) throws java.sql.SQLException
JoinRowSet
as the column which will form the basis of the
join.
The parameter value set by this method is stored internally and
will be supplied as the appropriate parameter in this rowset's
command when the method getMatchColumn
is called.
setMatchColumn
in interface Joinable
columnNames
- the name of the column into this rowset
object's internal representation of parameter values
java.sql.SQLException
- if an error occurs or the
parameter index is out of boundsJoinable.unsetMatchColumn(int)
,
Joinable.setMatchColumn(int[])
public void setMatchColumn(int columnIdx) throws java.sql.SQLException
int
object. This forms the basis of the join for the
JoinRowSet
as the column which will form the basis of the
join.
The parameter value set by this method is stored internally and
will be supplied as the appropriate parameter in this rowset's
command when the method getMatchColumn
is called.
setMatchColumn
in interface Joinable
columnIdx
- the index into this rowset
object's internal representation of parameter values; the
first parameter is 0, the second is 1, and so on; must be
0
or greater
java.sql.SQLException
- if an error occurs or the
parameter index is out of boundsJoinable.setMatchColumn(int[])
,
Joinable.unsetMatchColumn(int)
public void setMatchColumn(java.lang.String columnName) throws java.sql.SQLException
String
object. This forms the basis of the join for the
JoinRowSet
as the column which will form the basis of the
join.
The parameter value set by this method is stored internally and
will be supplied as the appropriate parameter in this rowset's
command when the method getMatchColumn
is called.
setMatchColumn
in interface Joinable
columnName
- the name of the column into this rowset
object's internal representation of parameter values
java.sql.SQLException
- if an error occurs or the
parameter index is out of boundsJoinable.unsetMatchColumn(int)
,
Joinable.setMatchColumn(int[])
public void unsetMatchColumn(int columnIdx) throws java.sql.SQLException
int
object. This was set using setMatchColumn
as the column which will form the basis of the join.
The parameter value unset by this method should be same as was set.
unsetMatchColumn
in interface Joinable
columnIdx
- the index into this rowset
object's internal representation of parameter values
java.sql.SQLException
- if an error occurs or the
parameter index is out of bounds or if the columnIdx is
not the same as set using setMatchColumn(int)
Joinable.setMatchColumn(int)
public void unsetMatchColumn(java.lang.String columnName) throws java.sql.SQLException
String
object. This was set using setMatchColumn
as the column which will form the basis of the join.
The parameter value unset by this method should be same as was set.
unsetMatchColumn
in interface Joinable
columnName
- the index into this rowset
object's internal representation of parameter values
java.sql.SQLException
- if an error occurs or the
parameter index is out of bounds or if the columnName is
not the same as set using setMatchColumn(String)
Joinable.setMatchColumn(int)
public void rowSetPopulated(javax.sql.RowSetEvent event, int numRows) throws java.sql.SQLException
numRows
parameter
ensures that this event will only be fired every numRow
.
The source of the event can be retrieved with the method event.getSource.
rowSetPopulated
in interface CachedRowSet
event
- a RowSetEvent
object that contains the
RowSet
object that is the source of the eventsnumRows
- when populating, the number of rows interval on which the
CachedRowSet
populated should fire; the default value
is zero; cannot be less than fetchSize
or zero
java.sql.SQLException
public void populate(java.sql.ResultSet data, int start) throws java.sql.SQLException
CachedRowSet
object with data from
the given ResultSet
object. While related to the populate(ResultSet)
method, an additional parameter is provided to allow starting position within
the ResultSet
from where to populate the CachedRowSet
instance.
This method is an alternative to the method execute
for filling the rowset with data. The method populate
does not require that the properties needed by the method
execute
, such as the command
property,
be set. This is true because the method populate
is given the ResultSet
object from
which to get data and thus does not need to use the properties
required for setting up a connection and executing this
CachedRowSetImpl
object's command.
After populating this rowset with data, the method
populate
sets the rowset's metadata and
then sends a RowSetChangedEvent
object
to all registered listeners prior to returning.
populate
in interface CachedRowSet
data
- the ResultSet
object containing the data
to be read into this CachedRowSetImpl
objectstart
- the integer specifing the position in the
ResultSet
object to popultate the
CachedRowSetImpl
object.
java.sql.SQLException
- if an error occurs; or the max row setting is
violated while populating the RowSet.Also id the start position
is negative.execute(java.sql.Connection)
public boolean nextPage() throws java.sql.SQLException
CachedRowSetImpl
object
containing the number of rows specified by page size.
nextPage
in interface CachedRowSet
java.sql.SQLException
- if an error occurs or this called before calling populate.public void setPageSize(int size) throws java.sql.SQLException
setPageSize
in interface CachedRowSet
size
- which is the page size
java.sql.SQLException
- if size is less than zero or greater than max rows.public int getPageSize()
getPageSize
in interface CachedRowSet
public boolean previousPage() throws java.sql.SQLException
previousPage
in interface CachedRowSet
java.sql.SQLException
- if it is called before populate is called or ResultSet
is of type ResultSet.TYPE_FORWARD_ONLY
or if an error
occurs.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |