Package Summary  Overview Summary


com.sun.rowset
Class CachedRowSetImpl

java.lang.Object
  extended by javax.sql.rowset.BaseRowSet
      extended by com.sun.rowset.CachedRowSetImpl


All Implemented Interfaces:
java.io.Serializable, java.lang.AutoCloseable, java.lang.Cloneable, ResultSet, Wrapper, RowSet, CachedRowSet, Joinable, RowSetInternal
Direct Known Subclasses:
SyncResolverImpl, WebRowSetImpl

public class CachedRowSetImpl
extends BaseRowSet
implements RowSet, RowSetInternal, java.io.Serializable, java.lang.Cloneable, CachedRowSet

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.

See Also:
Serialized Form


Field Summary
protected  JdbcRowSetResourceBundle resBundle
           
 
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 javax.sql.rowset.CachedRowSet
COMMIT_ON_ACCEPT_CHANGES
 
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
 
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
 booleanabsolute(int row)
          Moves this CachedRowSetImpl object's cursor to the row number specified.
 voidacceptChanges()
          Propagates all row update, insert, and delete changes to the underlying data source backing this CachedRowSetImpl object.
 voidacceptChanges(Connection con)
          Propagates all row update, insert, and delete changes to the data source backing this CachedRowSetImpl object using the given Connection object.
 voidafterLast()
          Moves this CachedRowSetImpl object's cursor to the end of the rowset, just after the last row.
 voidbeforeFirst()
          Moves this CachedRowSetImpl object's cursor to the front of the rowset, just before the first row.
 voidcancelRowUpdates()
          Rolls back any updates made to the current row of this CachedRowSetImpl object and notifies listeners that a row has changed.
 voidclearWarnings()
          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.
 voidclose()
          Closes this CachedRowSetImpl objecy and releases any resources it was using.
 booleancolumnUpdated(int idx)
          Indicates whether the designated column of the current row of this CachedRowSetImpl object has been updated.
 booleancolumnUpdated(java.lang.String columnName)
          Indicates whether the designated column of the current row of this CachedRowSetImpl object has been updated.
 voidcommit()
          Commits all changes performed by the acceptChanges() methods
 CachedRowSetcreateCopy()
          Creates a RowSet object that is a deep copy of this CachedRowSetImpl object's data, including constraints.
 CachedRowSetcreateCopyNoConstraints()
          Creates a CachedRowSet object that is a copy of this CachedRowSetImpl object's data only.
 CachedRowSetcreateCopySchema()
          Creates a RowSet object that is a copy of this CachedRowSetImpl object's table structure and the constraints only.
 RowSetcreateShared()
          Returns a new RowSet object backed by the same data as that of this CachedRowSetImpl object and sharing a set of cursors with it.
 voiddeleteRow()
          Deletes the current row from this CachedRowSetImpl object and notifies listeners registered with this rowset that a row has changed.
 voidexecute()
          Populates this CachedRowSetImpl object with data.
 voidexecute(Connection conn)
          Populates this CachedRowSetImpl object with data, using the given connection to produce the result set from which data will be read.
 intfindColumn(java.lang.String columnName)
          Maps the given column name for one of this CachedRowSetImpl object's columns to its column number.
 booleanfirst()
          Moves this CachedRowSetImpl object's cursor to the first row and returns true if the operation was successful.
 ArraygetArray(int columnIndex)
          Retrieves the value of the designated column in this CachedRowSetImpl object as an Array object in the Java programming language.
 ArraygetArray(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.InputStreamgetAsciiStream(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.InputStreamgetAsciiStream(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.BigDecimalgetBigDecimal(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.BigDecimalgetBigDecimal(int columnIndex, int scale)
          Deprecated.  
 java.math.BigDecimalgetBigDecimal(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.BigDecimalgetBigDecimal(java.lang.String columnName, int scale)
          Deprecated. Use the getBigDecimal(String columnName) method instead
 java.io.InputStreamgetBinaryStream(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.InputStreamgetBinaryStream(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.
 BlobgetBlob(int columnIndex)
          Retrieves the value of the designated column in this CachedRowSetImpl object as a Blob object in the Java programming language.
 BlobgetBlob(java.lang.String colName)
          Retrieves the value of the designated column in this CachedRowSetImpl object as a Blob object in the Java programming language.
 booleangetBoolean(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a boolean value.
 booleangetBoolean(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a boolean value.
 bytegetByte(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a byte value.
 bytegetByte(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.ReadergetCharacterStream(int columnIndex)
          Retrieves the value stored in the designated column of the current row as a java.io.Reader object.
 java.io.ReadergetCharacterStream(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a java.io.Reader object.
 ClobgetClob(int columnIndex)
          Retrieves the value of the designated column in this CachedRowSetImpl object as a Clob object in the Java programming language.
 ClobgetClob(java.lang.String colName)
          Retrieves the value of the designated column in this CachedRowSetImpl object as a Clob object in the Java programming language.
 ConnectiongetConnection()
          Retrieves the Connection object passed to this CachedRowSetImpl object.
protected  BaseRow getCurrentRow()
          Returns the insert row or the current row of this CachedRowSetImplobject.
 java.lang.StringgetCursorName()
          Retrieves the name of the SQL cursor used by this CachedRowSetImpl object.
 DategetDate(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Date object.
 DategetDate(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.
 DategetDate(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a java.sql.Date object.
 DategetDate(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.
 doublegetDouble(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a double value.
 doublegetDouble(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row of this CachedRowSetImpl object as a double value.
 floatgetFloat(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a float value.
 floatgetFloat(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a float value.
 intgetHoldability()
          Retrieves the holdability of this ResultSet object
 intgetInt(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as an int value.
 intgetInt(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.
 longgetLong(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a long value.
 longgetLong(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.
 ResultSetMetaDatagetMetaData()
          Retrieves a ResultSetMetaData object instance that contains information about the CachedRowSet object.
 java.io.ReadergetNCharacterStream(int columnIndex)
          Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
 java.io.ReadergetNCharacterStream(java.lang.String columnName)
          Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object.
 NClobgetNClob(int i)
          Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.
 NClobgetNClob(java.lang.String colName)
          Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.
 java.lang.StringgetNString(int columnIndex)
          Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
 java.lang.StringgetNString(java.lang.String columnName)
          Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.
 java.lang.ObjectgetObject(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as an Object value.
<T> T
getObject(int columnIndex, java.lang.Class<T> type)
          Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.
 java.lang.ObjectgetObject(int columnIndex, java.util.Map<java.lang.String,java.lang.Class<?>> 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.ObjectgetObject(java.lang.String columnName)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as an Object value.
<T> T
getObject(java.lang.String columnLabel, java.lang.Class<T> type)
          Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.
 java.lang.ObjectgetObject(java.lang.String columnName, java.util.Map<java.lang.String,java.lang.Class<?>> 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.
 ResultSetgetOriginal()
          Returns a result set containing the original value of the rowset.
 ResultSetgetOriginalRow()
          Returns a result set containing the original value of the current row only.
 intgetPageSize()
          This is the getter function for the size of the page.
 RefgetRef(int columnIndex)
          Retrieves the value of the designated column in this CachedRowSetImpl object as a Ref object in the Java programming language.
 RefgetRef(java.lang.String colName)
          Retrieves the value of the designated column in this CachedRowSetImpl object as a Ref object in the Java programming language.
 intgetRow()
          Returns the number of the current row in this CachedRowSetImpl object.
 RowIdgetRowId(int columnIndex)
          Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.
 RowIdgetRowId(java.lang.String columnName)
          Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.
 RowSetWarninggetRowSetWarnings()
          The first warning reported by calls on this CachedRowSetImpl object is returned.
 shortgetShort(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a short value.
 shortgetShort(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a short value.
 SQLXMLgetSQLXML(int columnIndex)
          Retrieves the value of the designated SQL XML parameter as a SQLXML object in the Java programming language.
 SQLXMLgetSQLXML(java.lang.String colName)
          Retrieves the value of the designated SQL XML parameter as a SQLXML object in the Java programming language.
 StatementgetStatement()
          Returns null.
 java.lang.StringgetString(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a String object.
 java.lang.StringgetString(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a String object.
 SyncProvidergetSyncProvider()
          Returns the SyncProvider implementation being used with this CachedRowSetImpl implementation rowset.
 java.lang.StringgetTableName()
          Returns an identifier for the object (table) that was used to create this rowset.
 TimegetTime(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Time object.
 TimegetTime(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.
 TimegetTime(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a java.sql.Time object.
 TimegetTime(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.
 TimestampgetTimestamp(int columnIndex)
          Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Timestamp object.
 TimestampgetTimestamp(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.
 TimestampgetTimestamp(java.lang.String columnName)
          Retrieves the value stored in the designated column of the current row as a java.sql.Timestamp object.
 TimestampgetTimestamp(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.InputStreamgetUnicodeStream(int columnIndex)
          Deprecated.  
 java.io.InputStreamgetUnicodeStream(java.lang.String columnName)
          Deprecated. use the method getCharacterStream instead
 java.net.URLgetURL(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.URLgetURL(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.
 SQLWarninggetWarnings()
          The first warning reported by calls on this CachedRowSetImpl object is returned.
 voidinsertRow()
          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.
 booleanisAfterLast()
          Indicates whether the cursor is after the last row in this CachedRowSetImpl object.
 booleanisBeforeFirst()
          Indicates whether the cursor is before the first row in this CachedRowSetImpl object.
 booleanisClosed()
          Retrieves whether this ResultSet object has been closed.
 booleanisFirst()
          Indicates whether the cursor is on the first row in this CachedRowSetImpl object.
 booleanisLast()
          Indicates whether the cursor is on the last row in this CachedRowSetImpl object.
 booleanisWrapperFor(java.lang.Class<?> interfaces)
          Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.
 booleanlast()
          Moves this CachedRowSetImpl object's cursor to the last row and returns true if the operation was successful.
 voidmoveToCurrentRow()
          Moves the cursor for this CachedRowSetImpl object to the current row.
 voidmoveToInsertRow()
          Moves the cursor for this CachedRowSetImpl object to the insert row.
 booleannext()
          Moves the cursor down one row from its current position and returns true if the new cursor position is a valid row.
 booleannextPage()
          The nextPage gets the next page, that is a CachedRowSetImpl object containing the number of rows specified by page size.
 voidpopulate(ResultSet data)
          Populates this CachedRowSetImpl object with data from the given ResultSet object.
 voidpopulate(ResultSet data, int start)
          Populates this CachedRowSet object with data from the given ResultSet object.
 booleanprevious()
          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.
 booleanpreviousPage()
          Retrieves the data present in the page prior to the page from where it is called.
 voidrefreshRow()
          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.
 booleanrelative(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.
 voidrelease()
          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.
 voidrestoreOriginal()
          Restores this CachedRowSetImpl object to its original state, that is, its state before the last set of changes.
 voidrollback()
          Rolls back all changes performed by the acceptChanges() methods
 voidrollback(Savepoint s)
          Rolls back all changes performed by the acceptChanges() to the last Savepoint transaction marker.
 booleanrowDeleted()
          Indicates whether the current row has been deleted.
 booleanrowInserted()
          Indicates whether the current row has been inserted.
 voidrowSetPopulated(RowSetEvent event, int numRows)
          Notifies registered listeners that a RowSet object in the given RowSetEvent object has populated a number of additional rows.
 booleanrowUpdated()
          Indicates whether the current row of this CachedRowSetImpl object has been updated.
 voidsetAsciiStream(java.lang.String parameterName, java.io.InputStream x)
          Sets the designated parameter to the given input stream.
 voidsetAsciiStream(java.lang.String parameterName, java.io.InputStream x, int length)
          Sets the designated parameter to the given input stream, which will have the specified number of bytes.
 voidsetBigDecimal(java.lang.String parameterName, java.math.BigDecimal x)
          Sets the designated parameter to the given java.math.BigDecimal value.
 voidsetBinaryStream(java.lang.String parameterName, java.io.InputStream x)
          Sets the designated parameter to the given input stream.
 voidsetBinaryStream(java.lang.String parameterName, java.io.InputStream x, int length)
          Sets the designated parameter to the given input stream, which will have the specified number of bytes.
 voidsetBlob(int parameterIndex, java.io.InputStream inputStream)
          Sets the designated parameter to a InputStream object.
 voidsetBlob(int parameterIndex, java.io.InputStream inputStream, long length)
          Sets the designated parameter to a InputStream object.
 voidsetBlob(java.lang.String parameterName, Blob x)
          Sets the designated parameter to the given java.sql.Blob object.
 voidsetBlob(java.lang.String parameterName, java.io.InputStream inputStream)
          Sets the designated parameter to a InputStream object.
 voidsetBlob(java.lang.String parameterName, java.io.InputStream inputStream, long length)
          Sets the designated parameter to a InputStream object.
 voidsetBoolean(java.lang.String parameterName, boolean x)
          Sets the designated parameter to the given Java boolean value.
 voidsetByte(java.lang.String parameterName, byte x)
          Sets the designated parameter to the given Java byte value.
 voidsetBytes(java.lang.String parameterName, byte[] x)
          Sets the designated parameter to the given Java array of bytes.
 voidsetCharacterStream(java.lang.String parameterName, java.io.Reader reader)
          Sets the designated parameter to the given Reader object.
 voidsetCharacterStream(java.lang.String parameterName, java.io.Reader reader, int length)
          Sets the designated parameter to the given Reader object, which is the given number of characters long.
 voidsetClob(int parameterIndex, java.io.Reader reader)
          Sets the designated parameter to a Reader object.
 voidsetClob(int parameterIndex, java.io.Reader reader, long length)
          Sets the designated parameter to a Reader object.
 voidsetClob(java.lang.String parameterName, Clob x)
          Sets the designated parameter to the given java.sql.Clob object.
 voidsetClob(java.lang.String parameterName, java.io.Reader reader)
          Sets the designated parameter to a Reader object.
 voidsetClob(java.lang.String parameterName, java.io.Reader reader, long length)
          Sets the designated parameter to a Reader object.
 voidsetCommand(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.
 voidsetDate(java.lang.String parameterName, Date x)
          Sets the designated parameter to the given java.sql.Date value using the default time zone of the virtual machine that is running the application.
 voidsetDate(java.lang.String parameterName, Date x, java.util.Calendar cal)
          Sets the designated parameter to the given java.sql.Date value, using the given Calendar object.
 voidsetDouble(java.lang.String parameterName, double x)
          Sets the designated parameter to the given Java double value.
 voidsetFloat(java.lang.String parameterName, float x)
          Sets the designated parameter to the given Java float value.
 voidsetInt(java.lang.String parameterName, int x)
          Sets the designated parameter to the given Java int value.
 voidsetKeyColumns(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.
 voidsetLong(java.lang.String parameterName, long x)
          Sets the designated parameter to the given Java long value.
 voidsetMatchColumn(int columnIdx)
          Sets the designated parameter to the given int object.
 voidsetMatchColumn(int[] columnIdxes)
          Sets the designated parameter to the given int array.
 voidsetMatchColumn(java.lang.String columnName)
          Sets the designated parameter to the given String object.
 voidsetMatchColumn(java.lang.String[] columnNames)
          Sets the designated parameter to the given String array.
 voidsetMetaData(RowSetMetaData md)
          Sets the metadata for this CachedRowSetImpl object with the given RowSetMetaData object.
 voidsetNCharacterStream(int parameterIndex, java.io.Reader value)
          Sets the designated parameter to a Reader object.
 voidsetNCharacterStream(int parameterIndex, java.io.Reader value, long length)
          Sets the designated parameter to a Reader object.
 voidsetNCharacterStream(java.lang.String parameterName, java.io.Reader value)
          Sets the designated parameter to a Reader object.
 voidsetNCharacterStream(java.lang.String parameterName, java.io.Reader value, long length)
          Sets the designated parameter to a Reader object.
 voidsetNClob(int parameterIndex, NClob value)
          Sets the designated parameter to a java.sql.NClob object.
 voidsetNClob(int parameterIndex, java.io.Reader reader)
          Sets the designated parameter to a Reader object.
 voidsetNClob(int parameterIndex, java.io.Reader reader, long length)
          Sets the designated parameter to a Reader object.
 voidsetNClob(java.lang.String parameterName, NClob value)
          Sets the designated parameter to a java.sql.NClob object.
 voidsetNClob(java.lang.String parameterName, java.io.Reader reader)
          Sets the designated parameter to a Reader object.
 voidsetNClob(java.lang.String parameterName, java.io.Reader reader, long length)
          Sets the designated parameter to a Reader object.
 voidsetNString(int parameterIndex, java.lang.String value)
          Sets the designated paramter to the given String object.
 voidsetNString(java.lang.String parameterName, java.lang.String value)
          Sets the designated paramter to the given String object.
 voidsetNull(java.lang.String parameterName, int sqlType)
          Sets the designated parameter to SQL NULL.
 voidsetNull(java.lang.String parameterName, int sqlType, java.lang.String typeName)
          Sets the designated parameter to SQL NULL.
 voidsetObject(java.lang.String parameterName, java.lang.Object x)
          Sets the value of the designated parameter with the given object.
 voidsetObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType)
          Sets the value of the designated parameter with the given object.
 voidsetObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType, int scale)
          Sets the value of the designated parameter with the given object.
 voidsetOriginal()
          Marks all rows in this rowset as being original rows.
 voidsetOriginalRow()
          Marks the current row in this rowset as being an original row.
 voidsetPageSize(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.
 voidsetRowId(int parameterIndex, RowId x)
          Sets the designated parameter to the given java.sql.RowId object.
 voidsetRowId(java.lang.String parameterName, RowId x)
          Sets the designated parameter to the given java.sql.RowId object.
 voidsetRowInserted(boolean insertFlag)
          Sets the status for the row on which the cursor is positioned.
 voidsetShort(java.lang.String parameterName, short x)
          Sets the designated parameter to the given Java short value.
 voidsetSQLXML(int parameterIndex, SQLXML xmlObject)
          Sets the designated parameter to the given java.sql.SQLXML object.
 voidsetSQLXML(java.lang.String parameterName, SQLXML xmlObject)
          Sets the designated parameter to the given java.sql.SQLXML object.
 voidsetString(java.lang.String parameterName, java.lang.String x)
          Sets the designated parameter to the given Java String value.
 voidsetSyncProvider(java.lang.String providerStr)
          Sets the active SyncProvider and attempts to load load the new provider using the SyncFactory SPI.
 voidsetTableName(java.lang.String tabName)
          Sets the identifier for the table from which this rowset was derived to the given table name.
 voidsetTime(java.lang.String parameterName, Time x)
          Sets the designated parameter to the given java.sql.Time value.
 voidsetTime(java.lang.String parameterName, Time x, java.util.Calendar cal)
          Sets the designated parameter to the given java.sql.Time value, using the given Calendar object.
 voidsetTimestamp(java.lang.String parameterName, Timestamp x)
          Sets the designated parameter to the given java.sql.Timestamp value.
 voidsetTimestamp(java.lang.String parameterName, Timestamp x, java.util.Calendar cal)
          Sets the designated parameter to the given java.sql.Timestamp value, using the given Calendar object.
 voidsetURL(int parameterIndex, java.net.URL x)
          Sets the designated parameter to the given java.net.URL value.
 intsize()
          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.
 voidundoDelete()
          Cancels deletion of the current row and notifies listeners that a row has changed.
 voidundoInsert()
          Immediately removes the current row from this CachedRowSetImpl object if the row has been inserted, and also notifies listeners the a row has changed.
 voidundoUpdate()
          Immediately reverses the last update operation if the row has been modified.
 voidunsetMatchColumn(int columnIdx)
          Unsets the designated parameter to the given int object.
 voidunsetMatchColumn(int[] columnIdxes)
          Unsets the designated parameter to the given int array.
 voidunsetMatchColumn(java.lang.String columnName)
          Unsets the designated parameter to the given String object.
 voidunsetMatchColumn(java.lang.String[] columnIdxes)
          Unsets the designated parameter to the given String array.
<T> T
unwrap(java.lang.Class<T> iface)
          Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
 voidupdateArray(int columnIndex, 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.
 voidupdateArray(java.lang.String columnName, 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.
 voidupdateAsciiStream(int columnIndex, java.io.InputStream x)
          Updates the designated column with an ascii stream value.
 voidupdateAsciiStream(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.
 voidupdateAsciiStream(int columnIndex, java.io.InputStream x, long length)
          Updates the designated column with an ascii stream value, which will have the specified number of bytes.
 voidupdateAsciiStream(java.lang.String columnLabel, java.io.InputStream x)
          Updates the designated column with an ascii stream value.
 voidupdateAsciiStream(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.
 voidupdateAsciiStream(java.lang.String columnLabel, java.io.InputStream x, long length)
          Updates the designated column with an ascii stream value, which will have the specified number of bytes..
 voidupdateBigDecimal(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.
 voidupdateBigDecimal(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.
 voidupdateBinaryStream(int columnIndex, java.io.InputStream x)
          Updates the designated column with a binary stream value.
 voidupdateBinaryStream(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.
 voidupdateBinaryStream(int columnIndex, java.io.InputStream x, long length)
          Updates the designated column with a binary stream value, which will have the specified number of bytes.
 voidupdateBinaryStream(java.lang.String columnLabel, java.io.InputStream x)
          Updates the designated column with a binary stream value.
 voidupdateBinaryStream(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.
 voidupdateBinaryStream(java.lang.String columnLabel, java.io.InputStream x, long length)
          Updates the designated column with a binary stream value, which will have the specified number of bytes.
 voidupdateBlob(int columnIndex, 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.
 voidupdateBlob(int columnIndex, java.io.InputStream inputStream)
          Updates the designated column using the given input stream.
 voidupdateBlob(int columnIndex, java.io.InputStream inputStream, long length)
          Updates the designated column using the given input stream, which will have the specified number of bytes.
 voidupdateBlob(java.lang.String columnName, 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.
 voidupdateBlob(java.lang.String columnLabel, java.io.InputStream inputStream)
          Updates the designated column using the given input stream.
 voidupdateBlob(java.lang.String columnLabel, java.io.InputStream inputStream, long length)
          Updates the designated column using the given input stream, which will have the specified number of bytes.
 voidupdateBoolean(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.
 voidupdateBoolean(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.
 voidupdateByte(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.
 voidupdateByte(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.
 voidupdateBytes(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.
 voidupdateBytes(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.
 voidupdateCharacterStream(int columnIndex, java.io.Reader x)
          Updates the designated column with a character stream value.
 voidupdateCharacterStream(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.
 voidupdateCharacterStream(int columnIndex, java.io.Reader x, long length)
          Updates the designated column with a character stream value, which will have the specified number of bytes.
 voidupdateCharacterStream(java.lang.String columnLabel, java.io.Reader reader)
          Updates the designated column with a character stream value.
 voidupdateCharacterStream(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.
 voidupdateCharacterStream(java.lang.String columnLabel, java.io.Reader reader, long length)
          Updates the designated column with a character stream value, which will have the specified number of bytes.
 voidupdateClob(int columnIndex, Clob c)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given double value.
 voidupdateClob(int columnIndex, java.io.Reader reader)
          Updates the designated column using the given Reader object.
 voidupdateClob(int columnIndex, java.io.Reader reader, long length)
          Updates the designated column using the given Reader object, which is the given number of characters long.
 voidupdateClob(java.lang.String columnName, Clob c)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given double value.
 voidupdateClob(java.lang.String columnLabel, java.io.Reader reader)
          Updates the designated column using the given Reader object.
 voidupdateClob(java.lang.String columnLabel, java.io.Reader reader, long length)
          Updates the designated column using the given Reader object, which is the given number of characters long.
 voidupdateDate(int columnIndex, Date x)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given Date object.
 voidupdateDate(java.lang.String columnName, Date x)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given Date object.
 voidupdateDouble(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.
 voidupdateDouble(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.
 voidupdateFloat(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.
 voidupdateFloat(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.
 voidupdateInt(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.
 voidupdateInt(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.
 voidupdateLong(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.
 voidupdateLong(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.
 voidupdateNCharacterStream(int columnIndex, java.io.Reader x)
          Updates the designated column with a character stream value.
 voidupdateNCharacterStream(int columnIndex, java.io.Reader x, long length)
          Updates the designated column with a character stream value, which will have the specified number of bytes.
 voidupdateNCharacterStream(java.lang.String columnLabel, java.io.Reader reader)
          Updates the designated column with a character stream value.
 voidupdateNCharacterStream(java.lang.String columnName, java.io.Reader x, long length)
          Updates the designated column with a character stream value, which will have the specified number of bytes.
 voidupdateNClob(int columnIndex, NClob nClob)
          Updates the designated column with a java.sql.NClob value.
 voidupdateNClob(int columnIndex, java.io.Reader reader)
          Updates the designated column using the given Reader object.
 voidupdateNClob(int columnIndex, java.io.Reader reader, long length)
          Updates the designated column using the given Reader object, which is the given number of characters long.
 voidupdateNClob(java.lang.String columnName, NClob nClob)
          This method is used for updating SQL NCLOB type that maps to java.sql.Types.NCLOB
 voidupdateNClob(java.lang.String columnLabel, java.io.Reader reader)
          Updates the designated column using the given Reader object.
 voidupdateNClob(java.lang.String columnLabel, java.io.Reader reader, long length)
          Updates the designated column using the given Reader object, which is the given number of characters long.
 voidupdateNString(int columnIndex, java.lang.String nString)
          This method is used for updating columns that support National Character sets.
 voidupdateNString(java.lang.String columnName, java.lang.String nString)
          This method is used for updating columns that support National Character sets.
 voidupdateNull(int columnIndex)
          Sets the designated nullable column in the current row or the insert row of this CachedRowSetImpl object with null value.
 voidupdateNull(java.lang.String columnName)
          Sets the designated nullable column in the current row or the insert row of this CachedRowSetImpl object with null value.
 voidupdateObject(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.
 voidupdateObject(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.
 voidupdateObject(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.
 voidupdateObject(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.
 voidupdateRef(int columnIndex, Ref ref)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given Ref value.
 voidupdateRef(java.lang.String columnName, Ref ref)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given double value.
 voidupdateRow()
          Marks the current row of this CachedRowSetImpl object as updated and notifies listeners registered with this rowset that the row has changed.
 voidupdateRowId(int columnIndex, RowId x)
          Updates the designated column with a RowId value.
 voidupdateRowId(java.lang.String columnName, RowId x)
          Updates the designated column with a RowId value.
 voidupdateShort(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.
 voidupdateShort(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.
 voidupdateSQLXML(int columnIndex, SQLXML xmlObject)
          Updates the designated column with a java.sql.SQLXML value.
 voidupdateSQLXML(java.lang.String columnName, SQLXML xmlObject)
          Updates the designated column with a java.sql.SQLXML value.
 voidupdateString(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.
 voidupdateString(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.
 voidupdateTime(int columnIndex, Time x)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given Time object.
 voidupdateTime(java.lang.String columnName, Time x)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given Time object.
 voidupdateTimestamp(int columnIndex, Timestamp x)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given Timestamp object.
 voidupdateTimestamp(java.lang.String columnName, Timestamp x)
          Sets the designated column in either the current row or the insert row of this CachedRowSetImpl object with the given Timestamp object.
 booleanwasNull()
          Reports whether the last column read was SQL NULL.
 
Methods inherited from class javax.sql.rowset.BaseRowSet
addRowSetListener, clearParameters, getCommand, getConcurrency, getDataSourceName, getEscapeProcessing, getFetchDirection, getFetchSize, getMaxFieldSize, getMaxRows, getParams, getPassword, getQueryTimeout, getShowDeleted, getTransactionIsolation, getType, getTypeMap, getUrl, getUsername, initParams, isReadOnly, notifyCursorMoved, notifyRowChanged, notifyRowSetChanged, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setClob, setConcurrency, setDataSourceName, setDate, setDate, setDouble, setEscapeProcessing, setFetchDirection, setFetchSize, setFloat, setInt, setLong, setMaxFieldSize, setMaxRows, setNull, setNull, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setShort, setShowDeleted, setString, setTime, setTime, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUnicodeStream, setUrl, setUsername
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.sql.RowSetInternal
getParams
 
Methods inherited from interface javax.sql.rowset.CachedRowSet
getShowDeleted, setShowDeleted
 
Methods inherited from interface javax.sql.RowSet
addRowSetListener, clearParameters, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, 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
 

Field Detail

resBundle

protected transient JdbcRowSetResourceBundleresBundle
Constructor Detail

CachedRowSetImpl

public CachedRowSetImpl()
                 throws SQLException
Constructs a new default 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 = 0
 
A CachedRowSetImpl object is configured to use the default RIOptimisticProvider implementation to provide connectivity and synchronization capabilities to the set data source.

Throws:
SQLException - if an error occurs


CachedRowSetImpl

public CachedRowSetImpl(java.util.Hashtable env)
                 throws SQLException
Provides a 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 = 0
 
However, 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:

More specific detailes are available in the SyncFactory and SyncProvider specificiations later in this document.

Parameters:
env - a Hashtable object with a list of desired synchronization providers
Throws:
SQLException - if the requested provider cannot be found by the synchonization factory
See Also:
SyncProvider

Method Detail

setCommand

public void setCommand(java.lang.String cmd)
                throws SQLException
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.

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.

Specified by:
setCommand in interface RowSet
Overrides:
setCommand in class BaseRowSet
Parameters:
cmd - a String object containing an SQL query that will be set as the command; may be null
Throws:
SQLException - if an error occurs
See Also:
BaseRowSet.getCommand()

populate

public void populate(ResultSet data)
              throws SQLException
Populates this 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.

Specified by:
populate in interface CachedRowSet
Parameters:
data - the ResultSet object containing the data to be read into this CachedRowSetImpl object
Throws:
SQLException - if an error occurs; or the max row setting is violated while populating the RowSet
See Also:
execute(java.sql.Connection)

execute

public void execute(Connection conn)
             throws SQLException
Populates this 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.

Specified by:
execute in interface CachedRowSet
Parameters:
conn - A standard JDBC Connection object that this CachedRowSet object can pass to a synchronization provider to establish a connection to the data source
Throws:
SQLException - if an invalid Connection is supplied or an error occurs in establishing the connection to the data source
See Also:
populate(java.sql.ResultSet), Connection

acceptChanges

public void acceptChanges()
                   throws SyncProviderException
Propagates all row update, insert, and delete changes to the underlying data source backing this 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.

Specified by:
acceptChanges in interface CachedRowSet
Throws:
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.
See Also:
acceptChanges(java.sql.Connection), RowSetWriter, SyncProvider

acceptChanges

public void acceptChanges(Connection con)
                   throws SyncProviderException
Propagates all row update, insert, and delete changes to the data source backing this 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.

Specified by:
acceptChanges in interface CachedRowSet
Parameters:
con - a standard JDBC Connection object
Throws:
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 source
See Also:
acceptChanges(), RowSetWriter, SyncFactory, SyncProvider

restoreOriginal

public void restoreOriginal()
                     throws SQLException
Restores this 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.

Specified by:
restoreOriginal in interface CachedRowSet
Throws:
SQLException - if an error is occurs rolling back the RowSet state to the definied original value.
See Also:
RowSetListener.rowSetChanged(javax.sql.RowSetEvent)

release

public void release()
             throws SQLException
Releases the current contents of this CachedRowSetImpl object and sends a rowSetChanged event object to all registered listeners.

Specified by:
release in interface CachedRowSet
Throws:
SQLException - if an error occurs flushing the contents of RowSet.
See Also:
RowSetListener.rowSetChanged(javax.sql.RowSetEvent)

undoDelete

public void undoDelete()
                throws SQLException
Cancels deletion of the current row and notifies listeners that a row has changed.

Note: This method can be ignored if deleted rows are not being shown, which is the normal case.

Specified by:
undoDelete in interface CachedRowSet
Throws:
SQLException - if the cursor is not on a valid row
See Also:
CachedRowSet.undoInsert(), ResultSet.cancelRowUpdates()

undoInsert

public void undoInsert()
                throws SQLException
Immediately removes the current row from this 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.

Specified by:
undoInsert in interface CachedRowSet
Throws:
SQLException - if an error occurs, the cursor is not on a valid row, or the row has not been inserted
See Also:
CachedRowSet.undoDelete(), ResultSet.cancelRowUpdates()

undoUpdate

public void undoUpdate()
                throws SQLException
Immediately reverses the last update operation if the row has been modified. This method can be called to reverse updates on a all columns until all updates in a row have been rolled back to their originating state since the last synchronization (acceptChanges) or population. This method may also be called while performing updates to the insert row.

undoUpdate

Specified by:
undoUpdate in interface CachedRowSet
Throws:
SQLException - if cursor is before the first row, after the last row in rowset.
See Also:
undoDelete(), undoInsert(), ResultSet.cancelRowUpdates()

createShared

public RowSetcreateShared()
                    throws SQLException
Returns a new 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.

Specified by:
createShared in interface CachedRowSet
Returns:
a RowSet object that is a copy of this CachedRowSetImpl object and shares a set of cursors with it
Throws:
SQLException - if an error occurs or cloning is not supported
See Also:
RowSetEvent, RowSetListener

clone

protected java.lang.Object clone()
                          throws java.lang.CloneNotSupportedException
Returns a new 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.

Overrides:
clone in class java.lang.Object
Returns:
a copy of this CachedRowSetImpl object
Throws:
java.lang.CloneNotSupportedException - if an error occurs when attempting to clone this CachedRowSetImpl object
See Also:
createShared()

createCopy

public CachedRowSetcreateCopy()
                        throws SQLException
Creates a 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.

Specified by:
createCopy in interface CachedRowSet
Returns:
a new CachedRowSet object that is a deep copy of this CachedRowSet object and is completely independent from this CachedRowSetImpl object.
Throws:
SQLException - if an error occurs in generating the copy of this of the CachedRowSetImpl
See Also:
createShared(), RowSetEvent, RowSetListener

createCopySchema

public CachedRowSetcreateCopySchema()
                              throws SQLException
Creates a 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.

Specified by:
createCopySchema in interface CachedRowSet
Returns:
a new 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
Throws:
SQLException - if an error occurs in generating the copy of the CachedRowSet object
See Also:
createShared(), createCopy(), createCopyNoConstraints(), RowSetEvent, RowSetListener

createCopyNoConstraints

public CachedRowSetcreateCopyNoConstraints()
                                     throws SQLException
Creates a 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.

Specified by:
createCopyNoConstraints in interface CachedRowSet
Returns:
a new CachedRowSet object that is a deep copy of this CachedRowSetImpl object and is completely independent from this CachedRowSetImpl object
Throws:
SQLException - if an error occurs in generating the copy of the of the CachedRowSet
See Also:
createShared(), createCopy(), createCopySchema(), RowSetEvent, RowSetListener

toCollection

public java.util.Collection<?> toCollection()
                                     throws SQLException
Converts this 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.

Specified by:
toCollection in interface CachedRowSet
Returns:
a Collection object consisting of tables, each of which is a copy of a row in this CachedRowSetImpl object
Throws:
SQLException - if an error occurs in generating the collection
See Also:
toCollection(int), toCollection(String), TreeMap

toCollection

public java.util.Collection<?> toCollection(int column)
                                     throws SQLException
Returns the specified column of this 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.

Specified by:
toCollection in interface CachedRowSet
Parameters:
column - an int indicating the column whose values are to be represented in a Collection object
Returns:
a Collection object that contains the value(s) stored in the specified column of this CachedRowSetImpl object
Throws:
SQLException - if an error occurs generated the collection; or an invalid column is provided.
See Also:
toCollection(), toCollection(String), Vector

toCollection

public java.util.Collection<?> toCollection(java.lang.String column)
                                     throws SQLException
Returns the specified column of this 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.

Specified by:
toCollection in interface CachedRowSet
Parameters:
column - a String object giving the name of the column whose values are to be represented in a collection
Returns:
a Collection object that contains the value(s) stored in the specified column of this CachedRowSetImpl object
Throws:
SQLException - if an error occurs generated the collection; or an invalid column is provided.
See Also:
toCollection(), toCollection(int), Vector

getSyncProvider

public SyncProvidergetSyncProvider()
                             throws SQLException
Returns the SyncProvider implementation being used with this CachedRowSetImpl implementation rowset.

Specified by:
getSyncProvider in interface CachedRowSet
Returns:
the SyncProvider used by the rowset. If not provider was set when the rowset was instantiated, the reference implementation (default) provider is returned.
Throws:
SQLException - if error occurs while return the SyncProvider instance.
See Also:
CachedRowSet.setSyncProvider(java.lang.String)

setSyncProvider

public void setSyncProvider(java.lang.String providerStr)
                     throws SQLException
Sets the active SyncProvider and attempts to load load the new provider using the SyncFactory SPI.

Specified by:
setSyncProvider in interface CachedRowSet
Parameters:
providerStr - a String object giving the fully qualified class name of a SyncProvider implementation
Throws:
SQLException - if an error occurs while resetting the SyncProvider.
See Also:
CachedRowSet.getSyncProvider()

execute

public void execute()
             throws SQLException
Populates this 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.

Specified by:
execute in interface RowSet
Throws:
SQLException - if an error occurs or the necessary properties have not been set

next

public boolean next()
             throws SQLException
Moves the cursor down one row from its current position and returns 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.

Specified by:
next in interface ResultSet
Returns:
true if the new current row is valid; false if there are no more rows
Throws:
SQLException - if an error occurs or the cursor is not positioned in the rowset, before the first row, or after the last row

internalNext

protected boolean internalNext()
                        throws SQLException
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.

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.

Returns:
true if the cursor is on a valid row in this rowset; false if it is after the last row
Throws:
SQLException - if an error occurs

close

public void close()
           throws SQLException
Closes this CachedRowSetImpl objecy and releases any resources it was using.

Specified by:
close in interface java.lang.AutoCloseable
Specified by:
close in interface ResultSet
Throws:
SQLException - if an error occurs when releasing any resources in use by this CachedRowSetImpl object

wasNull

public boolean wasNull()
                throws SQLException
Reports whether the last column read was SQL 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.

Specified by:
wasNull in interface ResultSet
Returns:
true if the value in the last column read was SQL NULL; false otherwise
Throws:
SQLException - if an error occurs

getCurrentRow

protected BaseRowgetCurrentRow()
Returns the insert row or the current row of this CachedRowSetImplobject.

Returns:
the Row object on which this CachedRowSetImpl objects's cursor is positioned

removeCurrentRow

protected void removeCurrentRow()
Removes the row on which the cursor is positioned.

This is a implementation only method and is not required as a standard implementation of the CachedRowSet interface.

Throws:
SQLException - if the cursor is positioned on the insert row

getString

public java.lang.String getString(int columnIndex)
                           throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a String object.

Specified by:
getString in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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.

getBoolean

public boolean getBoolean(int columnIndex)
                   throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a boolean value.

Specified by:
getBoolean in interface ResultSet
Parameters:
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
Returns:
the column value as a boolean in the Java progamming language; if the value is SQL NULL, the result is false
Throws:
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 value
See Also:
getBoolean(String)

getByte

public byte getByte(int columnIndex)
             throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a byte value.

Specified by:
getByte in interface ResultSet
Parameters:
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
Returns:
the column value as a byte in the Java programming language; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getByte(String)

getShort

public short getShort(int columnIndex)
               throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a short value.

Specified by:
getShort in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getShort(String)

getInt

public int getInt(int columnIndex)
           throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as an int value.

Specified by:
getInt in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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

public long getLong(int columnIndex)
             throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a long value.

Specified by:
getLong in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getLong(String)

getFloat

public float getFloat(int columnIndex)
               throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a float value.

Specified by:
getFloat in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getFloat(String)

getDouble

public double getDouble(int columnIndex)
                 throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a double value.

Specified by:
getDouble in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getDouble(String)

getBigDecimal

public java.math.BigDecimal getBigDecimal(int columnIndex,
                                          int scale)
                                   throws SQLException
Deprecated. 

Retrieves the value of the designated column in the current row of this 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.

Specified by:
getBigDecimal in interface ResultSet
Parameters:
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
scale - the number of digits to the right of the decimal point in the value returned
Returns:
the column value with the specified number of digits to the right of the decimal point; if the value is SQL NULL, the result is null
Throws:
SQLException - if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

getBytes

public byte[] getBytes(int columnIndex)
                throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a byte array value.

Specified by:
getBytes in interface ResultSet
Parameters:
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
Returns:
the column value as a byte array in the Java programming language; if the value is SQL NULL, the result is null
Throws:
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.
See Also:
getBytes(String)

getDate

public DategetDate(int columnIndex)
             throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Date object.

Specified by:
getDate in interface ResultSet
Parameters:
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
Returns:
the column value as a java.sql.Data object; if the value is SQL NULL, the result is null
Throws:
SQLException - if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

getTime

public TimegetTime(int columnIndex)
             throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Time object.

Specified by:
getTime in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

getTimestamp

public TimestampgetTimestamp(int columnIndex)
                       throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.sql.Timestamp object.

Specified by:
getTimestamp in interface ResultSet
Parameters:
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
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
SQLException - if the given column index is out of bounds, the cursor is not on a valid row, or this method fails

getAsciiStream

public java.io.InputStream getAsciiStream(int columnIndex)
                                   throws SQLException
Retrieves the value of the designated column in the current row of this 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.

Specified by:
getAsciiStream in interface ResultSet
Parameters:
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
Returns:
a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL NULL, the result is null.
Throws:
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 , LONGVARCHARBINARY, VARBINARY or LONGVARBINARY value. The bold SQL type designates the recommended return types that this method is used to retrieve.
See Also:
getAsciiStream(String)

getUnicodeStream

public java.io.InputStream getUnicodeStream(int columnIndex)
                                     throws SQLException
Deprecated. 

A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a get method implicitly closes the stream. . Also, a stream may return 0 for available() whether there is data available or not.

Specified by:
getUnicodeStream in interface ResultSet
Parameters:
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
Returns:
a Java input stream that delivers the database column value as a stream of two byte Unicode characters. If the value is SQL NULL then the result is null.
Throws:
SQLException - if an error occurs

getBinaryStream

public java.io.InputStream getBinaryStream(int columnIndex)
                                    throws SQLException
Retrieves the value of the designated column in the current row of this 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.

Specified by:
getBinaryStream in interface ResultSet
Parameters:
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
Returns:
a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL then the result is null.
Throws:
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.
See Also:
getBinaryStream(String)

getString

public java.lang.String getString(java.lang.String columnName)
                           throws SQLException
Retrieves the value stored in the designated column of the current row as a String object.

Specified by:
getString in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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.

getBoolean

public boolean getBoolean(java.lang.String columnName)
                   throws SQLException
Retrieves the value stored in the designated column of the current row as a boolean value.

Specified by:
getBoolean in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value as a boolean in the Java programming language; if the value is SQL NULL, the result is false
Throws:
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 value
See Also:
getBoolean(int)

getByte

public byte getByte(java.lang.String columnName)
             throws SQLException
Retrieves the value stored in the designated column of the current row as a byte value.

Specified by:
getByte in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value as a byte in the Java programming language; if the value is SQL NULL, the result is 0
Throws:
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 type

getShort

public short getShort(java.lang.String columnName)
               throws SQLException
Retrieves the value stored in the designated column of the current row as a short value.

Specified by:
getShort in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getShort(int)

getInt

public int getInt(java.lang.String columnName)
           throws SQLException
Retrieves the value stored in the designated column of the current row as an int value.

Specified by:
getInt in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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

public long getLong(java.lang.String columnName)
             throws SQLException
Retrieves the value stored in the designated column of the current row as a long value.

Specified by:
getLong in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getLong(int)

getFloat

public float getFloat(java.lang.String columnName)
               throws SQLException
Retrieves the value stored in the designated column of the current row as a float value.

Specified by:
getFloat in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getFloat(String)

getDouble

public double getDouble(java.lang.String columnName)
                 throws SQLException
Retrieves the value stored in the designated column of the current row of this CachedRowSetImpl object as a double value.

Specified by:
getDouble in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is 0
Throws:
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.
See Also:
getDouble(int)

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String columnName,
                                          int scale)
                                   throws SQLException
Deprecated. Use the getBigDecimal(String columnName) method instead

Retrieves the value stored in the designated column of the current row as a java.math.BigDecimal object.

Specified by:
getBigDecimal in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
scale - the number of digits to the right of the decimal point
Returns:
a java.math.BugDecimal object with scale number of digits to the right of the decimal point.
Throws:
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.

getBytes

public byte[] getBytes(java.lang.String columnName)
                throws SQLException
Retrieves the value stored in the designated column of the current row as a byte array. The bytes represent the raw values returned by the driver.

Specified by:
getBytes in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value as a byte array in the Java programming language; if the value is SQL NULL, the result is null
Throws:
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.
See Also:
getBytes(int)

getDate

public DategetDate(java.lang.String columnName)
             throws SQLException
Retrieves the value stored in the designated column of the current row as a java.sql.Date object.

Specified by:
getDate in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 value

getTime

public TimegetTime(java.lang.String columnName)
             throws SQLException
Retrieves the value stored in the designated column of the current row as a java.sql.Time object.

Specified by:
getTime in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 row

getTimestamp

public TimestampgetTimestamp(java.lang.String columnName)
                       throws SQLException
Retrieves the value stored in the designated column of the current row as a java.sql.Timestamp object.

Specified by:
getTimestamp in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 row

getAsciiStream

public java.io.InputStream getAsciiStream(java.lang.String columnName)
                                   throws SQLException
Retrieves the value of the designated column in the current row of this 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.

Specified by:
getAsciiStream in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL NULL, the result is null.
Throws:
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 , LONGVARCHARBINARY, VARBINARY or LONGVARBINARY value. The bold SQL type designates the recommended return types that this method is used to retrieve.
See Also:
getAsciiStream(int)

getUnicodeStream

public java.io.InputStream getUnicodeStream(java.lang.String columnName)
                                     throws SQLException
Deprecated. use the method getCharacterStream instead

A column value can be retrieved as a stream of Unicode characters and then read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into Unicode.

Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getXXX method implicitly closes the stream.

Specified by:
getUnicodeStream in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL NULL, the result is null.
Throws:
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 row

getBinaryStream

public java.io.InputStream getBinaryStream(java.lang.String columnName)
                                    throws SQLException
Retrieves the value of the designated column in the current row of this 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.

Specified by:
getBinaryStream in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
a Java input stream that delivers the database column value as a stream of uninterpreted bytes. If the value is SQL NULL, the result is null.
Throws:
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.
See Also:
getBinaryStream(int)

getWarnings

public SQLWarninggetWarnings()
The first warning reported by calls on this 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.

Specified by:
getWarnings in interface ResultSet
Returns:
the first SQLWarning or null

clearWarnings

public void clearWarnings()
Clears all the warnings reporeted for the CachedRowSetImpl object. After a call to this method, the getWarnings method returns null until a new warning is reported for this CachedRowSetImpl object.

Specified by:
clearWarnings in interface ResultSet

getCursorName

public java.lang.String getCursorName()
                               throws SQLException
Retrieves the name of the SQL cursor used by this 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.

Specified by:
getCursorName in interface ResultSet
Returns:
the SQL cursor name for this CachedRowSetImpl object's cursor
Throws:
SQLException - if an error occurs

getMetaData

public ResultSetMetaDatagetMetaData()
                              throws SQLException
Retrieves a 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);
 

Specified by:
getMetaData in interface ResultSet
Returns:
the ResultSetMetaData object that describes this CachedRowSetImpl object's columns
Throws:
SQLException - if an error occurs in generating the RowSet meta data; or if the CachedRowSetImpl is empty.
See Also:
RowSetMetaData

getObject

public java.lang.Object getObject(int columnIndex)
                           throws SQLException
Retrieves the value of the designated column in the current row of this 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()) .

Specified by:
getObject in interface ResultSet
Parameters:
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
Returns:
a java.lang.Object holding the column value; if the value is SQL NULL, the result is null
Throws:
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 mapping
See Also:
getObject(String)

getObject

public java.lang.Object getObject(java.lang.String columnName)
                           throws SQLException
Retrieves the value of the designated column in the current row of this 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()) .

Specified by:
getObject in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
Returns:
a java.lang.Object holding the column value; if the value is SQL NULL, the result is null
Throws:
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 mapping
See Also:
getObject(int)

findColumn

public int findColumn(java.lang.String columnName)
               throws SQLException
Maps the given column name for one of this CachedRowSetImpl object's columns to its column number.

Specified by:
findColumn in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
Returns:
the column index of the given column name
Throws:
SQLException - if the given column name does not match one of this rowset's column names

getCharacterStream

public java.io.Reader getCharacterStream(int columnIndex)
                                  throws SQLException
Retrieves the value stored in the designated column of the current row as a 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.

Specified by:
getCharacterStream in interface ResultSet
Parameters:
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
Returns:
a Java character stream that delivers the database column value as a stream of two-byte unicode characters in a java.io.Reader object. If the value is SQL NULL, the result is null.
Throws:
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.
See Also:
getCharacterStream(String)

getCharacterStream

public java.io.Reader getCharacterStream(java.lang.String columnName)
                                  throws SQLException
Retrieves the value stored in the designated column of the current row as a 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.

Specified by:
getCharacterStream in interface ResultSet
Parameters:
columnName - a String object giving the SQL name of a column in this CachedRowSetImpl object
Returns:
a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL NULL, the result is null.
Throws:
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.

getBigDecimal

public java.math.BigDecimal getBigDecimal(int columnIndex)
                                   throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.math.BigDecimal object.

Specified by:
getBigDecimal in interface ResultSet
Parameters:
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
Returns:
a java.math.BigDecimal value with full precision; if the value is SQL NULL, the result is null
Throws:
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.
See Also:
getBigDecimal(String)

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String columnName)
                                   throws SQLException
Retrieves the value of the designated column in the current row of this CachedRowSetImpl object as a java.math.BigDecimal object.

Specified by:
getBigDecimal in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
Returns:
a java.math.BigDecimal value with full precision; if the value is SQL NULL, the result is null
Throws:
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
See Also:
getBigDecimal(int)

size

public int size()
Returns the number of rows in this CachedRowSetImpl object.

Specified by:
size in interface CachedRowSet
Returns:
number of rows in the rowset

isBeforeFirst

public boolean isBeforeFirst()
                      throws SQLException
Indicates whether the cursor is before the first row in this CachedRowSetImpl object.

Specified by:
isBeforeFirst in interface ResultSet
Returns:
true if the cursor is before the first row; false otherwise or if the rowset contains no rows
Throws:
SQLException - if an error occurs

isAfterLast

public boolean isAfterLast()
                    throws SQLException
Indicates whether the cursor is after the last row in this CachedRowSetImpl object.

Specified by:
isAfterLast in interface ResultSet
Returns:
true if the cursor is after the last row; false otherwise or if the rowset contains no rows
Throws:
SQLException - if an error occurs

isFirst

public boolean isFirst()
                throws SQLException
Indicates whether the cursor is on the first row in this CachedRowSetImpl object.

Specified by:
isFirst in interface ResultSet
Returns:
true if the cursor is on the first row; false otherwise or if the rowset contains no rows
Throws:
SQLException - if an error occurs

isLast

public boolean isLast()
               throws SQLException
Indicates whether the cursor is on the last row in this 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.

Specified by:
isLast in interface ResultSet
Returns:
true if the cursor is on the last row; false otherwise or if this rowset contains no rows
Throws:
SQLException - if an error occurs

beforeFirst

public void beforeFirst()
                 throws SQLException
Moves this 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.

Specified by:
beforeFirst in interface ResultSet
Throws:
SQLException - if an error occurs or the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

afterLast

public void afterLast()
               throws SQLException
Moves this 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.

Specified by:
afterLast in interface ResultSet
Throws:
SQLException - if an error occurs

first

public boolean first()
              throws SQLException
Moves this 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.

Specified by:
first in interface ResultSet
Returns:
true if the cursor is on a valid row; false otherwise or if there are no rows in this CachedRowSetImpl object
Throws:
SQLException - if the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

internalFirst

protected boolean internalFirst()
                         throws SQLException
Moves this 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.

Returns:
true if the cursor moved to the first row; false otherwise
Throws:
SQLException - if an error occurs

last

public boolean last()
             throws SQLException
Moves this 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.

Specified by:
last in interface ResultSet
Returns:
true if the cursor is on a valid row; false otherwise or if there are no rows in this CachedRowSetImpl object
Throws:
SQLException - if the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

internalLast

protected boolean internalLast()
                        throws SQLException
Moves this 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.

Returns:
true if the cursor moved to the last row; false otherwise
Throws:
SQLException - if an error occurs

getRow

public int getRow()
           throws SQLException
Returns the number of the current row in this CachedRowSetImpl object. The first row is number 1, the second number 2, and so on.

Specified by:
getRow in interface ResultSet
Returns:
the number of the current row; 0 if there is no current row
Throws:
SQLException - if an error occurs; or if the CacheRowSetImpl is empty

absolute

public boolean absolute(int row)
                 throws SQLException
Moves this 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().

Specified by:
absolute in interface ResultSet
Parameters:
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
Returns:
true if the cursor is on the rowset; false otherwise
Throws:
SQLException - if the given cursor position is 0 or the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

relative

public boolean relative(int rows)
                 throws SQLException
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.

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.

Specified by:
relative in interface ResultSet
Parameters:
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
Returns:
true if the cursor is on a row in this CachedRowSetImpl object; false otherwise
Throws:
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

previous

public boolean previous()
                 throws SQLException
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. 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.

Specified by:
previous in interface ResultSet
Returns:
true if the cursor is on a valid row; false if it is before the first row or after the last row
Throws:
SQLException - if the cursor is not on a valid position or the type of this rowset is ResultSet.TYPE_FORWARD_ONLY

internalPrevious

protected boolean internalPrevious()
                            throws SQLException
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.

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.

Returns:
true if the cursor is on a row in this rowset; false when the cursor reaches the position before the first row
Throws:
SQLException - if an error occurs

rowUpdated

public boolean rowUpdated()
                   throws SQLException
Indicates whether the current row of this 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.

Specified by:
rowUpdated in interface ResultSet
Returns:
true if the row has been visibly updated by the owner or another and updates are detected; false otherwise
Throws:
SQLException - if the cursor is on the insert row or not not on a valid row
See Also:
DatabaseMetaData.updatesAreDetected(int)

columnUpdated

public boolean columnUpdated(int idx)
                      throws SQLException
Indicates whether the designated column of the current row of this 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.

Specified by:
columnUpdated in interface CachedRowSet
Parameters:
idx - the index identifier of the column that may be have been updated.
Returns:
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
Throws:
SQLException - if the cursor is on the insert row or not on a valid row
See Also:
DatabaseMetaData.updatesAreDetected(int)

columnUpdated

public boolean columnUpdated(java.lang.String columnName)
                      throws SQLException
Indicates whether the designated column of the current row of this 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.

Specified by:
columnUpdated in interface CachedRowSet
Parameters:
columnName - the String column name column that may be have been updated.
Returns:
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
Throws:
SQLException - if the cursor is on the insert row or not on a valid row
See Also:
DatabaseMetaData.updatesAreDetected(int)

rowInserted

public boolean rowInserted()
                    throws SQLException
Indicates whether the current row has been inserted. The value returned depends on whether or not the rowset can detect visible inserts.

Specified by:
rowInserted in interface ResultSet
Returns:
true if a row has been inserted and inserts are detected; false otherwise
Throws:
SQLException - if the cursor is on the insert row or not not on a valid row
See Also:
DatabaseMetaData.insertsAreDetected(int)

rowDeleted

public boolean rowDeleted()
                   throws SQLException
Indicates whether the current row has been deleted. A deleted row may leave a visible "hole" in a rowset. This method can be used to detect such holes if the rowset can detect deletions. This method will always return false if this rowset cannot detect deletions.

Specified by:
rowDeleted in interface ResultSet
Returns:
true if (1)the current row is blank, indicating that the row has been deleted, and (2)deletions are detected; false otherwise
Throws:
SQLException - if the cursor is on a valid row in this rowset
See Also:
DatabaseMetaData.deletesAreDetected(int)

updateNull

public void updateNull(int columnIndex)
                throws SQLException
Sets the designated nullable column in the current row or the insert row of this 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.

Specified by:
updateNull in interface ResultSet
Parameters:
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
Throws:
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

updateBoolean

public void updateBoolean(int columnIndex,
                          boolean x)
                   throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBoolean in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateByte

public void updateByte(int columnIndex,
                       byte x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateByte in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateShort

public void updateShort(int columnIndex,
                        short x)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateShort in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateInt

public void updateInt(int columnIndex,
                      int x)
               throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateInt in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateLong

public void updateLong(int columnIndex,
                       long x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateLong in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateFloat

public void updateFloat(int columnIndex,
                        float x)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateFloat in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateDouble

public void updateDouble(int columnIndex,
                         double x)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateDouble in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateBigDecimal

public void updateBigDecimal(int columnIndex,
                             java.math.BigDecimal x)
                      throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBigDecimal in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateString

public void updateString(int columnIndex,
                         java.lang.String x)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateString in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateBytes

public void updateBytes(int columnIndex,
                        byte[] x)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBytes in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateDate

public void updateDate(int columnIndex,
                       Date x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateDate in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateTime

public void updateTime(int columnIndex,
                       Time x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateTime in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateTimestamp

public void updateTimestamp(int columnIndex,
                            Timestamp x)
                     throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateTimestamp in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateAsciiStream

public void updateAsciiStream(int columnIndex,
                              java.io.InputStream x,
                              int length)
                       throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
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
x - the new column value
length - the number of one-byte ASCII characters in the stream
Throws:
SQLException - if this method is invoked

updateBinaryStream

public void updateBinaryStream(int columnIndex,
                               java.io.InputStream x,
                               int length)
                        throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
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
x - the new column value; must be a java.io.InputStream containing BINARY, VARBINARY, or LONGVARBINARY data
length - the length of the stream in bytes
Throws:
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

updateCharacterStream

public void updateCharacterStream(int columnIndex,
                                  java.io.Reader x,
                                  int length)
                           throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
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
x - the new column value; must be a java.io.Reader containing BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, or LONGVARCHAR data
length - the length of the stream in characters
Throws:
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

updateObject

public void updateObject(int columnIndex,
                         java.lang.Object x,
                         int scale)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateObject in interface ResultSet
Parameters:
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
x - the new column value
scale - the number of digits to the right of the decimal point (for DECIMAL and NUMERIC types only)
Throws:
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

updateObject

public void updateObject(int columnIndex,
                         java.lang.Object x)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateObject in interface ResultSet
Parameters:
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
x - the new column value
Throws:
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

updateNull

public void updateNull(java.lang.String columnName)
                throws SQLException
Sets the designated nullable column in the current row or the insert row of this 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.

Specified by:
updateNull in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
Throws:
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

updateBoolean

public void updateBoolean(java.lang.String columnName,
                          boolean x)
                   throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBoolean in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateByte

public void updateByte(java.lang.String columnName,
                       byte x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateByte in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateShort

public void updateShort(java.lang.String columnName,
                        short x)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateShort in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateInt

public void updateInt(java.lang.String columnName,
                      int x)
               throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateInt in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateLong

public void updateLong(java.lang.String columnName,
                       long x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateLong in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateFloat

public void updateFloat(java.lang.String columnName,
                        float x)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateFloat in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateDouble

public void updateDouble(java.lang.String columnName,
                         double x)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateDouble in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateBigDecimal

public void updateBigDecimal(java.lang.String columnName,
                             java.math.BigDecimal x)
                      throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBigDecimal in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateString

public void updateString(java.lang.String columnName,
                         java.lang.String x)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateString in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateBytes

public void updateBytes(java.lang.String columnName,
                        byte[] x)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBytes in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateDate

public void updateDate(java.lang.String columnName,
                       Date x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateDate in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateTime

public void updateTime(java.lang.String columnName,
                       Time x)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateTime in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

updateTimestamp

public void updateTimestamp(java.lang.String columnName,
                            Timestamp x)
                     throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateTimestamp in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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
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

updateAsciiStream

public void updateAsciiStream(java.lang.String columnName,
                              java.io.InputStream x,
                              int length)
                       throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
length - the number of one-byte ASCII characters in the stream
Throws:
SQLException - if the columnLabel is not valid; if a database access error occurs; the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method

updateBinaryStream

public void updateBinaryStream(java.lang.String columnName,
                               java.io.InputStream x,
                               int length)
                        throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value; must be a java.io.InputStream containing BINARY, VARBINARY, or LONGVARBINARY data
length - the length of the stream in bytes
Throws:
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

updateCharacterStream

public void updateCharacterStream(java.lang.String columnName,
                                  java.io.Reader reader,
                                  int length)
                           throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
reader - the new column value; must be a java.io.Reader containing BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, or LONGVARCHAR data
length - the length of the stream in characters
Throws:
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

updateObject

public void updateObject(java.lang.String columnName,
                         java.lang.Object x,
                         int scale)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateObject in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
scale - the number of digits to the right of the decimal point (for DECIMAL and NUMERIC types only)
Throws:
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

updateObject

public void updateObject(java.lang.String columnName,
                         java.lang.Object x)
                  throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateObject in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
x - the new column value
Throws:
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

insertRow

public void insertRow()
               throws SQLException
Inserts the contents of this 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.

Specified by:
insertRow in interface ResultSet
Throws:
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

updateRow

public void updateRow()
               throws SQLException
Marks the current row of this 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.

Specified by:
updateRow in interface ResultSet
Throws:
SQLException - if the cursor is on the insert row or this rowset is ResultSet.CONCUR_READ_ONLY

deleteRow

public void deleteRow()
               throws SQLException
Deletes the current row from this 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.

Specified by:
deleteRow in interface ResultSet
Throws:
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

refreshRow

public void refreshRow()
                throws SQLException
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. This method should be called only when the cursor is on a row in this rowset.

Specified by:
refreshRow in interface ResultSet
Throws:
SQLException - if the cursor is on the insert row, before the first row, or after the last row

cancelRowUpdates

public void cancelRowUpdates()
                      throws SQLException
Rolls back any updates made to the current row of this 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.

Specified by:
cancelRowUpdates in interface ResultSet
Throws:
SQLException - if the cursor is on the insert row, before the first row, or after the last row

moveToInsertRow

public void moveToInsertRow()
                     throws SQLException
Moves the cursor for this 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.

Specified by:
moveToInsertRow in interface ResultSet
Throws:
SQLException - if this CachedRowSetImpl object is ResultSet.CONCUR_READ_ONLY

moveToCurrentRow

public void moveToCurrentRow()
                      throws SQLException
Moves the cursor for this 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.

Specified by:
moveToCurrentRow in interface ResultSet
Throws:
SQLException - if an error occurs

getStatement

public StatementgetStatement()
                       throws SQLException
Returns null.

Specified by:
getStatement in interface ResultSet
Returns:
null
Throws:
SQLException - if an error occurs

getObject

public java.lang.Object getObject(int columnIndex,
                                  java.util.Map<java.lang.String,java.lang.Class<?>> map)
                           throws SQLException
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.

Specified by:
getObject in interface ResultSet
Parameters:
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
map - a java.util.Map object showing the mapping from SQL type names to classes in the Java programming language
Returns:
an Object representing the SQL value
Throws:
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

getRef

public RefgetRef(int columnIndex)
           throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a Ref object in the Java programming language.

Specified by:
getRef in interface ResultSet
Parameters:
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
Returns:
a Ref object representing an SQL REF value
Throws:
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 value
See Also:
getRef(String)

getBlob

public BlobgetBlob(int columnIndex)
             throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a Blob object in the Java programming language.

Specified by:
getBlob in interface ResultSet
Parameters:
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
Returns:
a Blob object representing an SQL BLOB value
Throws:
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 value
See Also:
getBlob(String)

getClob

public ClobgetClob(int columnIndex)
             throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a Clob object in the Java programming language.

Specified by:
getClob in interface ResultSet
Parameters:
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
Returns:
a Clob object representing an SQL CLOB value
Throws:
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 value
See Also:
getClob(String)

getArray

public ArraygetArray(int columnIndex)
               throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as an Array object in the Java programming language.

Specified by:
getArray in interface ResultSet
Parameters:
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
Returns:
an Array object representing an SQL ARRAY value
Throws:
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 value
See Also:
getArray(String)

getObject

public java.lang.Object getObject(java.lang.String columnName,
                                  java.util.Map<java.lang.String,java.lang.Class<?>> map)
                           throws SQLException
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.

Specified by:
getObject in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
map - a java.util.Map object showing the mapping from SQL type names to classes in the Java programming language
Returns:
an Object representing the SQL value
Throws:
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 row

getRef

public RefgetRef(java.lang.String colName)
           throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a Ref object in the Java programming language.

Specified by:
getRef in interface ResultSet
Parameters:
colName - a String object that must match the SQL name of a column in this rowset, ignoring case
Returns:
a Ref object representing an SQL REF value
Throws:
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 value
See Also:
getRef(int)

getBlob

public BlobgetBlob(java.lang.String colName)
             throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a Blob object in the Java programming language.

Specified by:
getBlob in interface ResultSet
Parameters:
colName - a String object that must match the SQL name of a column in this rowset, ignoring case
Returns:
a Blob object representing an SQL BLOB value
Throws:
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 value
See Also:
getBlob(int)

getClob

public ClobgetClob(java.lang.String colName)
             throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a Clob object in the Java programming language.

Specified by:
getClob in interface ResultSet
Parameters:
colName - a String object that must match the SQL name of a column in this rowset, ignoring case
Returns:
a Clob object representing an SQL CLOB value
Throws:
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 value
See Also:
getClob(int)

getArray

public ArraygetArray(java.lang.String colName)
               throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as an Array object in the Java programming langugage.

Specified by:
getArray in interface ResultSet
Parameters:
colName - a String object that must match the SQL name of a column in this rowset, ignoring case
Returns:
an Array object representing an SQL ARRAY value
Throws:
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 value
See Also:
getArray(int)

getDate

public DategetDate(int columnIndex,
                    java.util.Calendar cal)
             throws SQLException
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.

Specified by:
getDate in interface ResultSet
Parameters:
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
cal - the java.util.Calendar object to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 value

getDate

public DategetDate(java.lang.String columnName,
                    java.util.Calendar cal)
             throws SQLException
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.

Specified by:
getDate in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
cal - the java.util.Calendar object to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 value

getTime

public TimegetTime(int columnIndex,
                    java.util.Calendar cal)
             throws SQLException
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.

Specified by:
getTime in interface ResultSet
Parameters:
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
cal - the java.util.Calendar object to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 value

getTime

public TimegetTime(java.lang.String columnName,
                    java.util.Calendar cal)
             throws SQLException
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.

Specified by:
getTime in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
cal - the java.util.Calendar object to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 value

getTimestamp

public TimestampgetTimestamp(int columnIndex,
                              java.util.Calendar cal)
                       throws SQLException
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.

Specified by:
getTimestamp in interface ResultSet
Parameters:
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
cal - the java.util.Calendar object to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 value

getTimestamp

public TimestampgetTimestamp(java.lang.String columnName,
                              java.util.Calendar cal)
                       throws SQLException
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.

Specified by:
getTimestamp in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
cal - the java.util.Calendar object to use in constructing the date
Returns:
the column value; if the value is SQL NULL, the result is null
Throws:
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 value

getConnection

public ConnectiongetConnection()
                         throws SQLException
Retrieves the 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.

Specified by:
getConnection in interface RowSetInternal
Returns:
the Connection object passed to this rowset; may be null if there is no connection
Throws:
SQLException - if an error occurs

setMetaData

public void setMetaData(RowSetMetaData md)
                 throws SQLException
Sets the metadata for this CachedRowSetImpl object with the given RowSetMetaData object.

Specified by:
setMetaData in interface CachedRowSet
Specified by:
setMetaData in interface RowSetInternal
Parameters:
md - a RowSetMetaData object instance containing metadata about the columsn in the rowset
Throws:
SQLException - if invalid meta data is supplied to the rowset

getOriginal

public ResultSetgetOriginal()
                      throws SQLException
Returns a result set containing the original value of the rowset. The original value is the state of the 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.

Specified by:
getOriginal in interface CachedRowSet
Specified by:
getOriginal in interface RowSetInternal
Returns:
the original result set of the rowset
Throws:
SQLException - if an error occurs produce the ResultSet object

getOriginalRow

public ResultSetgetOriginalRow()
                         throws SQLException
Returns a result set containing the original value of the current row only. The original value is the state of the CachedRowSetImpl after the last population or synchronization (whichever occured most recently) with the data source.

Specified by:
getOriginalRow in interface CachedRowSet
Specified by:
getOriginalRow in interface RowSetInternal
Returns:
the original result set of the row
Throws:
SQLException - if there is no current row
See Also:
setOriginalRow()

setOriginalRow

public void setOriginalRow()
                    throws SQLException
Marks the current row in this rowset as being an original row.

Specified by:
setOriginalRow in interface CachedRowSet
Throws:
SQLException - if there is no current row
See Also:
getOriginalRow()

setOriginal

public void setOriginal()
                 throws SQLException
Marks all rows in this rowset as being original rows. Any updates made to the rows become the original values for the rowset. Calls to the method setOriginal connot be reversed.

Throws:
SQLException - if an error occurs

getTableName

public java.lang.String getTableName()
                              throws SQLException
Returns an identifier for the object (table) that was used to create this rowset.

Specified by:
getTableName in interface CachedRowSet
Returns:
a String object that identifies the table from which this CachedRowSetImpl object was derived
Throws:
SQLException - if an error occurs
See Also:
ResultSetMetaData.getTableName(int)

setTableName

public void setTableName(java.lang.String tabName)
                  throws SQLException
Sets the identifier for the table from which this rowset was derived to the given table name.

Specified by:
setTableName in interface CachedRowSet
Parameters:
tabName - a String object that identifies the table from which this CachedRowSetImpl object was derived
Throws:
SQLException - if an error occurs
See Also:
RowSetMetaData.setTableName(int, java.lang.String) , RowSetWriter, SyncProvider

getKeyColumns

public int[] getKeyColumns()
                    throws SQLException
Returns the columns that make a key to uniquely identify a row in this CachedRowSetImpl object.

Specified by:
getKeyColumns in interface CachedRowSet
Returns:
an array of column numbers that constitutes a primary key for this rowset. This array should be empty if no column is representitive of a primary key
Throws:
SQLException - if the rowset is empty or no columns are designated as primary keys
See Also:
setKeyColumns(int[])

setKeyColumns

public void setKeyColumns(int[] keys)
                   throws SQLException
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.

Specified by:
setKeyColumns in interface CachedRowSet
Parameters:
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
Throws:
SQLException - if any of the numbers in the given array is not valid for this rowset
See Also:
getKeyColumns()

updateRef

public void updateRef(int columnIndex,
                      Ref ref)
               throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateRef in interface ResultSet
Parameters:
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 - the new column java.sql.Ref value
Throws:
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

updateRef

public void updateRef(java.lang.String columnName,
                      Ref ref)
               throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateRef in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
ref - the new column java.sql.Ref value
Throws:
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

updateClob

public void updateClob(int columnIndex,
                       Clob c)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateClob in interface ResultSet
Parameters:
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
c - the new column Clob value
Throws:
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

updateClob

public void updateClob(java.lang.String columnName,
                       Clob c)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateClob in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
c - the new column Clob value
Throws:
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

updateBlob

public void updateBlob(int columnIndex,
                       Blob b)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBlob in interface ResultSet
Parameters:
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
b - the new column Blob value
Throws:
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

updateBlob

public void updateBlob(java.lang.String columnName,
                       Blob b)
                throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateBlob in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
b - the new column Blob value
Throws:
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

updateArray

public void updateArray(int columnIndex,
                        Array a)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateArray in interface ResultSet
Parameters:
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
a - the new column Array value
Throws:
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

updateArray

public void updateArray(java.lang.String columnName,
                        Array a)
                 throws SQLException
Sets the designated column in either the current row or the insert row of this 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.

Specified by:
updateArray in interface ResultSet
Parameters:
columnName - a String object that must match the SQL name of a column in this rowset, ignoring case
a - the new column Array value
Throws:
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

getURL

public java.net.URL getURL(int columnIndex)
                    throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a java.net.URL object in the Java programming language.

Specified by:
getURL in interface ResultSet
Parameters:
columnIndex - the index of the column 1 is the first, 2 is the second,...
Returns:
a java.net.URL object containing the resource reference described by the URL
Throws:
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.
See Also:
getURL(String)

getURL

public java.net.URL getURL(java.lang.String columnName)
                    throws SQLException
Retrieves the value of the designated column in this CachedRowSetImpl object as a java.net.URL object in the Java programming language.

Specified by:
getURL in interface ResultSet
Parameters:
columnName - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
a java.net.URL object containing the resource reference described by the URL
Throws:
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.
See Also:
getURL(int)

getRowSetWarnings

public RowSetWarninggetRowSetWarnings()
The first warning reported by calls on this 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.

Specified by:
getRowSetWarnings in interface CachedRowSet
Returns:
the first SQLWarning or null
See Also:
RowSetWarning

commit

public void commit()
            throws SQLException
Commits all changes performed by the acceptChanges() methods

Specified by:
commit in interface CachedRowSet
Throws:
SQLException - if a database access error occurs or this Connection object within this CachedRowSet is in auto-commit mode
See Also:
Connection.commit()

rollback

public void rollback()
              throws SQLException
Rolls back all changes performed by the acceptChanges() methods

Specified by:
rollback in interface CachedRowSet
Throws:
SQLException - if a database access error occurs or this Connection object within this CachedRowSet is in auto-commit mode.
See Also:
Connection.rollback()

rollback

public void rollback(Savepoint s)
              throws SQLException
Rolls back all changes performed by the acceptChanges() to the last Savepoint transaction marker.

Specified by:
rollback in interface CachedRowSet
Parameters:
s - A Savepoint transaction marker
Throws:
SQLException - if a database access error occurs or this Connection object within this CachedRowSet is in auto-commit mode.
See Also:
Connection.rollback(Savepoint)

unsetMatchColumn

public void unsetMatchColumn(int[] columnIdxes)
                      throws SQLException
Unsets the designated parameter to the given int array. 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.

Specified by:
unsetMatchColumn in interface Joinable
Parameters:
columnIdxes - the index into this rowset object's internal representation of parameter values
Throws:
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 [])
See Also:
Joinable.setMatchColumn(int)

unsetMatchColumn

public void unsetMatchColumn(java.lang.String[] columnIdxes)
                      throws SQLException
Unsets the designated parameter to the given String array. 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.

Specified by:
unsetMatchColumn in interface Joinable
Parameters:
columnIdxes - the index into this rowset object's internal representation of parameter values
Throws:
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 [])
See Also:
Joinable.setMatchColumn(int)

getMatchColumnNames

public java.lang.String[] getMatchColumnNames()
                                       throws SQLException
Retrieves the column name as String array that was set using setMatchColumn(String []) for this rowset.

Specified by:
getMatchColumnNames in interface Joinable
Returns:
a String array object that contains the column names for the rowset which has this the match columns
Throws:
SQLException - if an error occurs or column name is not set
See Also:
Joinable.setMatchColumn(int), Joinable.unsetMatchColumn(int)

getMatchColumnIndexes

public int[] getMatchColumnIndexes()
                            throws SQLException
Retrieves the column id as int array that was set using setMatchColumn(int []) for this rowset.

Specified by:
getMatchColumnIndexes in interface Joinable
Returns:
a int array object that contains the column ids for the rowset which has this as the match columns.
Throws:
SQLException - if an error occurs or column index is not set
See Also:
Joinable.setMatchColumn(int), Joinable.unsetMatchColumn(int)

setMatchColumn

public void setMatchColumn(int[] columnIdxes)
                    throws SQLException
Sets the designated parameter to the given int array. 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 getMatchColumnIndexes is called.

Specified by:
setMatchColumn in interface Joinable
Parameters:
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
Throws:
SQLException - if an error occurs or the parameter index is out of bounds
See Also:
Joinable.setMatchColumn(int[]), Joinable.unsetMatchColumn(int[])

setMatchColumn

public void setMatchColumn(java.lang.String[] columnNames)
                    throws SQLException
Sets the designated parameter to the given String array. 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.

Specified by:
setMatchColumn in interface Joinable
Parameters:
columnNames - the name of the column into this rowset object's internal representation of parameter values
Throws:
SQLException - if an error occurs or the parameter index is out of bounds
See Also:
Joinable.unsetMatchColumn(int), Joinable.setMatchColumn(int[])

setMatchColumn

public void setMatchColumn(int columnIdx)
                    throws SQLException
Sets the designated parameter to the given 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.

Specified by:
setMatchColumn in interface Joinable
Parameters:
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
Throws:
SQLException - if an error occurs or the parameter index is out of bounds
See Also:
Joinable.setMatchColumn(int[]), Joinable.unsetMatchColumn(int)

setMatchColumn

public void setMatchColumn(java.lang.String columnName)
                    throws SQLException
Sets the designated parameter to the given 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.

Specified by:
setMatchColumn in interface Joinable
Parameters:
columnName - the name of the column into this rowset object's internal representation of parameter values
Throws:
SQLException - if an error occurs or the parameter index is out of bounds
See Also:
Joinable.unsetMatchColumn(int), Joinable.setMatchColumn(int[])

unsetMatchColumn

public void unsetMatchColumn(int columnIdx)
                      throws SQLException
Unsets the designated parameter to the given 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.

Specified by:
unsetMatchColumn in interface Joinable
Parameters:
columnIdx - the index into this rowset object's internal representation of parameter values
Throws:
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)
See Also:
Joinable.setMatchColumn(int)

unsetMatchColumn

public void unsetMatchColumn(java.lang.String columnName)
                      throws SQLException
Unsets the designated parameter to the given 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.

Specified by:
unsetMatchColumn in interface Joinable
Parameters:
columnName - the index into this rowset object's internal representation of parameter values
Throws:
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)
See Also:
Joinable.setMatchColumn(int)

rowSetPopulated

public void rowSetPopulated(RowSetEvent event,
                            int numRows)
                     throws SQLException
Notifies registered listeners that a RowSet object in the given RowSetEvent object has populated a number of additional rows. The 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.

Specified by:
rowSetPopulated in interface CachedRowSet
Parameters:
event - a RowSetEvent object that contains the RowSet object that is the source of the events
numRows - 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
Throws:
SQLException

populate

public void populate(ResultSet data,
                     int start)
              throws SQLException
Populates this 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.

Specified by:
populate in interface CachedRowSet
Parameters:
data - the ResultSet object containing the data to be read into this CachedRowSetImpl object
start - the integer specifing the position in the ResultSet object to popultate the CachedRowSetImpl object.
Throws:
SQLException - if an error occurs; or the max row setting is violated while populating the RowSet.Also id the start position is negative.
See Also:
execute(java.sql.Connection)

nextPage

public boolean nextPage()
                 throws SQLException
The nextPage gets the next page, that is a CachedRowSetImpl object containing the number of rows specified by page size.

Specified by:
nextPage in interface CachedRowSet
Returns:
boolean value true indicating whether there are more pages to come and false indicating that this is the last page.
Throws:
SQLException - if an error occurs or this called before calling populate.

setPageSize

public void setPageSize(int size)
                 throws SQLException
This is the setter function for setting the size of the page, which specifies how many rows have to be retrived at a time.

Specified by:
setPageSize in interface CachedRowSet
Parameters:
size - which is the page size
Throws:
SQLException - if size is less than zero or greater than max rows.

getPageSize

public int getPageSize()
This is the getter function for the size of the page.

Specified by:
getPageSize in interface CachedRowSet
Returns:
an integer that is the page size.

previousPage

public boolean previousPage()
                     throws SQLException
Retrieves the data present in the page prior to the page from where it is called.

Specified by:
previousPage in interface CachedRowSet
Returns:
boolean value true if it retrieves the previous page, flase if it is on the first page.
Throws:
SQLException - if it is called before populate is called or ResultSet is of type ResultSet.TYPE_FORWARD_ONLY or if an error occurs.

setRowInserted

public void setRowInserted(boolean insertFlag)
                    throws SQLException
Sets the status for the row on which the cursor is positioned. The insertFlag is used to mention the toggle status for this row

Parameters:
insertFlag - if it is true - marks this row as inserted if it is false - marks it as not a newly inserted row
Throws:
SQLException - if an error occurs while doing this operation

getSQLXML

public SQLXMLgetSQLXML(int columnIndex)
                 throws SQLException
Retrieves the value of the designated SQL XML parameter as a SQLXML object in the Java programming language.

Specified by:
getSQLXML in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
a SQLXML object that maps an SQL XML value
Throws:
SQLException - if a database access error occurs
Since:
6.0

getSQLXML

public SQLXMLgetSQLXML(java.lang.String colName)
                 throws SQLException
Retrieves the value of the designated SQL XML parameter as a SQLXML object in the Java programming language.

Specified by:
getSQLXML in interface ResultSet
Parameters:
colName - the name of the column from which to retrieve the value
Returns:
a SQLXML object that maps an SQL XML value
Throws:
SQLException - if a database access error occurs

getRowId

public RowIdgetRowId(int columnIndex)
               throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.

Specified by:
getRowId in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second 2, ...
Returns:
the column value if the value is a SQL NULL the value returned is null
Throws:
SQLException - if a database access error occurs
Since:
6.0

getRowId

public RowIdgetRowId(java.lang.String columnName)
               throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a java.sql.RowId object in the Java programming language.

Specified by:
getRowId in interface ResultSet
Parameters:
columnName - the name of the column
Returns:
the column value if the value is a SQL NULL the value returned is null
Throws:
SQLException - if a database access error occurs
Since:
6.0

updateRowId

public void updateRowId(int columnIndex,
                        RowId x)
                 throws SQLException
Updates the designated column with a RowId value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateRowId in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second 2, ...
x - the column value
Throws:
SQLException - if a database access occurs
Since:
6.0

updateRowId

public void updateRowId(java.lang.String columnName,
                        RowId x)
                 throws SQLException
Updates the designated column with a RowId value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateRowId in interface ResultSet
Parameters:
columnName - the name of the column
x - the column value
Throws:
SQLException - if a database access occurs
Since:
6.0

getHoldability

public int getHoldability()
                   throws SQLException
Retrieves the holdability of this ResultSet object

Specified by:
getHoldability in interface ResultSet
Returns:
either ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
Throws:
SQLException - if a database error occurs
Since:
6.0

isClosed

public boolean isClosed()
                 throws SQLException
Retrieves whether this ResultSet object has been closed. A ResultSet is closed if the method close has been called on it, or if it is automatically closed.

Specified by:
isClosed in interface ResultSet
Returns:
true if this ResultSet object is closed; false if it is still open
Throws:
SQLException - if a database access error occurs
Since:
6.0

updateNString

public void updateNString(int columnIndex,
                          java.lang.String nString)
                   throws SQLException
This method is used for updating columns that support National Character sets. It can be used for updating NCHAR,NVARCHAR and LONGNVARCHAR columns.

Specified by:
updateNString in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second 2, ...
nString - the value for the column to be updated
Throws:
SQLException - if a database access error occurs
Since:
6.0

updateNString

public void updateNString(java.lang.String columnName,
                          java.lang.String nString)
                   throws SQLException
This method is used for updating columns that support National Character sets. It can be used for updating NCHAR,NVARCHAR and LONGNVARCHAR columns.

Specified by:
updateNString in interface ResultSet
Parameters:
columnName - name of the Column
nString - the value for the column to be updated
Throws:
SQLException - if a database access error occurs
Since:
6.0

updateNClob

public void updateNClob(int columnIndex,
                        NClob nClob)
                 throws SQLException
Description copied from interface: ResultSet
Updates the designated column with a java.sql.NClob value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateNClob in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second 2, ...
nClob - the value for the column to be updated
Throws:
SQLException - if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException - if the JDBC driver does not support this method

updateNClob

public void updateNClob(java.lang.String columnName,
                        NClob nClob)
                 throws SQLException
This method is used for updating SQL NCLOB type that maps to java.sql.Types.NCLOB

Specified by:
updateNClob in interface ResultSet
Parameters:
columnName - name of the column
nClob - the value for the column to be updated
Throws:
SQLException - if a database access error occurs
Since:
6.0

getNClob

public NClobgetNClob(int i)
               throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.

Specified by:
getNClob in interface ResultSet
Parameters:
i - the first column is 1, the second is 2, ...
Returns:
a NClob object representing the SQL NCLOB value in the specified column
Throws:
SQLException - if a database access error occurs
Since:
6.0

getNClob

public NClobgetNClob(java.lang.String colName)
               throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a NClob object in the Java programming language.

Specified by:
getNClob in interface ResultSet
Parameters:
colName - the name of the column from which to retrieve the value
Returns:
a NClob object representing the SQL NCLOB value in the specified column
Throws:
SQLException - if a database access error occurs
Since:
6.0

unwrap

public <T> T unwrap(java.lang.Class<T> iface)
         throws SQLException
Description copied from interface: Wrapper
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling unwrap recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an SQLException is thrown.

Specified by:
unwrap in interface Wrapper
Parameters:
iface - A Class defining an interface that the result must implement.
Returns:
an object that implements the interface. May be a proxy for the actual implementing object.
Throws:
SQLException - If no object found that implements the interface

isWrapperFor

public boolean isWrapperFor(java.lang.Class<?> interfaces)
                     throws SQLException
Description copied from interface: Wrapper
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling isWrapperFor on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to unwrap so that callers can use this method to avoid expensive unwrap calls that may fail. If this method returns true then calling unwrap with the same argument should succeed.

Specified by:
isWrapperFor in interface Wrapper
Parameters:
interfaces - a Class defining an interface.
Returns:
true if this implements the interface or directly or indirectly wraps an object that does.
Throws:
SQLException - if an error occurs while determining whether this is a wrapper for an object with the given interface.

setSQLXML

public void setSQLXML(int parameterIndex,
                      SQLXML xmlObject)
               throws SQLException
Sets the designated parameter to the given java.sql.SQLXML object. The driver converts this to an SQL XML value when it sends it to the database.

Specified by:
setSQLXML in interface RowSet
Overrides:
setSQLXML in class BaseRowSet
Parameters:
parameterIndex - index of the first parameter is 1, the second is 2, ...
xmlObject - a SQLXML object that maps an SQL XML value
Throws:
SQLException - if a database access error occurs
Since:
1.6

setSQLXML

public void setSQLXML(java.lang.String parameterName,
                      SQLXML xmlObject)
               throws SQLException
Sets the designated parameter to the given java.sql.SQLXML object. The driver converts this to an SQL XML value when it sends it to the database.

Specified by:
setSQLXML in interface RowSet
Overrides:
setSQLXML in class BaseRowSet
Parameters:
parameterName - the name of the parameter
xmlObject - a SQLXML object that maps an SQL XML value
Throws:
SQLException - if a database access error occurs
Since:
1.6

setRowId

public void setRowId(int parameterIndex,
                     RowId x)
              throws SQLException
Sets the designated parameter to the given java.sql.RowId object. The driver converts this to a SQL ROWID value when it sends it to the database

Specified by:
setRowId in interface RowSet
Overrides:
setRowId in class BaseRowSet
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
x - the parameter value
Throws:
SQLException - if a database access error occurs
Since:
1.6

setRowId

public void setRowId(java.lang.String parameterName,
                     RowId x)
              throws SQLException
Sets the designated parameter to the given java.sql.RowId object. The driver converts this to a SQL ROWID when it sends it to the database.

Specified by:
setRowId in interface RowSet
Overrides:
setRowId in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs
Since:
1.6

setNCharacterStream

public void setNCharacterStream(int parameterIndex,
                                java.io.Reader value)
                         throws SQLException
Sets the designated parameter to a Reader object. The Reader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setNCharacterStream which takes a length parameter.

Specified by:
setNCharacterStream in interface RowSet
Overrides:
setNCharacterStream in class BaseRowSet
Parameters:
parameterIndex - of the first parameter is 1, the second is 2, ...
value - the parameter value
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur ; if a database access error occurs; or this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setNClob

public void setNClob(java.lang.String parameterName,
                     NClob value)
              throws SQLException
Sets the designated parameter to a java.sql.NClob object. The object implements the java.sql.NClob interface. This NClob object maps to a SQL NCLOB.

Specified by:
setNClob in interface RowSet
Overrides:
setNClob in class BaseRowSet
Parameters:
parameterName - the name of the column to be set
value - the parameter value
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; or if a database access error occurs
Since:
1.6

getNCharacterStream

public java.io.Reader getNCharacterStream(int columnIndex)
                                   throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.

Specified by:
getNCharacterStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language.
Throws:
SQLException - if a database access error occurs
Since:
1.6

getNCharacterStream

public java.io.Reader getNCharacterStream(java.lang.String columnName)
                                   throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a java.io.Reader object. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.

Specified by:
getNCharacterStream in interface ResultSet
Parameters:
columnName - the name of the column
Returns:
a java.io.Reader object that contains the column value; if the value is SQL NULL, the value returned is null in the Java programming language
Throws:
SQLException - if a database access error occurs
Since:
1.6

updateSQLXML

public void updateSQLXML(int columnIndex,
                         SQLXML xmlObject)
                  throws SQLException
Updates the designated column with a java.sql.SQLXML value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateSQLXML in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second 2, ...
xmlObject - the value for the column to be updated
Throws:
SQLException - if a database access error occurs
Since:
1.6

updateSQLXML

public void updateSQLXML(java.lang.String columnName,
                         SQLXML xmlObject)
                  throws SQLException
Updates the designated column with a java.sql.SQLXML value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateSQLXML in interface ResultSet
Parameters:
columnName - the name of the column
xmlObject - the column value
Throws:
SQLException - if a database access occurs
Since:
1.6

getNString

public java.lang.String getNString(int columnIndex)
                            throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.

Specified by:
getNString in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the value returned is null
Throws:
SQLException - if a database access error occurs
Since:
1.6

getNString

public java.lang.String getNString(java.lang.String columnName)
                            throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language. It is intended for use when accessing NCHAR,NVARCHAR and LONGNVARCHAR columns.

Specified by:
getNString in interface ResultSet
Parameters:
columnName - the SQL name of the column
Returns:
the column value; if the value is SQL NULL, the value returned is null
Throws:
SQLException - if a database access error occurs
Since:
1.6

updateNCharacterStream

public void updateNCharacterStream(int columnIndex,
                                   java.io.Reader x,
                                   long length)
                            throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateNCharacterStream in interface ResultSet
Parameters:
columnIndex - - the first column is 1, the second is 2, ...
x - - the new column value
length - - the length of the stream
Throws:
SQLException - if a database access error occurs
Since:
1.6

updateNCharacterStream

public void updateNCharacterStream(java.lang.String columnName,
                                   java.io.Reader x,
                                   long length)
                            throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateNCharacterStream in interface ResultSet
Parameters:
columnName - - name of the Column
x - - the new column value
length - - the length of the stream
Throws:
SQLException - if a database access error occurs
Since:
1.6

updateNCharacterStream

public void updateNCharacterStream(int columnIndex,
                                   java.io.Reader x)
                            throws SQLException
Updates the designated column with a character stream value. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNCharacterStream which takes a length parameter.

Specified by:
updateNCharacterStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateNCharacterStream

public void updateNCharacterStream(java.lang.String columnLabel,
                                   java.io.Reader reader)
                            throws SQLException
Updates the designated column with a character stream value. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNCharacterStream which takes a length parameter.

Specified by:
updateNCharacterStream in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
reader - the java.io.Reader object containing the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBlob

public void updateBlob(int columnIndex,
                       java.io.InputStream inputStream,
                       long length)
                throws SQLException
Updates the designated column using the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateBlob in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
inputStream - An object that contains the data to set the parameter value to.
length - the number of bytes in the parameter data.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBlob

public void updateBlob(java.lang.String columnLabel,
                       java.io.InputStream inputStream,
                       long length)
                throws SQLException
Updates the designated column using the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateBlob in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
inputStream - An object that contains the data to set the parameter value to.
length - the number of bytes in the parameter data.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBlob

public void updateBlob(int columnIndex,
                       java.io.InputStream inputStream)
                throws SQLException
Updates the designated column using the given input stream. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBlob which takes a length parameter.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateBlob in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
inputStream - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBlob

public void updateBlob(java.lang.String columnLabel,
                       java.io.InputStream inputStream)
                throws SQLException
Updates the designated column using the given input stream. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBlob which takes a length parameter.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateBlob in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
inputStream - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateClob

public void updateClob(int columnIndex,
                       java.io.Reader reader,
                       long length)
                throws SQLException
Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateClob in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateClob

public void updateClob(java.lang.String columnLabel,
                       java.io.Reader reader,
                       long length)
                throws SQLException
Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateClob in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateClob

public void updateClob(int columnIndex,
                       java.io.Reader reader)
                throws SQLException
Updates the designated column using the given Reader object. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateClob which takes a length parameter.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateClob in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateClob

public void updateClob(java.lang.String columnLabel,
                       java.io.Reader reader)
                throws SQLException
Updates the designated column using the given Reader object. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateClob which takes a length parameter.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateClob in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateNClob

public void updateNClob(int columnIndex,
                        java.io.Reader reader,
                        long length)
                 throws SQLException
Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateNClob in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second 2, ...
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateNClob

public void updateNClob(java.lang.String columnLabel,
                        java.io.Reader reader,
                        long length)
                 throws SQLException
Updates the designated column using the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateNClob in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateNClob

public void updateNClob(int columnIndex,
                        java.io.Reader reader)
                 throws SQLException
Updates the designated column using the given Reader object. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNClob which takes a length parameter.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateNClob in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second 2, ...
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateNClob

public void updateNClob(java.lang.String columnLabel,
                        java.io.Reader reader)
                 throws SQLException
Updates the designated column using the given Reader object. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateNClob which takes a length parameter.

The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateNClob in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency is CONCUR_READ_ONLY
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateAsciiStream

public void updateAsciiStream(int columnIndex,
                              java.io.InputStream x,
                              long length)
                       throws SQLException
Updates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBinaryStream

public void updateBinaryStream(int columnIndex,
                               java.io.InputStream x,
                               long length)
                        throws SQLException
Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateCharacterStream

public void updateCharacterStream(int columnIndex,
                                  java.io.Reader x,
                                  long length)
                           throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateCharacterStream

public void updateCharacterStream(java.lang.String columnLabel,
                                  java.io.Reader reader,
                                  long length)
                           throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
reader - the java.io.Reader object containing the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateAsciiStream

public void updateAsciiStream(java.lang.String columnLabel,
                              java.io.InputStream x,
                              long length)
                       throws SQLException
Updates the designated column with an ascii stream value, which will have the specified number of bytes.. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBinaryStream

public void updateBinaryStream(java.lang.String columnLabel,
                               java.io.InputStream x,
                               long length)
                        throws SQLException
Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
x - the new column value
length - the length of the stream
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBinaryStream

public void updateBinaryStream(int columnIndex,
                               java.io.InputStream x)
                        throws SQLException
Updates the designated column with a binary stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBinaryStream which takes a length parameter.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateBinaryStream

public void updateBinaryStream(java.lang.String columnLabel,
                               java.io.InputStream x)
                        throws SQLException
Updates the designated column with a binary stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateBinaryStream which takes a length parameter.

Specified by:
updateBinaryStream in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateCharacterStream

public void updateCharacterStream(int columnIndex,
                                  java.io.Reader x)
                           throws SQLException
Updates the designated column with a character stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateCharacterStream which takes a length parameter.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateCharacterStream

public void updateCharacterStream(java.lang.String columnLabel,
                                  java.io.Reader reader)
                           throws SQLException
Updates the designated column with a character stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateCharacterStream which takes a length parameter.

Specified by:
updateCharacterStream in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
reader - the java.io.Reader object containing the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateAsciiStream

public void updateAsciiStream(int columnIndex,
                              java.io.InputStream x)
                       throws SQLException
Updates the designated column with an ascii stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateAsciiStream which takes a length parameter.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
x - the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

updateAsciiStream

public void updateAsciiStream(java.lang.String columnLabel,
                              java.io.InputStream x)
                       throws SQLException
Updates the designated column with an ascii stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the updateRow or insertRow methods are called to update the database.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of updateAsciiStream which takes a length parameter.

Specified by:
updateAsciiStream in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la bel is the name of the column
x - the new column value
Throws:
SQLException - if a database access error occurs, the result set concurrency is CONCUR_READ_ONLY or this method is called on a closed result set
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setURL

public void setURL(int parameterIndex,
                   java.net.URL x)
            throws SQLException
Sets the designated parameter to the given java.net.URL value. The driver converts this to an SQL DATALINK value when it sends it to the database.

Specified by:
setURL in interface RowSet
Overrides:
setURL in class BaseRowSet
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
x - the java.net.URL object to be set
Throws:
SQLException - if a database access error occurs or this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4

setNClob

public void setNClob(int parameterIndex,
                     java.io.Reader reader)
              throws SQLException
Sets the designated parameter to a Reader object. This method differs from the setCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as a NCLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGNVARCHAR or a NCLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setNClob which takes a length parameter.

Specified by:
setNClob in interface RowSet
Overrides:
setNClob in class BaseRowSet
Parameters:
parameterIndex - index of the first parameter is 1, the second is 2, ...
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if parameterIndex does not correspond to a parameter marker in the SQL statement; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setNClob

public void setNClob(java.lang.String parameterName,
                     java.io.Reader reader,
                     long length)
              throws SQLException
Sets the designated parameter to a Reader object. The reader must contain the number of characters specified by length otherwise a SQLException will be generated when the CallableStatement is executed. This method differs from the setCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as a NCLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a LONGNVARCHAR or a NCLOB

Specified by:
setNClob in interface RowSet
Overrides:
setNClob in class BaseRowSet
Parameters:
parameterName - the name of the parameter to be set
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if parameterIndex does not correspond to a parameter marker in the SQL statement; if the length specified is less than zero; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setNClob

public void setNClob(java.lang.String parameterName,
                     java.io.Reader reader)
              throws SQLException
Sets the designated parameter to a Reader object. This method differs from the setCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as a NCLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a LONGNVARCHAR or a NCLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setNClob which takes a length parameter.

Specified by:
setNClob in interface RowSet
Overrides:
setNClob in class BaseRowSet
Parameters:
parameterName - the name of the parameter
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setNClob

public void setNClob(int parameterIndex,
                     java.io.Reader reader,
                     long length)
              throws SQLException
Sets the designated parameter to a Reader object. The reader must contain the number of characters specified by length otherwise a SQLException will be generated when the PreparedStatement is executed. This method differs from the setCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as a NCLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGNVARCHAR or a NCLOB

Specified by:
setNClob in interface RowSet
Overrides:
setNClob in class BaseRowSet
Parameters:
parameterIndex - index of the first parameter is 1, the second is 2, ...
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if parameterIndex does not correspond to a parameter marker in the SQL statement; if the length specified is less than zero; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed PreparedStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setNClob

public void setNClob(int parameterIndex,
                     NClob value)
              throws SQLException
Sets the designated parameter to a java.sql.NClob object. The driver converts this to a SQL NCLOB value when it sends it to the database.

Specified by:
setNClob in interface RowSet
Overrides:
setNClob in class BaseRowSet
Parameters:
parameterIndex - of the first parameter is 1, the second is 2, ...
value - the parameter value
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur ; or if a database access error occurs
Since:
1.6

setNString

public void setNString(int parameterIndex,
                       java.lang.String value)
                throws SQLException
Sets the designated paramter to the given String object. The driver converts this to a SQL NCHAR or NVARCHAR or LONGNVARCHAR value (depending on the argument's size relative to the driver's limits on NVARCHAR values) when it sends it to the database.

Specified by:
setNString in interface RowSet
Overrides:
setNString in class BaseRowSet
Parameters:
parameterIndex - of the first parameter is 1, the second is 2, ...
value - the parameter value
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur ; or if a database access error occurs
Since:
1.6

setNString

public void setNString(java.lang.String parameterName,
                       java.lang.String value)
                throws SQLException
Sets the designated paramter to the given String object. The driver converts this to a SQL NCHAR or NVARCHAR or LONGNVARCHAR

Specified by:
setNString in interface RowSet
Overrides:
setNString in class BaseRowSet
Parameters:
parameterName - the name of the column to be set
value - the parameter value
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; or if a database access error occurs
Since:
1.6

setNCharacterStream

public void setNCharacterStream(int parameterIndex,
                                java.io.Reader value,
                                long length)
                         throws SQLException
Sets the designated parameter to a Reader object. The Reader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

Specified by:
setNCharacterStream in interface RowSet
Overrides:
setNCharacterStream in class BaseRowSet
Parameters:
parameterIndex - of the first parameter is 1, the second is 2, ...
value - the parameter value
length - the number of characters in the parameter data.
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur ; or if a database access error occurs
Since:
1.6

setNCharacterStream

public void setNCharacterStream(java.lang.String parameterName,
                                java.io.Reader value,
                                long length)
                         throws SQLException
Sets the designated parameter to a Reader object. The Reader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

Specified by:
setNCharacterStream in interface RowSet
Overrides:
setNCharacterStream in class BaseRowSet
Parameters:
parameterName - the name of the column to be set
value - the parameter value
length - the number of characters in the parameter data.
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; or if a database access error occurs
Since:
1.6

setNCharacterStream

public void setNCharacterStream(java.lang.String parameterName,
                                java.io.Reader value)
                         throws SQLException
Sets the designated parameter to a Reader object. The Reader reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setNCharacterStream which takes a length parameter.

Specified by:
setNCharacterStream in interface RowSet
Overrides:
setNCharacterStream in class BaseRowSet
Parameters:
parameterName - the name of the parameter
value - the parameter value
Throws:
SQLException - if the driver does not support national character sets; if the driver can detect that a data conversion error could occur ; if a database access error occurs; or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setTimestamp

public void setTimestamp(java.lang.String parameterName,
                         Timestamp x,
                         java.util.Calendar cal)
                  throws SQLException
Sets the designated parameter to the given java.sql.Timestamp value, using the given Calendar object. The driver uses the Calendar object to construct an SQL TIMESTAMP value, which the driver then sends to the database. With a a Calendar object, the driver can calculate the timestamp taking into account a custom timezone. If no Calendar object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.

Specified by:
setTimestamp in interface RowSet
Overrides:
setTimestamp in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
cal - the Calendar object the driver will use to construct the timestamp
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getTimestamp(int)

setClob

public void setClob(java.lang.String parameterName,
                    java.io.Reader reader,
                    long length)
             throws SQLException
Sets the designated parameter to a Reader object. The reader must contain the number of characters specified by length otherwise a SQLException will be generated when the CallableStatement is executed. This method differs from the setCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as a CLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a LONGVARCHAR or a CLOB

Specified by:
setClob in interface RowSet
Overrides:
setClob in class BaseRowSet
Parameters:
parameterName - the name of the parameter to be set
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if parameterIndex does not correspond to a parameter marker in the SQL statement; if the length specified is less than zero; a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setClob

public void setClob(java.lang.String parameterName,
                    Clob x)
             throws SQLException
Sets the designated parameter to the given java.sql.Clob object. The driver converts this to an SQL CLOB value when it sends it to the database.

Specified by:
setClob in interface RowSet
Overrides:
setClob in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - a Clob object that maps an SQL CLOB value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setClob

public void setClob(java.lang.String parameterName,
                    java.io.Reader reader)
             throws SQLException
Sets the designated parameter to a Reader object. This method differs from the setCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as a CLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a LONGVARCHAR or a CLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setClob which takes a length parameter.

Specified by:
setClob in interface RowSet
Overrides:
setClob in class BaseRowSet
Parameters:
parameterName - the name of the parameter
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setDate

public void setDate(java.lang.String parameterName,
                    Date x)
             throws SQLException
Sets the designated parameter to the given java.sql.Date value using the default time zone of the virtual machine that is running the application. The driver converts this to an SQL DATE value when it sends it to the database.

Specified by:
setDate in interface RowSet
Overrides:
setDate in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getDate(int)

setDate

public void setDate(java.lang.String parameterName,
                    Date x,
                    java.util.Calendar cal)
             throws SQLException
Sets the designated parameter to the given java.sql.Date value, using the given Calendar object. The driver uses the Calendar object to construct an SQL DATE value, which the driver then sends to the database. With a a Calendar object, the driver can calculate the date taking into account a custom timezone. If no Calendar object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.

Specified by:
setDate in interface RowSet
Overrides:
setDate in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
cal - the Calendar object the driver will use to construct the date
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getDate(int)

setTime

public void setTime(java.lang.String parameterName,
                    Time x)
             throws SQLException
Sets the designated parameter to the given java.sql.Time value. The driver converts this to an SQL TIME value when it sends it to the database.

Specified by:
setTime in interface RowSet
Overrides:
setTime in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getTime(int)

setTime

public void setTime(java.lang.String parameterName,
                    Time x,
                    java.util.Calendar cal)
             throws SQLException
Sets the designated parameter to the given java.sql.Time value, using the given Calendar object. The driver uses the Calendar object to construct an SQL TIME value, which the driver then sends to the database. With a a Calendar object, the driver can calculate the time taking into account a custom timezone. If no Calendar object is specified, the driver uses the default timezone, which is that of the virtual machine running the application.

Specified by:
setTime in interface RowSet
Overrides:
setTime in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
cal - the Calendar object the driver will use to construct the time
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getTime(int)

setClob

public void setClob(int parameterIndex,
                    java.io.Reader reader)
             throws SQLException
Sets the designated parameter to a Reader object. This method differs from the setCharacterStream (int, Reader) method because it informs the driver that the parameter value should be sent to the server as a CLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARCHAR or a CLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setClob which takes a length parameter.

Specified by:
setClob in interface RowSet
Overrides:
setClob in class BaseRowSet
Parameters:
parameterIndex - index of the first parameter is 1, the second is 2, ...
reader - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs, this method is called on a closed PreparedStatementor if parameterIndex does not correspond to a parameter marker in the SQL statement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setClob

public void setClob(int parameterIndex,
                    java.io.Reader reader,
                    long length)
             throws SQLException
Sets the designated parameter to a Reader object. The reader must contain the number of characters specified by length otherwise a SQLException will be generated when the PreparedStatement is executed. This method differs from the setCharacterStream (int, Reader, int) method because it informs the driver that the parameter value should be sent to the server as a CLOB. When the setCharacterStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARCHAR or a CLOB

Specified by:
setClob in interface RowSet
Overrides:
setClob in class BaseRowSet
Parameters:
parameterIndex - index of the first parameter is 1, the second is 2, ...
reader - An object that contains the data to set the parameter value to.
length - the number of characters in the parameter data.
Throws:
SQLException - if a database access error occurs, this method is called on a closed PreparedStatement, if parameterIndex does not correspond to a parameter marker in the SQL statement, or if the length specified is less than zero.
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setBlob

public void setBlob(int parameterIndex,
                    java.io.InputStream inputStream,
                    long length)
             throws SQLException
Sets the designated parameter to a InputStream object. The inputstream must contain the number of characters specified by length otherwise a SQLException will be generated when the PreparedStatement is executed. This method differs from the setBinaryStream (int, InputStream, int) method because it informs the driver that the parameter value should be sent to the server as a BLOB. When the setBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARBINARY or a BLOB

Specified by:
setBlob in interface RowSet
Overrides:
setBlob in class BaseRowSet
Parameters:
parameterIndex - index of the first parameter is 1, the second is 2, ...
inputStream - An object that contains the data to set the parameter value to.
length - the number of bytes in the parameter data.
Throws:
SQLException - if a database access error occurs, this method is called on a closed PreparedStatement, if parameterIndex does not correspond to a parameter marker in the SQL statement, if the length specified is less than zero or if the number of bytes in the inputstream does not match the specfied length.
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setBlob

public void setBlob(int parameterIndex,
                    java.io.InputStream inputStream)
             throws SQLException
Sets the designated parameter to a InputStream object. This method differs from the setBinaryStream (int, InputStream) method because it informs the driver that the parameter value should be sent to the server as a BLOB. When the setBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARBINARY or a BLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setBlob which takes a length parameter.

Specified by:
setBlob in interface RowSet
Overrides:
setBlob in class BaseRowSet
Parameters:
parameterIndex - index of the first parameter is 1, the second is 2, ...
inputStream - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs, this method is called on a closed PreparedStatement or if parameterIndex does not correspond to a parameter marker in the SQL statement,
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setBlob

public void setBlob(java.lang.String parameterName,
                    java.io.InputStream inputStream,
                    long length)
             throws SQLException
Sets the designated parameter to a InputStream object. The inputstream must contain the number of characters specified by length, otherwise a SQLException will be generated when the CallableStatement is executed. This method differs from the setBinaryStream (int, InputStream, int) method because it informs the driver that the parameter value should be sent to the server as a BLOB. When the setBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a LONGVARBINARY or a BLOB

Specified by:
setBlob in interface RowSet
Overrides:
setBlob in class BaseRowSet
Parameters:
parameterName - the name of the parameter to be set the second is 2, ...
inputStream - An object that contains the data to set the parameter value to.
length - the number of bytes in the parameter data.
Throws:
SQLException - if parameterIndex does not correspond to a parameter marker in the SQL statement, or if the length specified is less than zero; if the number of bytes in the inputstream does not match the specfied length; if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setBlob

public void setBlob(java.lang.String parameterName,
                    Blob x)
             throws SQLException
Sets the designated parameter to the given java.sql.Blob object. The driver converts this to an SQL BLOB value when it sends it to the database.

Specified by:
setBlob in interface RowSet
Overrides:
setBlob in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - a Blob object that maps an SQL BLOB value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setBlob

public void setBlob(java.lang.String parameterName,
                    java.io.InputStream inputStream)
             throws SQLException
Sets the designated parameter to a InputStream object. This method differs from the setBinaryStream (int, InputStream) method because it informs the driver that the parameter value should be sent to the server as a BLOB. When the setBinaryStream method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a LONGVARBINARY or a BLOB

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setBlob which takes a length parameter.

Specified by:
setBlob in interface RowSet
Overrides:
setBlob in class BaseRowSet
Parameters:
parameterName - the name of the parameter
inputStream - An object that contains the data to set the parameter value to.
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setObject

public void setObject(java.lang.String parameterName,
                      java.lang.Object x,
                      int targetSqlType,
                      int scale)
               throws SQLException
Sets the value of the designated parameter with the given object. The second argument must be an object type; for integral values, the java.lang equivalent objects should be used.

The given Java object will be converted to the given targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing the interface SQLData), the JDBC driver should call the method SQLData.writeSQL to write it to the SQL data stream. If, on the other hand, the object is of a class implementing Ref, Blob, Clob, NClob, Struct, java.net.URL, or Array, the driver should pass it to the database as a value of the corresponding SQL type.

Note that this method may be used to pass datatabase- specific abstract data types.

Specified by:
setObject in interface RowSet
Overrides:
setObject in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the object containing the input parameter value
targetSqlType - the SQL type (as defined in java.sql.Types) to be sent to the database. The scale argument may further qualify this type.
scale - for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types, this value will be ignored.
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if targetSqlType is a ARRAY, BLOB, CLOB, DATALINK, JAVA_OBJECT, NCHAR, NCLOB, NVARCHAR, LONGNVARCHAR, REF, ROWID, SQLXML or STRUCT data type and the JDBC driver does not support this data type
Since:
1.4
See Also:
Types, getObject(int)

setObject

public void setObject(java.lang.String parameterName,
                      java.lang.Object x,
                      int targetSqlType)
               throws SQLException
Sets the value of the designated parameter with the given object. This method is like the method setObject above, except that it assumes a scale of zero.

Specified by:
setObject in interface RowSet
Overrides:
setObject in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the object containing the input parameter value
targetSqlType - the SQL type (as defined in java.sql.Types) to be sent to the database
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if targetSqlType is a ARRAY, BLOB, CLOB, DATALINK, JAVA_OBJECT, NCHAR, NCLOB, NVARCHAR, LONGNVARCHAR, REF, ROWID, SQLXML or STRUCT data type and the JDBC driver does not support this data type
Since:
1.4
See Also:
getObject(int)

setObject

public void setObject(java.lang.String parameterName,
                      java.lang.Object x)
               throws SQLException
Sets the value of the designated parameter with the given object. The second parameter must be of type Object; therefore, the java.lang equivalent objects should be used for built-in types.

The JDBC specification specifies a standard mapping from Java Object types to SQL types. The given argument will be converted to the corresponding SQL type before being sent to the database.

Note that this method may be used to pass datatabase- specific abstract data types, by using a driver-specific Java type. If the object is of a class implementing the interface SQLData, the JDBC driver should call the method SQLData.writeSQL to write it to the SQL data stream. If, on the other hand, the object is of a class implementing Ref, Blob, Clob, NClob, Struct, java.net.URL, or Array, the driver should pass it to the database as a value of the corresponding SQL type.

This method throws an exception if there is an ambiguity, for example, if the object is of a class implementing more than one of the interfaces named above.

Specified by:
setObject in interface RowSet
Overrides:
setObject in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the object containing the input parameter value
Throws:
SQLException - if a database access error occurs, this method is called on a closed CallableStatement or if the given Object parameter is ambiguous
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getObject(int)

setAsciiStream

public void setAsciiStream(java.lang.String parameterName,
                           java.io.InputStream x,
                           int length)
                    throws SQLException
Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Specified by:
setAsciiStream in interface RowSet
Overrides:
setAsciiStream in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the Java input stream that contains the ASCII parameter value
length - the number of bytes in the stream
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4

setBinaryStream

public void setBinaryStream(java.lang.String parameterName,
                            java.io.InputStream x,
                            int length)
                     throws SQLException
Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large binary value is input to a LONGVARBINARY parameter, it may be more practical to send it via a java.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Specified by:
setBinaryStream in interface RowSet
Overrides:
setBinaryStream in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the java input stream which contains the binary parameter value
length - the number of bytes in the stream
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4

setCharacterStream

public void setCharacterStream(java.lang.String parameterName,
                               java.io.Reader reader,
                               int length)
                        throws SQLException
Sets the designated parameter to the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Specified by:
setCharacterStream in interface RowSet
Overrides:
setCharacterStream in class BaseRowSet
Parameters:
parameterName - the name of the parameter
reader - the java.io.Reader object that contains the UNICODE data used as the designated parameter
length - the number of characters in the stream
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4

setAsciiStream

public void setAsciiStream(java.lang.String parameterName,
                           java.io.InputStream x)
                    throws SQLException
Sets the designated parameter to the given input stream. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setAsciiStream which takes a length parameter.

Specified by:
setAsciiStream in interface RowSet
Overrides:
setAsciiStream in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the Java input stream that contains the ASCII parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setBinaryStream

public void setBinaryStream(java.lang.String parameterName,
                            java.io.InputStream x)
                     throws SQLException
Sets the designated parameter to the given input stream. When a very large binary value is input to a LONGVARBINARY parameter, it may be more practical to send it via a java.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setBinaryStream which takes a length parameter.

Specified by:
setBinaryStream in interface RowSet
Overrides:
setBinaryStream in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the java input stream which contains the binary parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setCharacterStream

public void setCharacterStream(java.lang.String parameterName,
                               java.io.Reader reader)
                        throws SQLException
Sets the designated parameter to the given Reader object. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of setCharacterStream which takes a length parameter.

Specified by:
setCharacterStream in interface RowSet
Overrides:
setCharacterStream in class BaseRowSet
Parameters:
parameterName - the name of the parameter
reader - the java.io.Reader object that contains the Unicode data
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.6

setBigDecimal

public void setBigDecimal(java.lang.String parameterName,
                          java.math.BigDecimal x)
                   throws SQLException
Sets the designated parameter to the given java.math.BigDecimal value. The driver converts this to an SQL NUMERIC value when it sends it to the database.

Specified by:
setBigDecimal in interface RowSet
Overrides:
setBigDecimal in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getBigDecimal(int, int)

setString

public void setString(java.lang.String parameterName,
                      java.lang.String x)
               throws SQLException
Sets the designated parameter to the given Java String value. The driver converts this to an SQL VARCHAR or LONGVARCHAR value (depending on the argument's size relative to the driver's limits on VARCHAR values) when it sends it to the database.

Specified by:
setString in interface RowSet
Overrides:
setString in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getString(int)

setBytes

public void setBytes(java.lang.String parameterName,
                     byte[] x)
              throws SQLException
Sets the designated parameter to the given Java array of bytes. The driver converts this to an SQL VARBINARY or LONGVARBINARY (depending on the argument's size relative to the driver's limits on VARBINARY values) when it sends it to the database.

Specified by:
setBytes in interface RowSet
Overrides:
setBytes in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getBytes(int)

setTimestamp

public void setTimestamp(java.lang.String parameterName,
                         Timestamp x)
                  throws SQLException
Sets the designated parameter to the given java.sql.Timestamp value. The driver converts this to an SQL TIMESTAMP value when it sends it to the database.

Specified by:
setTimestamp in interface RowSet
Overrides:
setTimestamp in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getTimestamp(int)

setNull

public void setNull(java.lang.String parameterName,
                    int sqlType)
             throws SQLException
Sets the designated parameter to SQL NULL.

Note: You must specify the parameter's SQL type.

Specified by:
setNull in interface RowSet
Overrides:
setNull in class BaseRowSet
Parameters:
parameterName - the name of the parameter
sqlType - the SQL type code defined in java.sql.Types
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4

setNull

public void setNull(java.lang.String parameterName,
                    int sqlType,
                    java.lang.String typeName)
             throws SQLException
Sets the designated parameter to SQL NULL. This version of the method setNull should be used for user-defined types and REF type parameters. Examples of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.

Note: To be portable, applications must give the SQL type code and the fully-qualified SQL type name when specifying a NULL user-defined or REF parameter. In the case of a user-defined type the name is the type name of the parameter itself. For a REF parameter, the name is the type name of the referenced type. If a JDBC driver does not need the type code or type name information, it may ignore it. Although it is intended for user-defined and Ref parameters, this method may be used to set a null parameter of any JDBC type. If the parameter does not have a user-defined or REF type, the given typeName is ignored.

Specified by:
setNull in interface RowSet
Overrides:
setNull in class BaseRowSet
Parameters:
parameterName - the name of the parameter
sqlType - a value from java.sql.Types
typeName - the fully-qualified name of an SQL user-defined type; ignored if the parameter is not a user-defined type or SQL REF value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4

setBoolean

public void setBoolean(java.lang.String parameterName,
                       boolean x)
                throws SQLException
Sets the designated parameter to the given Java boolean value. The driver converts this to an SQL BIT or BOOLEAN value when it sends it to the database.

Specified by:
setBoolean in interface RowSet
Overrides:
setBoolean in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getBoolean(int)

setByte

public void setByte(java.lang.String parameterName,
                    byte x)
             throws SQLException
Sets the designated parameter to the given Java byte value. The driver converts this to an SQL TINYINT value when it sends it to the database.

Specified by:
setByte in interface RowSet
Overrides:
setByte in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getByte(int)

setShort

public void setShort(java.lang.String parameterName,
                     short x)
              throws SQLException
Sets the designated parameter to the given Java short value. The driver converts this to an SQL SMALLINT value when it sends it to the database.

Specified by:
setShort in interface RowSet
Overrides:
setShort in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getShort(int)

setInt

public void setInt(java.lang.String parameterName,
                   int x)
            throws SQLException
Sets the designated parameter to the given Java int value. The driver converts this to an SQL INTEGER value when it sends it to the database.

Specified by:
setInt in interface RowSet
Overrides:
setInt in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getInt(int)

setLong

public void setLong(java.lang.String parameterName,
                    long x)
             throws SQLException
Sets the designated parameter to the given Java long value. The driver converts this to an SQL BIGINT value when it sends it to the database.

Specified by:
setLong in interface RowSet
Overrides:
setLong in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getLong(int)

setFloat

public void setFloat(java.lang.String parameterName,
                     float x)
              throws SQLException
Sets the designated parameter to the given Java float value. The driver converts this to an SQL FLOAT value when it sends it to the database.

Specified by:
setFloat in interface RowSet
Overrides:
setFloat in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getFloat(int)

setDouble

public void setDouble(java.lang.String parameterName,
                      double x)
               throws SQLException
Sets the designated parameter to the given Java double value. The driver converts this to an SQL DOUBLE value when it sends it to the database.

Specified by:
setDouble in interface RowSet
Overrides:
setDouble in class BaseRowSet
Parameters:
parameterName - the name of the parameter
x - the parameter value
Throws:
SQLException - if a database access error occurs or this method is called on a closed CallableStatement
SQLFeatureNotSupportedException - if the JDBC driver does not support this method
Since:
1.4
See Also:
getDouble(int)

getObject

public <T> T getObject(int columnIndex,
                       java.lang.Class<T> type)
            throws SQLException
Description copied from interface: ResultSet

Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a SQLException is thrown.

At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements SQLData, or Struct. Additional conversions may be supported and are vendor defined.

Specified by:
getObject in interface ResultSet
Parameters:
columnIndex - the first column is 1, the second is 2, ...
type - Class representing the Java data type to convert the designated column to.
Returns:
an instance of type holding the column value
Throws:
SQLException - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
SQLFeatureNotSupportedException - if the JDBC driver does not support this method

getObject

public <T> T getObject(java.lang.String columnLabel,
                       java.lang.Class<T> type)
            throws SQLException
Description copied from interface: ResultSet

Retrieves the value of the designated column in the current row of this ResultSet object and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a SQLException is thrown.

At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements SQLData, or Struct. Additional conversions may be supported and are vendor defined.

Specified by:
getObject in interface ResultSet
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
type - Class representing the Java data type to convert the designated column to.
Returns:
an instance of type holding the column value
Throws:
SQLException - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
SQLFeatureNotSupportedException - if the JDBC driver does not support this method


Java is a trademark or registered trademark of Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A All Rights Reserved.