3999N/A * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * The standard implementation of the <code>CachedRowSet</code> interface. 0N/A * See interface defintion for full behaviour and implementation requirements. 0N/A * This reference implementation has made provision for a one-to-one write back 0N/A * facility and it is curremtly be possible to change the peristence provider 0N/A * during the life-time of any CachedRowSetImpl. 0N/A * @author Jonathan Bruce, Amit Handa 0N/A * The <code>SyncProvider</code> used by the CachedRowSet 0N/A * The <code>RowSetReaderImpl</code> object that is the reader 0N/A * for this rowset. The method <code>execute</code> uses this 0N/A * reader as part of its implementation. 0N/A * The <code>RowSetWriterImpl</code> object that is the writer 0N/A * for this rowset. The method <code>acceptChanges</code> uses 0N/A * this writer as part of its implementation. 0N/A * The <code>Connection</code> object that connects with this 0N/A * <code>CachedRowSetImpl</code> object's current underlying data source. 0N/A * The <code>ResultSetMetaData</code> object that contains information 0N/A * about the columns in the <code>ResultSet</code> object that is the 0N/A * current source of data for this <code>CachedRowSetImpl</code> object. 0N/A * The <code>RowSetMetaData</code> object that contains information about 0N/A * the columns in this <code>CachedRowSetImpl</code> object. 0N/A // Properties of this RowSet 0N/A * An array containing the columns in this <code>CachedRowSetImpl</code> 0N/A * object that form a unique identifier for a row. This array 0N/A * is used by the writer. 0N/A * The name of the table in the underlying database to which updates 0N/A * should be written. This name is needed because most drivers 0N/A * do not return this information in a <code>ResultSetMetaData</code> 0N/A * A <code>Vector</code> object containing the <code>Row</code> 0N/A * objects that comprise this <code>CachedRowSetImpl</code> object. 0N/A * The current postion of the cursor in this <code>CachedRowSetImpl</code> 0N/A * The current postion of the cursor in this <code>CachedRowSetImpl</code> 0N/A * object not counting rows that have been deleted, if any. 0N/A * For example, suppose that the cursor is on the last row of a rowset 0N/A * that started with five rows and subsequently had the second and third 0N/A * rows deleted. The <code>absolutePos</code> would be <code>3</code>, 0N/A * whereas the <code>cursorPos</code> would be <code>5</code>. 0N/A * The number of deleted rows currently in this <code>CachedRowSetImpl</code> 0N/A * The total number of rows currently in this <code>CachedRowSetImpl</code> 0N/A * A special row used for constructing a new row. A new 0N/A * row is constructed by using <code>ResultSet.updateXXX</code> 0N/A * methods to insert column values into the insert row. 0N/A * A <code>boolean</code> indicating whether the cursor is 0N/A * currently on the insert row. 0N/A * The field that temporarily holds the last position of the 0N/A * cursor before it moved to the insert row, thus preserving 0N/A * the number of the current row to which the cursor may return. 0N/A * A <code>boolean</code> indicating whether the last value 0N/A * returned was an SQL <code>NULL</code>. 0N/A * A <code>SQLWarning</code> which logs on the warnings 0N/A * Used to track match column for JoinRowSet consumption 0N/A * Used to track match column for JoinRowSet consumption 0N/A * A <code>RowSetWarning</code> which logs on the warnings 0N/A * The default SyncProvider for the RI CachedRowSetImpl 0N/A * The boolean variable indicating locatorsUpdateValue 0N/A * The <code>ResultSet</code> object that is used to maintain the data when 0N/A * a ResultSet and start position are passed as parameters to the populate function 0N/A * The integer value indicating the end position in the ResultSetwhere the picking 0N/A * up of rows for populating a CachedRowSet object was left off. 0N/A * The integer value indicating the end position in the ResultSetwhere the picking 0N/A * up of rows for populating a CachedRowSet object was left off. 0N/A * The integer value indicating the position in the ResultSet, to populate the 0N/A * CachedRowSet object. 0N/A * The integer value indicating the positon from where the page prior to this 0N/A * The integer value indicating size of the page. 0N/A * The integer value indicating number of rows that have been processed so far. 0N/A * Used for checking whether maxRows has been reached or not. 0N/A * The boolean value when true signifies that pages are still to follow and a 0N/A * false value indicates that this is the last page. 0N/A * The boolean value indicating whether this is the first page or not. 0N/A * The boolean value indicating whether this is the last page or not. 0N/A * The integer value indicating how many times the populate function has been called. 0N/A * The integer value indicating the total number of rows to be processed in the 0N/A * ResultSet object passed to the populate function. 0N/A * The boolean value indicating how the CahedRowSet object has been populated for 0N/A * paging purpose. True indicates that connection parameter is passed. 0N/A * CachedRowSet reader object to read the data from the ResultSet when a connection 0N/A * parameter is passed to populate the CachedRowSet object for paging. 0N/A * The Vector holding the Match Columns 0N/A * The Vector that will hold the Match Column names. 0N/A * Trigger that indicates whether the active SyncProvider is exposes the 0N/A * additional TransactionalWriter method 0N/A * The field object for a transactional RowSet writer 0N/A * Constructs a new default <code>CachedRowSetImpl</code> object with 0N/A * the capacity to hold 100 rows. This new object has no metadata 0N/A * and has the following default values: 0N/A * onInsertRow = false 0N/A * showDeleted = false 0N/A * rowSetType = ResultSet.TYPE_SCROLL_INSENSITIVE 0N/A * concurrency = ResultSet.CONCUR_UPDATABLE 0N/A * isolation = Connection.TRANSACTION_READ_COMMITTED 0N/A * escapeProcessing = true 0N/A * onInsertRow = false 0N/A * A <code>CachedRowSetImpl</code> object is configured to use the default 0N/A * <code>RIOptimisticProvider</code> implementation to provide connectivity 0N/A * and synchronization capabilities to the set data source. 0N/A * @throws SQLException if an error occurs 0N/A // set the Reader, this maybe overridden latter 0N/A // allocate the parameters collection 0N/A // set up some default values 0N/A // set the warninings 0N/A * Provides a <code>CachedRowSetImpl</code> instance with the same default properties as 0N/A * as the zero parameter constructor. 0N/A * onInsertRow = false 0N/A * showDeleted = false 0N/A * rowSetType = ResultSet.TYPE_SCROLL_INSENSITIVE 0N/A * concurrency = ResultSet.CONCUR_UPDATABLE 0N/A * isolation = Connection.TRANSACTION_READ_COMMITTED 0N/A * escapeProcessing = true 0N/A * onInsertRow = false 0N/A * However, applications will have the means to specify at runtime the 0N/A * desired <code>SyncProvider</code> object. 0N/A * For example, creating a <code>CachedRowSetImpl</code> object as follows ensures 0N/A * that a it is established with the <code>com.foo.provider.Impl</code> synchronization 0N/A * implementation providing the synchronization mechanism for this disconnected 0N/A * <code>RowSet</code> object. 0N/A * Hashtable env = new Hashtable(); 0N/A * env.put(javax.sql.rowset.spi.SyncFactory.ROWSET_PROVIDER_NAME, 0N/A * "com.foo.provider.Impl"); 0N/A * CachedRowSetImpl crs = new CachedRowSet(env); 0N/A * Calling this constructor with a <code>null</code> parameter will 0N/A * cause the <code>SyncFactory</code> to provide the reference 0N/A * optimistic provider <code>com.sun.rowset.providers.RIOptimisticProvider</code>. 0N/A * In addition, the following properties can be associated with the 0N/A * provider to assist in determining the choice of the synchronizaton 0N/A * <li><code>ROWSET_SYNC_PROVIDER</code> - the property specifying the the 0N/A * <code>SyncProvider</code> class name to be instantiated by the 0N/A * <code>SyncFacttory</code> 0N/A * <li><code>ROWSET_SYNC_VENDOR</code> - the property specifying the software 0N/A * vendor associated with a <code>SyncProvider</code> implementation. 0N/A * <li><code>ROWSET_SYNC_PROVIDER_VER</code> - the property specifying the 0N/A * version of the <code>SyncProvider</code> implementation provided by the 0N/A * More specific detailes are available in the <code>SyncFactory</code> 0N/A * and <code>SyncProvider</code> specificiations later in this document. 0N/A * @param env a <code>Hashtable</code> object with a list of desired 0N/A * synchronization providers 0N/A * @throws SQLException if the requested provider cannot be found by the 0N/A * synchonization factory 0N/A // set the Reader, this maybe overridden latter 0N/A * Sets the <code>rvh</code> field to a new <code>Vector</code> 0N/A * object with a capacity of 100 and sets the 0N/A * <code>cursorPos</code> and <code>numRows</code> fields to zero. 0N/A * Sets the properties for this <code>CachedRowSetImpl</code> object to 0N/A * their default values. This method is called internally by the 0N/A * default constructor. 0N/A //Instantiating the vector for MatchColumns 0N/A for(
int i =
0; i <
10 ; i++) {
0N/A for(
int j =
0; j <
10; j++) {
0N/A * Determine whether the SyncProvider's writer implements the 0N/A * <code>TransactionalWriter<code> interface 0N/A * Sets an private field to all transaction bounddaries to be set 0N/A //----------------------------------------------------------------------- 0N/A //----------------------------------------------------------------------- 0N/A * Sets this <code>CachedRowSetImpl</code> object's command property 0N/A * to the given <code>String</code> object and clears the parameters, 0N/A * if any, that were set for the previous command. 0N/A * The command property may not be needed 0N/A * if the rowset is produced by a data source, such as a spreadsheet, 0N/A * that does not support commands. Thus, this property is optional 0N/A * and may be <code>null</code>. 0N/A * @param cmd a <code>String</code> object containing an SQL query 0N/A * that will be set as the command; may be <code>null</code> 0N/A * @throws SQLException if an error occurs 0N/A //--------------------------------------------------------------------- 0N/A // Reading and writing data 0N/A //--------------------------------------------------------------------- 0N/A * Populates this <code>CachedRowSetImpl</code> object with data from 0N/A * the given <code>ResultSet</code> object. This 0N/A * method is an alternative to the method <code>execute</code> 0N/A * for filling the rowset with data. The method <code>populate</code> 0N/A * does not require that the properties needed by the method 0N/A * <code>execute</code>, such as the <code>command</code> property, 0N/A * be set. This is true because the method <code>populate</code> 0N/A * is given the <code>ResultSet</code> object from 0N/A * which to get data and thus does not need to use the properties 0N/A * required for setting up a connection and executing this 0N/A * <code>CachedRowSetImpl</code> object's command. 0N/A * After populating this rowset with data, the method 0N/A * <code>populate</code> sets the rowset's metadata and 0N/A * then sends a <code>RowSetChangedEvent</code> object 0N/A * to all registered listeners prior to returning. 0N/A * @param data the <code>ResultSet</code> object containing the data 0N/A * to be read into this <code>CachedRowSetImpl</code> object 0N/A * @throws SQLException if an error occurs; or the max row setting is 0N/A * violated while populating the RowSet 0N/A // get the meta data for this ResultSet 0N/A // set up the metadata 0N/A // release the meta-data so that aren't tempted to use it. 0N/A +
"setting has exceeded max row setting"));
0N/A * check if the user has set a map. If no map 0N/A * is set then use plain getObject. This lets 0N/A * us work with drivers that do not support 0N/A * getObject with a map in fairly sensible way 0N/A * the following block checks for the various 0N/A * types that we have to serialize in order to 0N/A * store - right now only structs have been tested 0N/A // Also rowsFetched should be equal to rvh.size() 0N/A // notify any listeners that the rowset has changed 0N/A * Initializes the given <code>RowSetMetaData</code> object with the values 0N/A * in the given <code>ResultSetMetaData</code> object. 0N/A * @param md the <code>RowSetMetaData</code> object for this 0N/A * <code>CachedRowSetImpl</code> object, which will be set with 0N/A * @param rsmd the <code>ResultSetMetaData</code> object from which new 0N/A * values for md will be read 0N/A * @throws SQLException if an error occurs 0N/A * The PostgreSQL drivers sometimes return negative columnDisplaySize, 0N/A * which causes an exception to be thrown. Check for it. 0N/A * Drivers return some strange values for precision, for non-numeric data, including reports of 0N/A * non-integer values; maybe we should check type, & set to 0 for non-numeric types. 0N/A * It seems, from a bug report, that a driver can sometimes return a negative 0N/A * value for scale. javax.sql.rowset.RowSetMetaDataImpl will throw an exception 0N/A * if we attempt to set a negative value. As such, we'll check for this case. 0N/A // JDBC 4.0 mandates as does the Java EE spec that all DataBaseMetaData methods 0N/A // must be implemented, therefore, the previous fix for 5055528 is being backed out 0N/A * Populates this <code>CachedRowSetImpl</code> object with data, 0N/A * using the given connection to produce the result set from 0N/A * which data will be read. A second form of this method, 0N/A * which takes no arguments, uses the values from this rowset's 0N/A * user, password, and either url or data source properties to 0N/A * create a new database connection. The form of <code>execute</code> 0N/A * that is given a connection ignores these properties. 0N/A * @param conn A standard JDBC <code>Connection</code> object that this 0N/A * <code>CachedRowSet</code> object can pass to a synchronization provider 0N/A * to establish a connection to the data source 0N/A * @throws SQLException if an invalid <code>Connection</code> is supplied 0N/A * or an error occurs in establishing the connection to the 0N/A * @see java.sql.Connection 0N/A // store the connection so the reader can find it. 0N/A // Now call the current reader's readData method 0N/A // JDBC 4.0 mandates as does the Java EE spec that all DataBaseMetaData methods 0N/A // must be implemented, therefore, the previous fix for 5055528 is being backed out 0N/A * Sets this <code>CachedRowSetImpl</code> object's connection property 0N/A * to the given <code>Connection</code> object. This method is called 0N/A * internally by the version of the method <code>execute</code> that takes a 0N/A * <code>Connection</code> object as an argument. The reader for this 0N/A * <code>CachedRowSetImpl</code> object can retrieve the connection stored 0N/A * in the rowset's connection property by calling its 0N/A * <code>getConnection</code> method. 0N/A * @param connection the <code>Connection</code> object that was passed in 0N/A * to the method <code>execute</code> and is to be stored 0N/A * in this <code>CachedRowSetImpl</code> object's connection 0N/A * Propagates all row update, insert, and delete changes to the 0N/A * underlying data source backing this <code>CachedRowSetImpl</code> 0N/A * <b>Note</b>In the reference implementation an optimistic concurrency implementation 0N/A * is provided as a sample implementation of a the <code>SyncProvider</code> 0N/A * This method fails if any of the updates cannot be propagated back 0N/A * to the data source. When it fails, the caller can assume that 0N/A * none of the updates are reflected in the data source. 0N/A * When an exception is thrown, the current row 0N/A * is set to the first "updated" row that resulted in an exception 0N/A * unless the row that caused the exception is a "deleted" row. 0N/A * In that case, when deleted rows are not shown, which is usually true, 0N/A * the current row is not affected. 0N/A * If no <code>SyncProvider</code> is configured, the reference implementation 0N/A * leverages the <code>RIOptimisticProvider</code> available which provides the 0N/A * default and reference synchronization capabilities for disconnected 0N/A * <code>RowSets</code>. 0N/A * @throws SQLException if the cursor is on the insert row or the underlying 0N/A * reference synchronization provider fails to commit the updates 0N/A * @throws SyncProviderException if an internal error occurs within the 0N/A * <code>SyncProvider</code> instance during either during the 0N/A * process or at any time when the <code>SyncProvider</code> 0N/A * instance touches the data source. 0N/A * @see #acceptChanges(java.sql.Connection) 0N/A * @see javax.sql.RowSetWriter 0N/A * @see javax.sql.rowset.spi.SyncProvider 0N/A * Propagates all row update, insert, and delete changes to the 0N/A * data source backing this <code>CachedRowSetImpl</code> object 0N/A * using the given <code>Connection</code> object. 0N/A * The reference implementation <code>RIOptimisticProvider</code> 0N/A * modifies its synchronization to a write back function given 0N/A * the updated connection 0N/A * The reference implementation modifies its synchronization behaviour 0N/A * via the <code>SyncProvider</code> to ensure the synchronization 0N/A * occurs according to the updated JDBC <code>Connection</code> 0N/A * @param con a standard JDBC <code>Connection</code> object 0N/A * @throws SQLException if the cursor is on the insert row or the underlying 0N/A * synchronization provider fails to commit the updates 0N/A * back to the data source 0N/A * @see #acceptChanges 0N/A * @see javax.sql.RowSetWriter 0N/A * @see javax.sql.rowset.spi.SyncFactory 0N/A * @see javax.sql.rowset.spi.SyncProvider 0N/A * Restores this <code>CachedRowSetImpl</code> object to its original state, 0N/A * that is, its state before the last set of changes. 0N/A * Before returning, this method moves the cursor before the first row 0N/A * and sends a <code>rowSetChanged</code> event to all registered 0N/A * @throws SQLException if an error is occurs rolling back the RowSet 0N/A * state to the definied original value. 0N/A * @see javax.sql.RowSetListener#rowSetChanged 0N/A // move to before the first 0N/A // notify any listeners 0N/A * Releases the current contents of this <code>CachedRowSetImpl</code> 0N/A * object and sends a <code>rowSetChanged</code> event object to all 0N/A * registered listeners. 0N/A * @throws SQLException if an error occurs flushing the contents of 0N/A * @see javax.sql.RowSetListener#rowSetChanged 0N/A * Cancels deletion of the current row and notifies listeners that 0N/A * a row has changed. 0N/A * Note: This method can be ignored if deleted rows are not being shown, 0N/A * which is the normal case. 0N/A * @throws SQLException if the cursor is not on a valid row 0N/A // make sure we are on a row 0N/A // don't want this to happen... 0N/A * Immediately removes the current row from this 0N/A * <code>CachedRowSetImpl</code> object if the row has been inserted, and 0N/A * also notifies listeners the a row has changed. An exception is thrown 0N/A * if the row is not a row that has been inserted or the cursor is before 0N/A * the first row, after the last row, or on the insert row. 0N/A * This operation cannot be undone. 0N/A * @throws SQLException if an error occurs, 0N/A * the cursor is not on a valid row, 0N/A * or the row has not been inserted 0N/A // make sure we are on a row 0N/A // don't want this to happen... 0N/A * Immediately reverses the last update operation if the 0N/A * row has been modified. This method can be 0N/A * called to reverse updates on a all columns until all updates in a row have 0N/A * been rolled back to their originating state since the last synchronization 0N/A * (<code>acceptChanges</code>) or population. This method may also be called 0N/A * while performing updates to the insert row. 0N/A * <code>undoUpdate</code may be called at any time during the life-time of a 0N/A * rowset, however after a synchronization has occurs this method has no 0N/A * affect until further modification to the RowSet data occurs. 0N/A * @throws SQLException if cursor is before the first row, after the last 0N/A * @see java.sql.ResultSet#cancelRowUpdates 0N/A // if on insert row, cancel the insert row 0N/A // make the insert row flag, 0N/A // cursorPos back to the current row 0N/A // else if not on insert row 0N/A // call undoUpdate or undoInsert 0N/A //-------------------------------------------------------------------- 0N/A //-------------------------------------------------------------------- 0N/A * Returns a new <code>RowSet</code> object backed by the same data as 0N/A * that of this <code>CachedRowSetImpl</code> object and sharing a set of cursors 0N/A * with it. This allows cursors to interate over a shared set of rows, providing 0N/A * multiple views of the underlying data. 0N/A * @return a <code>RowSet</code> object that is a copy of this <code>CachedRowSetImpl</code> 0N/A * object and shares a set of cursors with it 0N/A * @throws SQLException if an error occurs or cloning is 0N/A * @see javax.sql.RowSetEvent 0N/A * @see javax.sql.RowSetListener 0N/A * Returns a new <code>RowSet</code> object containing by the same data 0N/A * as this <code>CachedRowSetImpl</code> object. This method 0N/A * differs from the method <code>createCopy</code> in that it throws a 0N/A * <code>CloneNotSupportedException</code> object instead of an 0N/A * <code>SQLException</code> object, as the method <code>createShared</code> 0N/A * does. This <code>clone</code> 0N/A * method is called internally by the method <code>createShared</code>, 0N/A * which catches the <code>CloneNotSupportedException</code> object 0N/A * and in turn throws a new <code>SQLException</code> object. 0N/A * @return a copy of this <code>CachedRowSetImpl</code> object 0N/A * @throws CloneNotSupportedException if an error occurs when 0N/A * attempting to clone this <code>CachedRowSetImpl</code> object 0N/A * @see #createShared 0N/A * Creates a <code>RowSet</code> object that is a deep copy of 0N/A * this <code>CachedRowSetImpl</code> object's data, including 0N/A * constraints. Updates made 0N/A * on a copy are not visible to the original rowset; 0N/A * a copy of a rowset is completely independent from the original. 0N/A * Making a copy saves the cost of creating an identical rowset 0N/A * from first principles, which can be quite expensive. 0N/A * For example, it can eliminate the need to query a 0N/A * remote database server. 0N/A * @return a new <code>CachedRowSet</code> object that is a deep copy 0N/A * of this <code>CachedRowSet</code> object and is 0N/A * completely independent from this <code>CachedRowSetImpl</code> 0N/A * @throws SQLException if an error occurs in generating the copy of this 0N/A * of the <code>CachedRowSetImpl</code> 0N/A * @see #createShared 0N/A * @see javax.sql.RowSetEvent 0N/A * @see javax.sql.RowSetListener 0N/A //return ((CachedRowSet)(in.readObject())); 0N/A * Creates a <code>RowSet</code> object that is a copy of 0N/A * this <code>CachedRowSetImpl</code> object's table structure 0N/A * and the constraints only. 0N/A * There will be no data in the object being returned. 0N/A * Updates made on a copy are not visible to the original rowset. 0N/A * This helps in getting the underlying XML schema which can 0N/A * be used as the basis for populating a <code>WebRowSet</code>. 0N/A * @return a new <code>CachedRowSet</code> object that is a copy 0N/A * of this <code>CachedRowSetImpl</code> object's schema and 0N/A * retains all the constraints on the original rowset but contains 0N/A * @throws SQLException if an error occurs in generating the copy 0N/A * of the <code>CachedRowSet</code> object 0N/A * @see #createShared 0N/A * @see #createCopyNoConstraints 0N/A * @see javax.sql.RowSetEvent 0N/A * @see javax.sql.RowSetListener 0N/A // Copy everything except data i.e all constraints 0N/A // Store the number of rows of "this" 0N/A // and make numRows equals zero. 0N/A // and make data also zero. 0N/A // reset this object back to number of rows. 0N/A * Creates a <code>CachedRowSet</code> object that is a copy of 0N/A * this <code>CachedRowSetImpl</code> object's data only. 0N/A * All constraints set in this object will not be there 0N/A * in the returning object. Updates made 0N/A * on a copy are not visible to the original rowset. 0N/A * @return a new <code>CachedRowSet</code> object that is a deep copy 0N/A * of this <code>CachedRowSetImpl</code> object and is 0N/A * completely independent from this <code>CachedRowSetImpl</code> object 0N/A * @throws SQLException if an error occurs in generating the copy of the 0N/A * of the <code>CachedRowSet</code> 0N/A * @see #createShared 0N/A * @see #createCopySchema 0N/A * @see javax.sql.RowSetEvent 0N/A * @see javax.sql.RowSetListener 0N/A // Copy the whole data ONLY without any constraints. 0N/A //do nothing, if the setMatchColumn is not set. 0N/A //do nothing, if the setMatchColumn is not set. 0N/A * Converts this <code>CachedRowSetImpl</code> object to a collection 0N/A * of tables. The sample implementation utilitizes the <code>TreeMap</code> 0N/A * This class guarantees that the map will be in ascending key order, 0N/A * sorted according to the natural order for the key's class. 0N/A * @return a <code>Collection</code> object consisting of tables, 0N/A * each of which is a copy of a row in this 0N/A * <code>CachedRowSetImpl</code> object 0N/A * @throws SQLException if an error occurs in generating the collection 0N/A * @see #toCollection(int) 0N/A * @see #toCollection(String) 0N/A * @see java.util.TreeMap 0N/A * Returns the specified column of this <code>CachedRowSetImpl</code> object 0N/A * as a <code>Collection</code> object. This method makes a copy of the 0N/A * column's data and utilitizes the <code>Vector</code> to establish the 0N/A * collection. The <code>Vector</code> class implements a growable array 0N/A * objects allowing the individual components to be accessed using an 0N/A * an integer index similar to that of an array. 0N/A * @return a <code>Collection</code> object that contains the value(s) 0N/A * stored in the specified column of this 0N/A * <code>CachedRowSetImpl</code> 0N/A * @throws SQLException if an error occurs generated the collection; or 0N/A * an invalid column is provided. 0N/A * @see #toCollection() 0N/A * @see #toCollection(String) 0N/A * @see java.util.Vector 0N/A * Returns the specified column of this <code>CachedRowSetImpl</code> object 0N/A * as a <code>Collection</code> object. This method makes a copy of the 0N/A * column's data and utilitizes the <code>Vector</code> to establish the 0N/A * collection. The <code>Vector</code> class implements a growable array 0N/A * objects allowing the individual components to be accessed using an 0N/A * an integer index similar to that of an array. 0N/A * @return a <code>Collection</code> object that contains the value(s) 0N/A * stored in the specified column of this 0N/A * <code>CachedRowSetImpl</code> 0N/A * @throws SQLException if an error occurs generated the collection; or 0N/A * an invalid column is provided. 0N/A * @see #toCollection() 0N/A * @see #toCollection(int) 0N/A * @see java.util.Vector 0N/A //-------------------------------------------------------------------- 0N/A // Advanced features 0N/A //-------------------------------------------------------------------- 0N/A * Returns the <code>SyncProvider</code> implementation being used 0N/A * with this <code>CachedRowSetImpl</code> implementation rowset. 0N/A * @return the SyncProvider used by the rowset. If not provider was 0N/A * set when the rowset was instantiated, the reference 0N/A * implementation (default) provider is returned. 0N/A * @throws SQLException if error occurs while return the 0N/A * <code>SyncProvider</code> instance. 0N/A * Sets the active <code>SyncProvider</code> and attempts to load 0N/A * load the new provider using the <code>SyncFactory</code> SPI. 0N/A * @throws SQLException if an error occurs while resetting the 0N/A * <code>SyncProvider</code>. 0N/A // methods inherited from RowSet 0N/A //--------------------------------------------------------------------- 0N/A // Reading and writing data 0N/A //--------------------------------------------------------------------- 0N/A * Populates this <code>CachedRowSetImpl</code> object with data. 0N/A * This form of the method uses the rowset's user, password, and url or 0N/A * data source name properties to create a database 0N/A * connection. If properties that are needed 0N/A * have not been set, this method will throw an exception. 0N/A * Another form of this method uses an existing JDBC <code>Connection</code> 0N/A * object instead of creating a new one; therefore, it ignores the 0N/A * properties used for establishing a new connection. 0N/A * The query specified by the command property is executed to create a 0N/A * <code>ResultSet</code> object from which to retrieve data. 0N/A * The current contents of the rowset are discarded, and the 0N/A * rowset's metadata is also (re)set. If there are outstanding updates, 0N/A * they are also ignored. 0N/A * The method <code>execute</code> closes any database connections that it 0N/A * @throws SQLException if an error occurs or the 0N/A * necessary properties have not been set 0N/A //----------------------------------- 0N/A // Methods inherited from ResultSet 0N/A //----------------------------------- 0N/A * Moves the cursor down one row from its current position and 0N/A * returns <code>true</code> if the new cursor position is a 0N/A * The cursor for a new <code>ResultSet</code> object is initially 0N/A * positioned before the first row. The first call to the method 0N/A * <code>next</code> moves the cursor to the first row, making it 0N/A * the current row; the second call makes the second row the 0N/A * current row, and so on. 0N/A * <P>If an input stream from the previous row is open, it is 0N/A * implicitly closed. The <code>ResultSet</code> object's warning 0N/A * chain is cleared when a new row is read. 0N/A * @return <code>true</code> if the new current row is valid; 0N/A * <code>false</code> if there are no more rows 0N/A * @throws SQLException if an error occurs or 0N/A * the cursor is not positioned in the rowset, before 0N/A * the first row, or after the last row 0N/A * make sure things look sane. The cursor must be 0N/A * positioned in the rowset or before first (0) or 0N/A * after last (numRows + 1) 0N/A // now move and notify 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the next 0N/A * row and returns <code>true</code> if the cursor is still in the rowset; 0N/A * returns <code>false</code> if the cursor has moved to the position after 0N/A * This method handles the cases where the cursor moves to a row that 0N/A * If this rowset shows deleted rows and the cursor moves to a row 0N/A * that has been deleted, this method moves the cursor to the next 0N/A * row until the cursor is on a row that has not been deleted. 0N/A * The method <code>internalNext</code> is called by methods such as 0N/A * <code>next</code>, <code>absolute</code>, and <code>relative</code>, 0N/A * and, as its name implies, is only called internally. 0N/A * This is a implementation only method and is not required as a standard 0N/A * implementation of the <code>CachedRowSet</code> interface. 0N/A * @return <code>true</code> if the cursor is on a valid row in this 0N/A * rowset; <code>false</code> if it is after the last row 0N/A * @throws SQLException if an error occurs 0N/A // increment to after last 0N/A /* each call to internalNext may increment cursorPos multiple 0N/A * times however, the absolutePos only increments once per call. 0N/A * Closes this <code>CachedRowSetImpl</code> objecy and releases any resources 0N/A * @throws SQLException if an error occurs when releasing any resources in use 0N/A * by this <code>CachedRowSetImpl</code> object 0N/A // close all data structures holding 0N/A // the disconnected rowset 0N/A // set all insert(s), update(s) & delete(s), 0N/A // if at all, to their initial values. 0N/A // clear the vector of it's present contents 0N/A // this will make it eligible for gc 0N/A * Reports whether the last column read was SQL <code>NULL</code>. 0N/A * Note that you must first call the method <code>getXXX</code> 0N/A * on a column to try to read its value and then call the method 0N/A * <code>wasNull</code> to determine whether the value was 0N/A * SQL <code>NULL</code>. 0N/A * @return <code>true</code> if the value in the last column read 0N/A * was SQL <code>NULL</code>; <code>false</code> otherwise 0N/A * @throws SQLException if an error occurs 0N/A * Sets the field <code>lastValueNull</code> to the given 0N/A * <code>boolean</code> value. 0N/A * @param value <code>true</code> to indicate that the value of 0N/A * the last column read was SQL <code>NULL</code>; 0N/A * <code>false</code> to indicate that it was not 0N/A // Methods for accessing results by column index 0N/A * Checks to see whether the given index is a valid column number 0N/A * in this <code>CachedRowSetImpl</code> object and throws 0N/A * an <code>SQLException</code> if it is not. The index is out of bounds 0N/A * if it is less than <code>1</code> or greater than the number of 0N/A * columns in this rowset. 0N/A * This method is called internally by the <code>getXXX</code> and 0N/A * <code>updateXXX</code> methods. 0N/A * @param idx the number of a column in this <code>CachedRowSetImpl</code> 0N/A * object; must be between <code>1</code> and the number of 0N/A * rows in this rowset 0N/A * @throws SQLException if the given index is out of bounds 0N/A * Checks to see whether the cursor for this <code>CachedRowSetImpl</code> 0N/A * object is on a row in the rowset and throws an 0N/A * <code>SQLException</code> if it is not. 0N/A * This method is called internally by <code>getXXX</code> methods, by 0N/A * <code>updateXXX</code> methods, and by methods that update, insert, 0N/A * or delete a row or that cancel a row update, insert, or delete. 0N/A * @throws SQLException if the cursor for this <code>CachedRowSetImpl</code> 0N/A * object is not on a valid row 0N/A * Returns the column number of the column with the given name in this 0N/A * <code>CachedRowSetImpl</code> object. This method throws an 0N/A * <code>SQLException</code> if the given name is not the name of 0N/A * one of the columns in this rowset. 0N/A * @param name a <code>String</code> object that is the name of a column in 0N/A * this <code>CachedRowSetImpl</code> object 0N/A * @throws SQLException if the given name does not match the name of one of 0N/A * the columns in this rowset 0N/A * Returns the insert row or the current row of this 0N/A * <code>CachedRowSetImpl</code>object. 0N/A * @return the <code>Row</code> object on which this <code>CachedRowSetImpl</code> 0N/A * objects's cursor is positioned 0N/A * Removes the row on which the cursor is positioned. 0N/A * This is a implementation only method and is not required as a standard 0N/A * implementation of the <code>CachedRowSet</code> interface. 0N/A * @throws SQLException if the cursor is positioned on the insert 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>String</code> object. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>null</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, SMALLINT, INTEGER, BIGINT, REAL, 0N/A * FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, <b>CHAR</b>, <b>VARCHAR</b></code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return type. 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>boolean</code> value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value as a <code>boolean</code> in the Java progamming language; 0N/A * if the value is SQL <code>NULL</code>, the result is <code>false</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>BOOLEAN</code> value 0N/A * @see #getBoolean(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A // check for Boolean... 0N/A // convert to a Double and compare to zero 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>byte</code> value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value as a <code>byte</code> in the Java programming 0N/A * language; if the value is SQL <code>NULL</code>, the result is <code>0</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code><b>TINYINT</b>, SMALLINT, INTEGER, BIGINT, REAL, 0N/A * FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type 0N/A * designates the recommended return type. 0N/A * @see #getByte(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>short</code> value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>0</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, <b>SMALLINT</b>, INTEGER, BIGINT, REAL 0N/A * FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return type. 0N/A * @see #getShort(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as an 0N/A * <code>int</code> value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>0</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, SMALLINT, <b>INTEGER</b>, BIGINT, REAL 0N/A * FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return type. 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>long</code> value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>0</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, SMALLINT, INTEGER, <b>BIGINT</b>, REAL 0N/A * FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return type. 0N/A * @see #getLong(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>float</code> value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>0</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, SMALLINT, INTEGER, BIGINT, <b>REAL</b>, 0N/A * FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return type. 0N/A * @see #getFloat(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>double</code> value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>0</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, SMALLINT, INTEGER, BIGINT, REAL, 0N/A * <b>FLOAT</b>, <b>DOUBLE</b>, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return type. 0N/A * @see #getDouble(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>java.math.BigDecimal</code> object. 0N/A * This method is deprecated; use the version of <code>getBigDecimal</code> 0N/A * that does not take a scale parameter and returns a value with full 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @param scale the number of digits to the right of the decimal point in the 0N/A * @return the column value with the specified number of digits to the right 0N/A * of the decimal point; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>null</code> 0N/A * @throws SQLException if the given column index is out of bounds, 0N/A * the cursor is not on a valid row, or this method fails 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>byte</code> array value. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value as a <code>byte</code> array in the Java programming 0N/A * language; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>null</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code><b>BINARY</b>, <b>VARBINARY</b> or 0N/A * LONGVARBINARY</code> value. 0N/A * The bold SQL type designates the recommended return type. 0N/A * @see #getBytes(String) 0N/A // make sure the cursor is on a valid row 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>java.sql.Date</code> object. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value as a <code>java.sql.Data</code> object; if 0N/A * the value is SQL <code>NULL</code>, the 0N/A * result is <code>null</code> 0N/A * @throws SQLException if the given column index is out of bounds, 0N/A * the cursor is not on a valid row, or this method fails 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * The object coming back from the db could be 0N/A * a date, a timestamp, or a char field variety. 0N/A * If it's a date type return it, a timestamp 0N/A * we turn into a long and then into a date, 0N/A * char strings we try to parse. Yuck. 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>java.sql.Time</code> object. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>null</code> 0N/A * @throws SQLException if the given column index is out of bounds, 0N/A * the cursor is not on a valid row, or this method fails 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * The object coming back from the db could be 0N/A * a date, a timestamp, or a char field variety. 0N/A * If it's a date type return it, a timestamp 0N/A * we turn into a long and then into a date, 0N/A * char strings we try to parse. Yuck. 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>java.sql.Timestamp</code> object. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * result is <code>null</code> 0N/A * @throws SQLException if the given column index is out of bounds, 0N/A * the cursor is not on a valid row, or this method fails 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * The object coming back from the db could be 0N/A * a date, a timestamp, or a char field variety. 0N/A * If it's a date type return it; a timestamp 0N/A * we turn into a long and then into a date; 0N/A * char strings we try to parse. Yuck. 0N/A * Retrieves the value of the designated column in the current row of this 0N/A * <code>CachedRowSetImpl</code> object as a <code>java.io.InputStream</code> 0N/A * A column value can be retrieved as a stream of ASCII characters 0N/A * and then read in chunks from the stream. This method is particularly 0N/A * suitable for retrieving large <code>LONGVARCHAR</code> values. The JDBC 0N/A * driver will do any necessary conversion from the database format into ASCII. 0N/A * <P><B>Note:</B> All the data in the returned stream must be 0N/A * read prior to getting the value of any other column. The next 0N/A * call to a get method implicitly closes the stream. . Also, a 0N/A * stream may return <code>0</code> for <code>CachedRowSetImpl.available()</code> 0N/A * whether there is data available or not. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @return a Java input stream that delivers the database column value 0N/A * as a stream of one-byte ASCII characters. If the value is SQL 0N/A * <code>NULL</code>, the result is <code>null</code>. 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>CHAR, VARCHAR</code>, <code><b>LONGVARCHAR</b></code> 0N/A * <code>BINARY, VARBINARY</code> or <code>LONGVARBINARY</code> value. The 0N/A * bold SQL type designates the recommended return types that this method is 0N/A * @see #getAsciiStream(String) 0N/A // always free an old stream 0N/A //make sure the cursor is on a vlid row 0N/A * A column value can be retrieved as a stream of Unicode characters 0N/A * and then read in chunks from the stream. This method is particularly 0N/A * suitable for retrieving large LONGVARCHAR values. The JDBC driver will 0N/A * do any necessary conversion from the database format into Unicode. 0N/A * <P><B>Note:</B> All the data in the returned stream must be 0N/A * read prior to getting the value of any other column. The next 0N/A * call to a get method implicitly closes the stream. . Also, a 0N/A * stream may return 0 for available() whether there is data 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @return a Java input stream that delivers the database column value 0N/A * as a stream of two byte Unicode characters. If the value is SQL NULL 0N/A * then the result is null. 0N/A * @throws SQLException if an error occurs 0N/A // always free an old stream 0N/A // make sure the cursor is on a valid row 0N/A * Retrieves the value of the designated column in the current row of this 0N/A * <code>CachedRowSetImpl</code> object as a <code>java.io.InputStream</code> 0N/A * A column value can be retrieved as a stream of uninterpreted bytes 0N/A * and then read in chunks from the stream. This method is particularly 0N/A * suitable for retrieving large <code>LONGVARBINARY</code> values. 0N/A * <P><B>Note:</B> All the data in the returned stream must be 0N/A * read prior to getting the value of any other column. The next 0N/A * call to a get method implicitly closes the stream. Also, a 0N/A * stream may return <code>0</code> for 0N/A * <code>CachedRowSetImpl.available()</code> whether there is data 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return a Java input stream that delivers the database column value 0N/A * as a stream of uninterpreted bytes. If the value is SQL <code>NULL</code> 0N/A * then the result is <code>null</code>. 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>BINARY, VARBINARY</code> or <code><b>LONGVARBINARY</b></code> 0N/A * The bold type indicates the SQL type that this method is recommened 0N/A * @see #getBinaryStream(String) 0N/A // always free an old stream 0N/A // make sure the cursor is on a valid row 0N/A // Methods for accessing results by column name 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>String</code> object. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TINYINT, SMALLINT, INTEGER 0N/A * BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, <b>CHAR</b>, 0N/A * <b>VARCHAR</b></code> or <code>LONGVARCHAR<</code> value. The bold SQL type 0N/A * designates the recommended return type. 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>boolean</code> value. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value as a <code>boolean</code> in the Java programming 0N/A * language; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>false</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>BOOLEAN</code> value 0N/A * @see #getBoolean(int) 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>byte</code> value. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value as a <code>byte</code> in the Java programming 0N/A * language; if the value is SQL <code>NULL</code>, the result is <code>0</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code><B>TINYINT</B>, SMALLINT, INTEGER, 0N/A * BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, 0N/A * VARCHAR</code> or <code>LONGVARCHAR</code> value. The 0N/A * bold type designates the recommended return type 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>short</code> value. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>0</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TINYINT, <b>SMALLINT</b>, INTEGER 0N/A * BIGINT, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, 0N/A * VARCHAR</code> or <code>LONGVARCHAR</code> value. The bold SQL type 0N/A * designates the recommended return type. 0N/A * @see #getShort(int) 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as an <code>int</code> value. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>0</code> 0N/A * @throws SQLException if (1) the given column name is not the name 0N/A * of a column in this rowset, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, SMALLINT, <b>INTEGER</b>, BIGINT, REAL 0N/A * FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return type. 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>long</code> value. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>0</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TINYINT, SMALLINT, INTEGER 0N/A * <b>BIGINT</b>, REAL, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, 0N/A * VARCHAR</code> or <code>LONGVARCHAR</code> value. The bold SQL type 0N/A * designates the recommended return type. 0N/A * @see #getLong(int) 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>float</code> value. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>0</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TINYINT, SMALLINT, INTEGER 0N/A * BIGINT, <b>REAL</b>, FLOAT, DOUBLE, DECIMAL, NUMERIC, BIT, CHAR, 0N/A * VARCHAR</code> or <code>LONGVARCHAR</code> value. The bold SQL type 0N/A * designates the recommended return type. 0N/A * @see #getFloat(String) 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row of this <code>CachedRowSetImpl</code> object 0N/A * as a <code>double</code> value. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>0</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TINYINT, SMALLINT, INTEGER 0N/A * BIGINT, REAL, <b>FLOAT</b>, <b>DOUBLE</b>, DECIMAL, NUMERIC, BIT, CHAR, 0N/A * VARCHAR</code> or <code>LONGVARCHAR</code> value. The bold SQL type 0N/A * designates the recommended return types. 0N/A * @see #getDouble(int) 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>java.math.BigDecimal</code> object. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @param scale the number of digits to the right of the decimal point 0N/A * @return a java.math.BugDecimal object with <code><i>scale</i></code> 0N/A * number of digits to the right of the decimal point. 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TINYINT, SMALLINT, INTEGER 0N/A * BIGINT, REAL, FLOAT, DOUBLE, <b>DECIMAL</b>, <b>NUMERIC</b>, BIT CHAR, 0N/A * VARCHAR</code> or <code>LONGVARCHAR</code> value. The bold SQL type 0N/A * designates the recommended return type that this method is used to 0N/A * @deprecated Use the <code>getBigDecimal(String columnName)</code> 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>byte</code> array. 0N/A * The bytes represent the raw values returned by the driver. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value as a <code>byte</code> array in the Java programming 0N/A * language; if the value is SQL <code>NULL</code>, the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code><b>BINARY</b>, <b>VARBINARY</b> 0N/A * </code> or <code>LONGVARBINARY</code> values 0N/A * The bold SQL type designates the recommended return type. 0N/A * @see #getBytes(int) 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>java.sql.Date</code> object. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>DATE</code> or 0N/A * <code>TIMESTAMP</code> value 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>java.sql.Time</code> object. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if the given column name does not match one of 0N/A * this rowset's column names or the cursor is not on one of 0N/A * this rowset's rows or its insert row 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>java.sql.Timestamp</code> object. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if the given column name does not match one of 0N/A * this rowset's column names or the cursor is not on one of 0N/A * this rowset's rows or its insert row 0N/A * Retrieves the value of the designated column in the current row of this 0N/A * <code>CachedRowSetImpl</code> object as a <code>java.io.InputStream</code> 0N/A * A column value can be retrieved as a stream of ASCII characters 0N/A * and then read in chunks from the stream. This method is particularly 0N/A * suitable for retrieving large <code>LONGVARCHAR</code> values. The 0N/A * <code>SyncProvider</code> will rely on the JDBC driver to do any necessary 0N/A * conversion from the database format into ASCII format. 0N/A * <P><B>Note:</B> All the data in the returned stream must 0N/A * be read prior to getting the value of any other column. The 0N/A * next call to a <code>getXXX</code> method implicitly closes the stream. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return a Java input stream that delivers the database column value 0N/A * as a stream of one-byte ASCII characters. If the value is SQL 0N/A * <code>NULL</code>, the result is <code>null</code>. 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>CHAR, VARCHAR</code>, <code><b>LONGVARCHAR</b></code> 0N/A * <code>BINARY, VARBINARY</code> or <code>LONGVARBINARY</code> value. The 0N/A * bold SQL type designates the recommended return types that this method is 0N/A * @see #getAsciiStream(int) 0N/A * A column value can be retrieved as a stream of Unicode characters 0N/A * and then read in chunks from the stream. This method is particularly 0N/A * suitable for retrieving large <code>LONGVARCHAR</code> values. 0N/A * The JDBC driver will do any necessary conversion from the database 0N/A * format into Unicode. 0N/A * <P><B>Note:</B> All the data in the returned stream must 0N/A * be read prior to getting the value of any other column. The 0N/A * next call to a <code>getXXX</code> method implicitly closes the stream. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return a Java input stream that delivers the database column value 0N/A * as a stream of two-byte Unicode characters. If the value is 0N/A * SQL <code>NULL</code>, the result is <code>null</code>. 0N/A * @throws SQLException if the given column name does not match one of 0N/A * this rowset's column names or the cursor is not on one of 0N/A * this rowset's rows or its insert row 0N/A * @deprecated use the method <code>getCharacterStream</code> instead 0N/A * Retrieves the value of the designated column in the current row of this 0N/A * <code>CachedRowSetImpl</code> object as a <code>java.io.InputStream</code> 0N/A * A column value can be retrieved as a stream of uninterpreted bytes 0N/A * and then read in chunks from the stream. This method is particularly 0N/A * suitable for retrieving large <code>LONGVARBINARY</code> values. 0N/A * <P><B>Note:</B> All the data in the returned stream must be 0N/A * read prior to getting the value of any other column. The next 0N/A * call to a get method implicitly closes the stream. Also, a 0N/A * stream may return <code>0</code> for <code>CachedRowSetImpl.available()</code> 0N/A * whether there is data available or not. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return a Java input stream that delivers the database column value 0N/A * as a stream of uninterpreted bytes. If the value is SQL 0N/A * <code>NULL</code>, the result is <code>null</code>. 0N/A * @throws SQLException if (1) the given column name is unknown, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>BINARY, VARBINARY</code> or <code><b>LONGVARBINARY</b></code> 0N/A * The bold type indicates the SQL type that this method is recommened 0N/A * @see #getBinaryStream(int) 0N/A // Advanced features: 0N/A * The first warning reported by calls on this <code>CachedRowSetImpl</code> 0N/A * object is returned. Subsequent <code>CachedRowSetImpl</code> warnings will 0N/A * be chained to this <code>SQLWarning</code>. 0N/A * <P>The warning chain is automatically cleared each time a new 0N/A * <P><B>Note:</B> This warning chain only covers warnings caused 0N/A * by <code>ResultSet</code> methods. Any warning caused by statement 0N/A * methods (such as reading OUT parameters) will be chained on the 0N/A * <code>Statement</code> object. 0N/A * @return the first SQLWarning or null 0N/A * Clears all the warnings reporeted for the <code>CachedRowSetImpl</code> 0N/A * object. After a call to this method, the <code>getWarnings</code> method 0N/A * returns <code>null</code> until a new warning is reported for this 0N/A * <code>CachedRowSetImpl</code> object. 0N/A * Retrieves the name of the SQL cursor used by this 0N/A * <code>CachedRowSetImpl</code> object. 0N/A * <P>In SQL, a result table is retrieved through a cursor that is 0N/A * named. The current row of a <code>ResultSet</code> can be updated or deleted 0N/A * cursor name. To ensure that the cursor has the proper isolation 0N/A * level to support an update operation, the cursor's <code>SELECT</code> 0N/A * statement should be of the form <code>select for update</code>. 0N/A * If the <code>for update</code> clause 0N/A * is omitted, positioned updates may fail. 0N/A * <P>JDBC supports this SQL feature by providing the name of the 0N/A * SQL cursor used by a <code>ResultSet</code> object. The current row 0N/A * of a result set is also the current row of this SQL cursor. 0N/A * <P><B>Note:</B> If positioned updates are not supported, an 0N/A * <code>SQLException</code> is thrown. 0N/A * @return the SQL cursor name for this <code>CachedRowSetImpl</code> object's 0N/A * @throws SQLException if an error occurs 0N/A * Retrieves a <code>ResultSetMetaData</code> object instance that 0N/A * contains information about the <code>CachedRowSet</code> object. 0N/A * However, applications should cast the returned object to a 0N/A * <code>RowSetMetaData</code> interface implementation. In the 0N/A * reference implementation, this cast can be done on the 0N/A * <code>RowSetMetaDataImpl</code> class. 0N/A * CachedRowSet crs = new CachedRowSetImpl(); 0N/A * RowSetMetaDataImpl metaData = 0N/A * (RowSetMetaDataImpl)crs.getMetaData(); 0N/A * // Set the number of columns in the RowSet object for 0N/A * // which this RowSetMetaDataImpl object was created to the 0N/A * metaData.setColumnCount(3); 0N/A * crs.setMetaData(metaData); 0N/A * @return the <code>ResultSetMetaData</code> object that describes this 0N/A * <code>CachedRowSetImpl</code> object's columns 0N/A * @throws SQLException if an error occurs in generating the RowSet 0N/A * meta data; or if the <code>CachedRowSetImpl</code> is empty. 0N/A * @see javax.sql.RowSetMetaData 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as an 0N/A * <code>Object</code> value. 0N/A * The type of the <code>Object</code> will be the default 0N/A * Java object type corresponding to the column's SQL type, 0N/A * following the mapping for built-in types specified in the JDBC 3.0 0N/A * This method may also be used to read datatabase-specific 0N/A * abstract data types. 0N/A * This implementation of the method <code>getObject</code> extends its 0N/A * behavior so that it gets the attributes of an SQL structured type 0N/A * as an array of <code>Object</code> values. This method also custom 0N/A * maps SQL user-defined types to classes in the Java programming language. 0N/A * When the specified column contains 0N/A * a structured or distinct value, the behavior of this method is as 0N/A * if it were a call to the method <code>getObject(columnIndex, 0N/A * this.getStatement().getConnection().getTypeMap())</code>. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return a <code>java.lang.Object</code> holding the column value; 0N/A * if the value is SQL <code>NULL</code>, the result is <code>null</code> 0N/A * @throws SQLException if the given column index is out of bounds, 0N/A * the cursor is not on a valid row, or there is a problem getting 0N/A * the <code>Class</code> object for a custom mapping 0N/A * @see #getObject(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A // look up the class in the map 0N/A // create new instance of the class 0N/A // get the attributes from the struct 0N/A // create the SQLInput "stream" 0N/A // read the values... 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as an 0N/A * <code>Object</code> value. 0N/A * The type of the <code>Object</code> will be the default 0N/A * Java object type corresponding to the column's SQL type, 0N/A * following the mapping for built-in types specified in the JDBC 3.0 0N/A * This method may also be used to read datatabase-specific 0N/A * abstract data types. 0N/A * This implementation of the method <code>getObject</code> extends its 0N/A * behavior so that it gets the attributes of an SQL structured type 0N/A * as an array of <code>Object</code> values. This method also custom 0N/A * maps SQL user-defined types to classes 0N/A * in the Java programming language. When the specified column contains 0N/A * a structured or distinct value, the behavior of this method is as 0N/A * if it were a call to the method <code>getObject(columnIndex, 0N/A * this.getStatement().getConnection().getTypeMap())</code>. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @return a <code>java.lang.Object</code> holding the column value; 0N/A * if the value is SQL <code>NULL</code>, the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name does not match one of 0N/A * this rowset's column names, (2) the cursor is not 0N/A * on a valid row, or (3) there is a problem getting 0N/A * the <code>Class</code> object for a custom mapping 0N/A * @see #getObject(int) 0N/A //---------------------------------------------------------------- 0N/A * Maps the given column name for one of this <code>CachedRowSetImpl</code> 0N/A * object's columns to its column number. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @return the column index of the given column name 0N/A * @throws SQLException if the given column name does not match one 0N/A * of this rowset's column names 0N/A //--------------------------JDBC 2.0----------------------------------- 0N/A //--------------------------------------------------------------------- 0N/A // Getter's and Setter's 0N/A //--------------------------------------------------------------------- 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>java.io.Reader</code> object. 0N/A * <P><B>Note:</B> All the data in the returned stream must 0N/A * be read prior to getting the value of any other column. The 0N/A * next call to a <code>getXXX</code> method implicitly closes the stream. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return a Java character stream that delivers the database column value 0N/A * as a stream of two-byte unicode characters in a 0N/A * <code>java.io.Reader</code> object. If the value is 0N/A * SQL <code>NULL</code>, the result is <code>null</code>. 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>CHAR, VARCHAR, <b>LONGVARCHAR</b>, BINARY, VARBINARY</code> or 0N/A * <code>LONGVARBINARY</code> value. 0N/A * The bold SQL type designates the recommended return type. 0N/A * @see #getCharacterStream(String) 0N/A // make sure the cursor is on a valid row 0N/A * Retrieves the value stored in the designated column 0N/A * of the current row as a <code>java.io.Reader</code> object. 0N/A * <P><B>Note:</B> All the data in the returned stream must 0N/A * be read prior to getting the value of any other column. The 0N/A * next call to a <code>getXXX</code> method implicitly closes the stream. 0N/A * @param columnName a <code>String</code> object giving the SQL name of 0N/A * a column in this <code>CachedRowSetImpl</code> object 0N/A * @return a Java input stream that delivers the database column value 0N/A * as a stream of two-byte Unicode characters. If the value is 0N/A * SQL <code>NULL</code>, the result is <code>null</code>. 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>CHAR, VARCHAR, <b>LONGVARCHAR</b>, 0N/A * BINARY, VARYBINARY</code> or <code>LONGVARBINARY</code> value. 0N/A * The bold SQL type designates the recommended return type. 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>java.math.BigDecimal</code> object. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @return a <code>java.math.BigDecimal</code> value with full precision; 0N/A * if the value is SQL <code>NULL</code>, the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>TINYINT, SMALLINT, INTEGER, BIGINT, REAL, 0N/A * FLOAT, DOUBLE, <b>DECIMAL</b>, <b>NUMERIC</b>, BIT, CHAR, VARCHAR</code> 0N/A * or <code>LONGVARCHAR</code> value. The bold SQL type designates the 0N/A * recommended return types that this method is used to retrieve. 0N/A * @see #getBigDecimal(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>java.math.BigDecimal</code> object. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @return a <code>java.math.BigDecimal</code> value with full precision; 0N/A * if the value is SQL <code>NULL</code>, the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TINYINT, SMALLINT, INTEGER 0N/A * BIGINT, REAL, FLOAT, DOUBLE, <b>DECIMAL</b>, <b>NUMERIC</b>, BIT CHAR, 0N/A * VARCHAR</code> or <code>LONGVARCHAR</code> value. The bold SQL type 0N/A * designates the recommended return type that this method is used to 0N/A * @see #getBigDecimal(int) 0N/A //--------------------------------------------------------------------- 0N/A //--------------------------------------------------------------------- 0N/A * Returns the number of rows in this <code>CachedRowSetImpl</code> object. 0N/A * @return number of rows in the rowset 0N/A * Indicates whether the cursor is before the first row in this 0N/A * <code>CachedRowSetImpl</code> object. 0N/A * @return <code>true</code> if the cursor is before the first row; 0N/A * <code>false</code> otherwise or if the rowset contains no rows 0N/A * @throws SQLException if an error occurs 0N/A * Indicates whether the cursor is after the last row in this 0N/A * <code>CachedRowSetImpl</code> object. 0N/A * @return <code>true</code> if the cursor is after the last row; 0N/A * <code>false</code> otherwise or if the rowset contains no rows 0N/A * @throws SQLException if an error occurs 0N/A * Indicates whether the cursor is on the first row in this 0N/A * <code>CachedRowSetImpl</code> object. 0N/A * @return <code>true</code> if the cursor is on the first row; 0N/A * <code>false</code> otherwise or if the rowset contains no rows 0N/A * @throws SQLException if an error occurs 0N/A // this becomes nasty because of deletes. 0N/A * Indicates whether the cursor is on the last row in this 0N/A * <code>CachedRowSetImpl</code> object. 0N/A * Note: Calling the method <code>isLast</code> may be expensive 0N/A * because the JDBC driver might need to fetch ahead one row in order 0N/A * to determine whether the current row is the last row in this rowset. 0N/A * @return <code>true</code> if the cursor is on the last row; 0N/A * <code>false</code> otherwise or if this rowset contains no rows 0N/A * @throws SQLException if an error occurs 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the front of 0N/A * the rowset, just before the first row. This method has no effect if 0N/A * this rowset contains no rows. 0N/A * @throws SQLException if an error occurs or the type of this rowset 0N/A * is <code>ResultSet.TYPE_FORWARD_ONLY</code> 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the end of 0N/A * the rowset, just after the last row. This method has no effect if 0N/A * this rowset contains no rows. 0N/A * @throws SQLException if an error occurs 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the first row 0N/A * and returns <code>true</code> if the operation was successful. This 0N/A * method also notifies registered listeners that the cursor has moved. 0N/A * @return <code>true</code> if the cursor is on a valid row; 0N/A * <code>false</code> otherwise or if there are no rows in this 0N/A * <code>CachedRowSetImpl</code> object 0N/A * @throws SQLException if the type of this rowset 0N/A * is <code>ResultSet.TYPE_FORWARD_ONLY</code> 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the first 0N/A * row and returns <code>true</code> if the operation is successful. 0N/A * This method is called internally by the methods <code>first</code>, 0N/A * <code>isFirst</code>, and <code>absolute</code>. 0N/A * It in turn calls the method <code>internalNext</code> in order to 0N/A * handle the case where the first row is a deleted row that is not visible. 0N/A * This is a implementation only method and is not required as a standard 0N/A * implementation of the <code>CachedRowSet</code> interface. 0N/A * @return <code>true</code> if the cursor moved to the first row; 0N/A * <code>false</code> otherwise 0N/A * @throws SQLException if an error occurs 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the last row 0N/A * and returns <code>true</code> if the operation was successful. This 0N/A * method also notifies registered listeners that the cursor has moved. 0N/A * @return <code>true</code> if the cursor is on a valid row; 0N/A * <code>false</code> otherwise or if there are no rows in this 0N/A * <code>CachedRowSetImpl</code> object 0N/A * @throws SQLException if the type of this rowset 0N/A * is <code>ResultSet.TYPE_FORWARD_ONLY</code> 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the last 0N/A * row and returns <code>true</code> if the operation is successful. 0N/A * This method is called internally by the method <code>last</code> 0N/A * when rows have been deleted and the deletions are not visible. 0N/A * The method <code>internalLast</code> handles the case where the 0N/A * last row is a deleted row that is not visible by in turn calling 0N/A * the method <code>internalPrevious</code>. 0N/A * This is a implementation only method and is not required as a standard 0N/A * implementation of the <code>CachedRowSet</code> interface. 0N/A * @return <code>true</code> if the cursor moved to the last row; 0N/A * <code>false</code> otherwise 0N/A * @throws SQLException if an error occurs 0N/A * Returns the number of the current row in this <code>CachedRowSetImpl</code> 0N/A * object. The first row is number 1, the second number 2, and so on. 0N/A * @return the number of the current row; <code>0</code> if there is no 0N/A * @throws SQLException if an error occurs; or if the <code>CacheRowSetImpl</code> 0N/A // are we on a valid row? Valid rows are between first and last 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the row number 0N/A * <p>If the number is positive, the cursor moves to an absolute row with 0N/A * respect to the beginning of the rowset. The first row is row 1, the second 0N/A * is row 2, and so on. For example, the following command, in which 0N/A * <code>crs</code> is a <code>CachedRowSetImpl</code> object, moves the cursor 0N/A * to the fourth row, starting from the beginning of the rowset. 0N/A * If the number is negative, the cursor moves to an absolute row position 0N/A * with respect to the end of the rowset. For example, calling 0N/A * <code>absolute(-1)</code> positions the cursor on the last row, 0N/A * <code>absolute(-2)</code> moves it on the next-to-last row, and so on. 0N/A * If the <code>CachedRowSetImpl</code> object <code>crs</code> has five rows, 0N/A * the following command moves the cursor to the fourth-to-last row, which 0N/A * in the case of a rowset with five rows, is also the second row, counting 0N/A * from the beginning. 0N/A * If the number specified is larger than the number of rows, the cursor 0N/A * will move to the position after the last row. If the number specified 0N/A * would move the cursor one or more rows before the first row, the cursor 0N/A * moves to the position before the first row. 0N/A * Note: Calling <code>absolute(1)</code> is the same as calling the 0N/A * method <code>first()</code>. Calling <code>absolute(-1)</code> is the 0N/A * same as calling <code>last()</code>. 0N/A * @param row a positive number to indicate the row, starting row numbering from 0N/A * the first row, which is <code>1</code>; a negative number to indicate 0N/A * the row, starting row numbering from the last row, which is 0N/A * <code>-1</code>; it must not be <code>0</code> 0N/A * @return <code>true</code> if the cursor is on the rowset; <code>false</code> 0N/A * @throws SQLException if the given cursor position is <code>0</code> or the 0N/A * type of this rowset is <code>ResultSet.TYPE_FORWARD_ONLY</code> 0N/A if (
row >
0) {
// we are moving foward 0N/A }
else {
// we are moving backward 0N/A // fell off the front 0N/A // Now move towards the absolute row that we're looking for 0N/A * Moves the cursor the specified number of rows from the current 0N/A * position, with a positive number moving it forward and a 0N/A * negative number moving it backward. 0N/A * If the number is positive, the cursor moves the specified number of 0N/A * rows toward the end of the rowset, starting at the current row. 0N/A * For example, the following command, in which 0N/A * <code>crs</code> is a <code>CachedRowSetImpl</code> object with 100 rows, 0N/A * moves the cursor forward four rows from the current row. If the 0N/A * current row is 50, the cursor would move to row 54. 0N/A * If the number is negative, the cursor moves back toward the beginning 0N/A * the specified number of rows, starting at the current row. 0N/A * For example, calling the method 0N/A * <code>absolute(-1)</code> positions the cursor on the last row, 0N/A * <code>absolute(-2)</code> moves it on the next-to-last row, and so on. 0N/A * If the <code>CachedRowSetImpl</code> object <code>crs</code> has five rows, 0N/A * the following command moves the cursor to the fourth-to-last row, which 0N/A * in the case of a rowset with five rows, is also the second row 0N/A * from the beginning. 0N/A * If the number specified is larger than the number of rows, the cursor 0N/A * will move to the position after the last row. If the number specified 0N/A * would move the cursor one or more rows before the first row, the cursor 0N/A * moves to the position before the first row. In both cases, this method 0N/A * throws an <code>SQLException</code>. 0N/A * Note: Calling <code>absolute(1)</code> is the same as calling the 0N/A * method <code>first()</code>. Calling <code>absolute(-1)</code> is the 0N/A * same as calling <code>last()</code>. Calling <code>relative(0)</code> 0N/A * is valid, but it does not change the cursor position. 0N/A * @param rows an <code>int</code> indicating the number of rows to move 0N/A * the cursor, starting at the current row; a positive number 0N/A * moves the cursor forward; a negative number moves the cursor 0N/A * backward; must not move the cursor past the valid 0N/A * @return <code>true</code> if the cursor is on a row in this 0N/A * <code>CachedRowSetImpl</code> object; <code>false</code> 0N/A * @throws SQLException if there are no rows in this rowset, the cursor is 0N/A * positioned either before the first row or after the last row, or 0N/A * the rowset is type <code>ResultSet.TYPE_FORWARD_ONLY</code> 0N/A if (
rows >
0) {
// we are moving forward 0N/A }
else {
// we are moving backward 0N/A // fell off the front 0N/A * Moves this <code>CachedRowSetImpl</code> object's cursor to the 0N/A * previous row and returns <code>true</code> if the cursor is on 0N/A * a valid row or <code>false</code> if it is not. 0N/A * This method also notifies all listeners registered with this 0N/A * <code>CachedRowSetImpl</code> object that its cursor has moved. 0N/A * Note: calling the method <code>previous()</code> is not the same 0N/A * as calling the method <code>relative(-1)</code>. This is true 0N/A * because it is possible to call <code>previous()</code> from the insert 0N/A * row, from after the last row, or from the current row, whereas 0N/A * <code>relative</code> may only be called from the current row. 0N/A * The method <code>previous</code> may used in a <code>while</code> 0N/A * loop to iterate through a rowset starting after the last row 0N/A * and moving toward the beginning. The loop ends when <code>previous</code> 0N/A * returns <code>false</code>, meaning that there are no more rows. 0N/A * For example, the following code fragment retrieves all the data in 0N/A * the <code>CachedRowSetImpl</code> object <code>crs</code>, which has 0N/A * three columns. Note that the cursor must initially be positioned 0N/A * after the last row so that the first call to the method 0N/A * <code>previous</code> places the cursor on the last line. 0N/A * while (previous()) { 0N/A * String name = crs.getString(1); 0N/A * int age = crs.getInt(2); 0N/A * short ssn = crs.getShort(3); 0N/A * System.out.println(name + " " + age + " " + ssn); 0N/A * This method throws an <code>SQLException</code> if the cursor is not 0N/A * on a row in the rowset, before the first row, or after the last row. 0N/A * @return <code>true</code> if the cursor is on a valid row; 0N/A * <code>false</code> if it is before the first row or after the 0N/A * @throws SQLException if the cursor is not on a valid position or the 0N/A * type of this rowset is <code>ResultSet.TYPE_FORWARD_ONLY</code> 0N/A * make sure things look sane. The cursor must be 0N/A * positioned in the rowset or before first (0) or 0N/A * after last (numRows + 1) 0N/A * Moves the cursor to the previous row in this <code>CachedRowSetImpl</code> 0N/A * object, skipping past deleted rows that are not visible; returns 0N/A * <code>true</code> if the cursor is on a row in this rowset and 0N/A * <code>false</code> when the cursor goes before the first row. 0N/A * This method is called internally by the method <code>previous</code>. 0N/A * This is a implementation only method and is not required as a standard 0N/A * implementation of the <code>CachedRowSet</code> interface. 0N/A * @return <code>true</code> if the cursor is on a row in this rowset; 0N/A * <code>false</code> when the cursor reaches the position before 0N/A * @throws SQLException if an error occurs 0N/A // decrement to before first 0N/A * Each call to internalPrevious may move the cursor 0N/A * over multiple rows, the absolute postion moves one one row 0N/A //--------------------------------------------------------------------- 0N/A //--------------------------------------------------------------------- 0N/A * Indicates whether the current row of this <code>CachedRowSetImpl</code> 0N/A * object has been updated. The value returned 0N/A * depends on whether this rowset can detect updates: <code>false</code> 0N/A * will always be returned if it does not detect updates. 0N/A * @return <code>true</code> if the row has been visibly updated 0N/A * by the owner or another and updates are detected; 0N/A * <code>false</code> otherwise 0N/A * @throws SQLException if the cursor is on the insert row or not 0N/A * not on a valid row 0N/A * @see DatabaseMetaData#updatesAreDetected 0N/A // make sure the cursor is on a valid row 0N/A * Indicates whether the designated column of the current row of 0N/A * this <code>CachedRowSetImpl</code> object has been updated. The 0N/A * value returned depends on whether this rowset can detcted updates: 0N/A * <code>false</code> will always be returned if it does not detect updates. 0N/A * @param idx the index identifier of the column that may be have been updated. 0N/A * @return <code>true</code> is the designated column has been updated 0N/A * and the rowset detects updates; <code>false</code> if the rowset has not 0N/A * been updated or the rowset does not detect updates 0N/A * @throws SQLException if the cursor is on the insert row or not 0N/A * @see DatabaseMetaData#updatesAreDetected 0N/A // make sure the cursor is on a valid row 0N/A * Indicates whether the designated column of the current row of 0N/A * this <code>CachedRowSetImpl</code> object has been updated. The 0N/A * value returned depends on whether this rowset can detcted updates: 0N/A * <code>false</code> will always be returned if it does not detect updates. 0N/A * @param columnName the <code>String</code> column name column that may be have 0N/A * @return <code>true</code> is the designated column has been updated 0N/A * and the rowset detects updates; <code>false</code> if the rowset has not 0N/A * been updated or the rowset does not detect updates 0N/A * @throws SQLException if the cursor is on the insert row or not 0N/A * @see DatabaseMetaData#updatesAreDetected 0N/A * Indicates whether the current row has been inserted. The value returned 0N/A * depends on whether or not the rowset can detect visible inserts. 0N/A * @return <code>true</code> if a row has been inserted and inserts are detected; 0N/A * <code>false</code> otherwise 0N/A * @throws SQLException if the cursor is on the insert row or not 0N/A * not on a valid row 0N/A * @see DatabaseMetaData#insertsAreDetected 0N/A // make sure the cursor is on a valid row 0N/A * Indicates whether the current row has been deleted. A deleted row 0N/A * may leave a visible "hole" in a rowset. This method can be used to 0N/A * detect such holes if the rowset can detect deletions. This method 0N/A * will always return <code>false</code> if this rowset cannot detect 0N/A * @return <code>true</code> if (1)the current row is blank, indicating that 0N/A * the row has been deleted, and (2)deletions are detected; 0N/A * <code>false</code> otherwise 0N/A * @throws SQLException if the cursor is on a valid row in this rowset 0N/A * @see DatabaseMetaData#deletesAreDetected 0N/A // make sure the cursor is on a valid row 0N/A * Indicates whether the given SQL data type is a numberic type. 0N/A * @param type one of the constants from <code>java.sql.Types</code> 0N/A * @return <code>true</code> if the given type is <code>NUMERIC</code>,' 0N/A * <code>DECIMAL</code>, <code>BIT</code>, <code>TINYINT</code>, 0N/A * <code>SMALLINT</code>, <code>INTEGER</code>, <code>BIGINT</code>, 0N/A * <code>REAL</code>, <code>DOUBLE</code>, or <code>FLOAT</code>; 0N/A * <code>false</code> otherwise 0N/A * Indicates whether the given SQL data type is a string type. 0N/A * @param type one of the constants from <code>java.sql.Types</code> 0N/A * @return <code>true</code> if the given type is <code>CHAR</code>,' 0N/A * <code>VARCHAR</code>, or <code>LONGVARCHAR</code>; 0N/A * <code>false</code> otherwise 0N/A * Indicates whether the given SQL data type is a binary type. 0N/A * @param type one of the constants from <code>java.sql.Types</code> 0N/A * @return <code>true</code> if the given type is <code>BINARY</code>,' 0N/A * <code>VARBINARY</code>, or <code>LONGVARBINARY</code>; 0N/A * <code>false</code> otherwise 0N/A * Indicates whether the given SQL data type is a temporal type. 0N/A * This method is called internally by the conversion methods 0N/A * <code>convertNumeric</code> and <code>convertTemporal</code>. 0N/A * @param type one of the constants from <code>java.sql.Types</code> 0N/A * @return <code>true</code> if the given type is <code>DATE</code>, 0N/A * <code>TIME</code>, or <code>TIMESTAMP</code>; 0N/A * <code>false</code> otherwise 0N/A * Indicates whether the given SQL data type is a boolean type. 0N/A * This method is called internally by the conversion methods 0N/A * <code>convertNumeric</code> and <code>convertBoolean</code>. 0N/A * @param type one of the constants from <code>java.sql.Types</code> 0N/A * @return <code>true</code> if the given type is <code>BIT</code>, 0N/A * , or <code>BOOLEAN</code>; 0N/A * <code>false</code> otherwise 0N/A * Converts the given <code>Object</code> in the Java programming language 0N/A * to the standard mapping for the specified SQL target data type. 0N/A * The conversion must be to a string or numeric type, but there are no 0N/A * restrictions on the type to be converted. If the source type and target 0N/A * type are the same, the given object is simply returned. 0N/A * @param srcObj the <code>Object</code> in the Java programming language 0N/A * that is to be converted to the target type 0N/A * @param srcType the data type that is the standard mapping in SQL of the 0N/A * object to be converted; must be one of the constants in 0N/A * <code>java.sql.Types</code> 0N/A * @param trgType the SQL data type to which to convert the given object; 0N/A * must be one of the following constants in 0N/A * <code>java.sql.Types</code>: <code>NUMERIC</code>, 0N/A * <code>DECIMAL</code>, <code>BIT</code>, <code>TINYINT</code>, 0N/A * <code>SMALLINT</code>, <code>INTEGER</code>, <code>BIGINT</code>, 0N/A * <code>REAL</code>, <code>DOUBLE</code>, <code>FLOAT</code>, 0N/A * <code>VARCHAR</code>, <code>LONGVARCHAR</code>, or <code>CHAR</code> 0N/A * @return an <code>Object</code> value.that is 0N/A * the standard object mapping for the target SQL type 0N/A * @throws SQLException if the given target type is not one of the string or 0N/A * numeric types in <code>java.sql.Types</code> 0N/A * Converts the given <code>Object</code> in the Java programming language 0N/A * to the standard object mapping for the specified SQL target data type. 0N/A * The conversion must be to a string or temporal type, and there are also 0N/A * restrictions on the type to be converted. 0N/A * <TABLE ALIGN="CENTER" BORDER CELLPADDING=10 BORDERCOLOR="#0000FF" 0N/A * <CAPTION ALIGN="CENTER"><B>Parameters and Return Values</B></CAPTION> 0N/A * <TD><B>Source SQL Type</B> 0N/A * <TD><B>Target SQL Type</B> 0N/A * <TD><B>Object Returned</B> 0N/A * <TD><code>TIMESTAMP</code> 0N/A * <TD><code>DATE</code> 0N/A * <TD><code>java.sql.Date</code> 0N/A * <TD><code>TIMESTAMP</code> 0N/A * <TD><code>TIME</code> 0N/A * <TD><code>java.sql.Time</code> 0N/A * <TD><code>TIME</code> 0N/A * <TD><code>TIMESTAMP</code> 0N/A * <TD><code>java.sql.Timestamp</code> 0N/A * <TD><code>DATE</code>, <code>TIME</code>, or <code>TIMESTAMP</code> 0N/A * <TD><code>CHAR</code>, <code>VARCHAR</code>, or <code>LONGVARCHAR</code> 0N/A * <TD><code>java.lang.String</code> 0N/A * If the source type and target type are the same, 0N/A * the given object is simply returned. 0N/A * @param srcObj the <code>Object</code> in the Java programming language 0N/A * that is to be converted to the target type 0N/A * @param srcType the data type that is the standard mapping in SQL of the 0N/A * object to be converted; must be one of the constants in 0N/A * <code>java.sql.Types</code> 0N/A * @param trgType the SQL data type to which to convert the given object; 0N/A * must be one of the following constants in 0N/A * <code>java.sql.Types</code>: <code>DATE</code>, 0N/A * <code>TIME</code>, <code>TIMESTAMP</code>, <code>CHAR</code>, 0N/A * <code>VARCHAR</code>, or <code>LONGVARCHAR</code> 0N/A * @return an <code>Object</code> value.that is 0N/A * the standard object mapping for the target SQL type 0N/A * @throws SQLException if the given target type is not one of the string or 0N/A * temporal types in <code>java.sql.Types</code> 0N/A * Converts the given <code>Object</code> in the Java programming language 0N/A * to the standard mapping for the specified SQL target data type. 0N/A * The conversion must be to a string or numeric type, but there are no 0N/A * restrictions on the type to be converted. If the source type and target 0N/A * type are the same, the given object is simply returned. 0N/A * @param srcObj the <code>Object</code> in the Java programming language 0N/A * that is to be converted to the target type 0N/A * @param srcType the data type that is the standard mapping in SQL of the 0N/A * object to be converted; must be one of the constants in 0N/A * <code>java.sql.Types</code> 0N/A * @param trgType the SQL data type to which to convert the given object; 0N/A * must be one of the following constants in 0N/A * <code>java.sql.Types</code>: <code>BIT</code>, 0N/A * or <code>BOOLEAN</code> 0N/A * @return an <code>Object</code> value.that is 0N/A * the standard object mapping for the target SQL type 0N/A * @throws SQLException if the given target type is not one of the Boolean 0N/A * types in <code>java.sql.Types</code> 0N/A * Sets the designated nullable column in the current row or the 0N/A * insert row of this <code>CachedRowSetImpl</code> object with 0N/A * <code>null</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset; however, another method must be called to complete 0N/A * the update process. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to mark the row as updated 0N/A * and to notify listeners that the row has changed. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called to insert the new row into this rowset and to notify 0N/A * listeners that a row has changed. 0N/A * In order to propagate updates in this rowset to the underlying 0N/A * data source, an application must call the method {@link #acceptChanges} 0N/A * after it calls either <code>updateRow</code> or <code>insertRow</code>. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>boolean</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>byte</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>short</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>int</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>long</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>float</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>double</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.math.BigDecimal</code> object. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>String</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to mark the row as updated. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called to insert the new row into this rowset and mark it 0N/A * as inserted. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * The method <code>acceptChanges</code> must be called if the 0N/A * updated values are to be written back to the underlying database. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>byte</code> array. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Date</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, (3) the type of the designated column is not 0N/A * an SQL <code>DATE</code> or <code>TIMESTAMP</code>, or 0N/A * (4) this rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Time</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, (3) the type of the designated column is not 0N/A * an SQL <code>TIME</code> or <code>TIMESTAMP</code>, or 0N/A * (4) this rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Timestamp</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, (3) the type of the designated column is not 0N/A * an SQL <code>DATE</code>, <code>TIME</code>, or 0N/A * <code>TIMESTAMP</code>, or (4) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * ASCII stream value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @param length the number of one-byte ASCII characters in the stream 0N/A * @throws SQLException if this method is invoked 0N/A // make sure the cursor is on a valid row 0N/A //Changed the condition check to check for length instead of -1 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.io.InputStream</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value; must be a <code>java.io.InputStream</code> 0N/A * containing <code>BINARY</code>, <code>VARBINARY</code>, or 0N/A * <code>LONGVARBINARY</code> data 0N/A * @param length the length of the stream in bytes 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, (3) the data in the stream is not binary, or 0N/A * (4) this rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.io.Reader</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value; must be a <code>java.io.Reader</code> 0N/A * containing <code>BINARY</code>, <code>VARBINARY</code>, 0N/A * <code>LONGVARBINARY</code>, <code>CHAR</code>, <code>VARCHAR</code>, 0N/A * or <code>LONGVARCHAR</code> data 0N/A * @param length the length of the stream in characters 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, (3) the data in the stream is not a binary or 0N/A * character type, or (4) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A //Changed the condition checking to check for length instead of -1 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Object</code> value. The <code>scale</code> parameter indicates 0N/A * the number of digits to the right of the decimal point and is ignored 0N/A * if the new column value is not a type that will be mapped to an SQL 0N/A * <code>DECIMAL</code> or <code>NUMERIC</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @param scale the number of digits to the right of the decimal point (for 0N/A * <code>DECIMAL</code> and <code>NUMERIC</code> types only) 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Object</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A * Sets the designated nullable column in the current row or the 0N/A * insert row of this <code>CachedRowSetImpl</code> object with 0N/A * <code>null</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>boolean</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>byte</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>short</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>int</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>long</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>float</code> value. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>double</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.math.BigDecimal</code> object. 0N/A * This method updates a column value in the current row or the insert 0N/A * row of this rowset, but it does not update the database. 0N/A * If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>String</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>byte</code> array. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Date</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, (3) the type 0N/A * of the designated column is not an SQL <code>DATE</code> or 0N/A * <code>TIMESTAMP</code>, or (4) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Time</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, (3) the type 0N/A * of the designated column is not an SQL <code>TIME</code> or 0N/A * <code>TIMESTAMP</code>, or (4) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Timestamp</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if the given column index is out of bounds or 0N/A * the cursor is not on one of this rowset's rows or its 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, (3) the type 0N/A * of the designated column is not an SQL <code>DATE</code>, 0N/A * <code>TIME</code>, or <code>TIMESTAMP</code>, or (4) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * ASCII stream value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @param length the number of one-byte ASCII characters in the stream 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.io.InputStream</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value; must be a <code>java.io.InputStream</code> 0N/A * containing <code>BINARY</code>, <code>VARBINARY</code>, or 0N/A * <code>LONGVARBINARY</code> data 0N/A * @param length the length of the stream in bytes 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, (3) the data 0N/A * in the stream is not binary, or (4) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.io.Reader</code> object. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param reader the new column value; must be a 0N/A * <code>java.io.Reader</code> containing <code>BINARY</code>, 0N/A * <code>VARBINARY</code>, <code>LONGVARBINARY</code>, <code>CHAR</code>, 0N/A * <code>VARCHAR</code>, or <code>LONGVARCHAR</code> data 0N/A * @param length the length of the stream in characters 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, (3) the data 0N/A * in the stream is not a binary or character type, or (4) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Object</code> value. The <code>scale</code> parameter 0N/A * indicates the number of digits to the right of the decimal point 0N/A * and is ignored if the new column value is not a type that will be 0N/A * mapped to an SQL <code>DECIMAL</code> or <code>NUMERIC</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @param scale the number of digits to the right of the decimal point (for 0N/A * <code>DECIMAL</code> and <code>NUMERIC</code> types only) 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Object</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param x the new column value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Inserts the contents of this <code>CachedRowSetImpl</code> object's insert 0N/A * row into this rowset immediately following the current row. 0N/A * If the current row is the 0N/A * position after the last row or before the first row, the new row will 0N/A * be inserted at the end of the rowset. This method also notifies 0N/A * listeners registered with this rowset that the row has changed. 0N/A * The cursor must be on the insert row when this method is called. 0N/A * @throws SQLException if (1) the cursor is not on the insert row, 0N/A * (2) one or more of the non-nullable columns in the insert 0N/A * row has not been given a value, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // Added the setting of parameters that are passed 0N/A // to setXXX methods after an empty CRS Object is 0N/A // created through RowSetMetaData object 0N/A * The new row is inserted into the RowSet 0N/A * immediately following the current row. 0N/A * If we are afterlast then the rows are 0N/A * inserted at the end. 0N/A // notify the listeners that the row changed. 0N/A * Marks the current row of this <code>CachedRowSetImpl</code> object as 0N/A * updated and notifies listeners registered with this rowset that the 0N/A * This method cannot be called when the cursor is on the insert row, and 0N/A * it should be called before the cursor moves to another row. If it is 0N/A * called after the cursor moves to another row, this method has no effect, 0N/A * and the updates made before the cursor moved will be lost. 0N/A * @throws SQLException if the cursor is on the insert row or this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure we aren't on the insert row 0N/A // notify the listeners that the row changed. 0N/A * Deletes the current row from this <code>CachedRowSetImpl</code> object and 0N/A * notifies listeners registered with this rowset that a row has changed. 0N/A * This method cannot be called when the cursor is on the insert row. 0N/A * This method marks the current row as deleted, but it does not delete 0N/A * the row from the underlying data source. The method 0N/A * <code>acceptChanges</code> must be called to delete the row in 0N/A * @throws SQLException if (1) this method is called when the cursor 0N/A * is on the insert row, before the first row, or after the 0N/A * last row or (2) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A // notify the listeners that the row changed. 0N/A * Sets the current row with its original value and marks the row as 0N/A * not updated, thus undoing any changes made to the row since the 0N/A * last call to the methods <code>updateRow</code> or <code>deleteRow</code>. 0N/A * This method should be called only when the cursor is on a row in 0N/A * @throws SQLException if the cursor is on the insert row, before the 0N/A * first row, or after the last row 0N/A // make sure we are on a row 0N/A // don't want this to happen... 0N/A // just undo any changes made to this row. 0N/A * Rolls back any updates made to the current row of this 0N/A * <code>CachedRowSetImpl</code> object and notifies listeners that 0N/A * a row has changed. To have an effect, this method 0N/A * must be called after an <code>updateXXX</code> method has been 0N/A * called and before the method <code>updateRow</code> has been called. 0N/A * If no updates have been made or the method <code>updateRow</code> 0N/A * has already been called, this method has no effect. 0N/A * @throws SQLException if the cursor is on the insert row, before the 0N/A * first row, or after the last row 0N/A // make sure we are on a row 0N/A // don't want this to happen... 0N/A * Moves the cursor for this <code>CachedRowSetImpl</code> object 0N/A * to the insert row. The current row in the rowset is remembered 0N/A * while the cursor is on the insert row. 0N/A * The insert row is a special row associated with an updatable 0N/A * rowset. It is essentially a buffer where a new row may 0N/A * be constructed by calling the appropriate <code>updateXXX</code> 0N/A * methods to assign a value to each column in the row. A complete 0N/A * row must be constructed; that is, every column that is not nullable 0N/A * must be assigned a value. In order for the new row to become part 0N/A * of this rowset, the method <code>insertRow</code> must be called 0N/A * before the cursor is moved back to the rowset. 0N/A * Only certain methods may be invoked while the cursor is on the insert 0N/A * row; many methods throw an exception if they are called while the 0N/A * cursor is there. In addition to the <code>updateXXX</code> 0N/A * and <code>insertRow</code> methods, only the <code>getXXX</code> methods 0N/A * may be called when the cursor is on the insert row. A <code>getXXX</code> 0N/A * method should be called on a column only after an <code>updateXXX</code> 0N/A * method has been called on that column; otherwise, the value returned is 0N/A * @throws SQLException if this <code>CachedRowSetImpl</code> object is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // %%% setCurrentRow called in BaseRow 0N/A * Moves the cursor for this <code>CachedRowSetImpl</code> object to 0N/A * the current row. The current row is the row the cursor was on 0N/A * when the method <code>moveToInsertRow</code> was called. 0N/A * Calling this method has no effect unless it is called while the 0N/A * cursor is on the insert row. 0N/A * @throws SQLException if an error occurs 0N/A * Returns <code>null</code>. 0N/A * @return <code>null</code> 0N/A * @throws SQLException if an error occurs 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as an <code>Object</code> in 0N/A * the Java programming language, using the given 0N/A * <code>java.util.Map</code> object to custom map the value if 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param map a <code>java.util.Map</code> object showing the mapping 0N/A * from SQL type names to classes in the Java programming 0N/A * @return an <code>Object</code> representing the SQL value 0N/A * @throws SQLException if the given column index is out of bounds or 0N/A * the cursor is not on one of this rowset's rows or its 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A // look up the class in the map 0N/A // create new instance of the class 0N/A // get the attributes from the struct 0N/A // create the SQLInput "stream" 0N/A // read the values... 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>Ref</code> object 0N/A * in the Java programming language. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @return a <code>Ref</code> object representing an SQL<code> REF</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>REF</code> value 0N/A * @see #getRef(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>Blob</code> object 0N/A * in the Java programming language. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @return a <code>Blob</code> object representing an SQL <code>BLOB</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>BLOB</code> value 0N/A * @see #getBlob(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>Clob</code> object 0N/A * in the Java programming language. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @return a <code>Clob</code> object representing an SQL <code>CLOB</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>CLOB</code> value 0N/A * @see #getClob(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as an <code>Array</code> object 0N/A * in the Java programming language. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @return an <code>Array</code> object representing an SQL 0N/A * <code>ARRAY</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>ARRAY</code> value 0N/A * @see #getArray(String) 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as an <code>Object</code> in 0N/A * the Java programming language, using the given 0N/A * <code>java.util.Map</code> object to custom map the value if 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param map a <code>java.util.Map</code> object showing the mapping 0N/A * from SQL type names to classes in the Java programming 0N/A * @return an <code>Object</code> representing the SQL value 0N/A * @throws SQLException if the given column name is not the name of 0N/A * a column in this rowset or the cursor is not on one of 0N/A * this rowset's rows or its insert row 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>Ref</code> object 0N/A * in the Java programming language. 0N/A * @param colName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @return a <code>Ref</code> object representing an SQL<code> REF</code> value 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the column value 0N/A * is not an SQL <code>REF</code> value 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>Blob</code> object 0N/A * in the Java programming language. 0N/A * @param colName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @return a <code>Blob</code> object representing an SQL <code>BLOB</code> value 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>BLOB</code> value 0N/A * @see #getBlob(int) 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>Clob</code> object 0N/A * in the Java programming language. 0N/A * @param colName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @return a <code>Clob</code> object representing an SQL 0N/A * <code>CLOB</code> value 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>CLOB</code> value 0N/A * @see #getClob(int) 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as an <code>Array</code> object 0N/A * in the Java programming langugage. 0N/A * @param colName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @return an <code>Array</code> object representing an SQL 0N/A * <code>ARRAY</code> value 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>ARRAY</code> value 0N/A * @see #getArray(int) 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a <code>java.sql.Date</code> 0N/A * object, using the given <code>Calendar</code> object to construct an 0N/A * appropriate millisecond value for the date. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @param cal the <code>java.util.Calendar</code> object to use in 0N/A * constructing the date 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>DATE</code> or 0N/A * <code>TIMESTAMP</code> value 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A // create a default calendar 0N/A // set this Calendar to the time we have 0N/A * Now we can pull the pieces of the date out 0N/A * of the default calendar and put them into 0N/A * the user provided calendar 0N/A * This looks a little odd but it is correct - 0N/A * Calendar.getTime() returns a Date... 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a <code>java.sql.Date</code> 0N/A * object, using the given <code>Calendar</code> object to construct an 0N/A * appropriate millisecond value for the date. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param cal the <code>java.util.Calendar</code> object to use in 0N/A * constructing the date 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>DATE</code> or 0N/A * <code>TIMESTAMP</code> value 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a <code>java.sql.Time</code> 0N/A * object, using the given <code>Calendar</code> object to construct an 0N/A * appropriate millisecond value for the date. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @param cal the <code>java.util.Calendar</code> object to use in 0N/A * constructing the date 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TIME</code> or 0N/A * <code>TIMESTAMP</code> value 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A // create a default calendar 0N/A // set the time in the default calendar 0N/A * Now we can pull the pieces of the date out 0N/A * of the default calendar and put them into 0N/A * the user provided calendar 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a <code>java.sql.Time</code> 0N/A * object, using the given <code>Calendar</code> object to construct an 0N/A * appropriate millisecond value for the date. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param cal the <code>java.util.Calendar</code> object to use in 0N/A * constructing the date 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TIME</code> or 0N/A * <code>TIMESTAMP</code> value 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a <code>java.sql.Timestamp</code> 0N/A * object, using the given <code>Calendar</code> object to construct an 0N/A * appropriate millisecond value for the date. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in the rowset 0N/A * @param cal the <code>java.util.Calendar</code> object to use in 0N/A * constructing the date 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>TIME</code> or 0N/A * <code>TIMESTAMP</code> value 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A // create a default calendar 0N/A // set the time in the default calendar 0N/A * Now we can pull the pieces of the date out 0N/A * of the default calendar and put them into 0N/A * the user provided calendar 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>CachedRowSetImpl</code> object as a 0N/A * <code>java.sql.Timestamp</code> object, using the given 0N/A * <code>Calendar</code> object to construct an appropriate 0N/A * millisecond value for the date. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param cal the <code>java.util.Calendar</code> object to use in 0N/A * constructing the date 0N/A * @return the column value; if the value is SQL <code>NULL</code>, 0N/A * the result is <code>null</code> 0N/A * @throws SQLException if (1) the given column name is not the name of 0N/A * a column in this rowset, (2) the cursor is not on one of 0N/A * this rowset's rows or its insert row, or (3) the designated 0N/A * column does not store an SQL <code>DATE</code>, 0N/A * <code>TIME</code>, or <code>TIMESTAMP</code> value 0N/A * RowSetInternal Interface 0N/A * Retrieves the <code>Connection</code> object passed to this 0N/A * <code>CachedRowSetImpl</code> object. This connection may be 0N/A * used to populate this rowset with data or to write data back 0N/A * to its underlying data source. 0N/A * @return the <code>Connection</code> object passed to this rowset; 0N/A * may be <code>null</code> if there is no connection 0N/A * @throws SQLException if an error occurs 0N/A * Sets the metadata for this <code>CachedRowSetImpl</code> object 0N/A * with the given <code>RowSetMetaData</code> object. 0N/A * @param md a <code>RowSetMetaData</code> object instance containing 0N/A * metadata about the columsn in the rowset 0N/A * @throws SQLException if invalid meta data is supplied to the 0N/A * Returns a result set containing the original value of the rowset. The 0N/A * original value is the state of the <code>CachedRowSetImpl</code> after the 0N/A * last population or synchronization (whichever occured most recently) with 0N/A * The cursor is positioned before the first row in the result set. 0N/A * Only rows contained in the result set returned by <code>getOriginal()</code> 0N/A * are said to have an original value. 0N/A * @return the original result set of the rowset 0N/A * @throws SQLException if an error occurs produce the 0N/A * <code>ResultSet</code> object 0N/A // make sure we don't get someone playing with these 0N/A // %%% is this now necessary ??? 0N/A //crs.setReader(null); 0N/A //crs.setWriter(null); 0N/A * Returns a result set containing the original value of the current 0N/A * The original value is the state of the <code>CachedRowSetImpl</code> after 0N/A * the last population or synchronization (whichever occured most recently) 0N/A * with the data source. 0N/A * @return the original result set of the row 0N/A * @throws SQLException if there is no current row 0N/A * @see #setOriginalRow 0N/A // make sure we don't get someone playing with these 0N/A // %%% is this now necessary ??? 0N/A //crs.setReader(null); 0N/A //crs.setWriter(null); 0N/A * Marks the current row in this rowset as being an original row. 0N/A * @throws SQLException if there is no current row 0N/A * @see #getOriginalRow 0N/A // this can happen if deleted rows are being shown 0N/A * Makes the given row of this rowset the original row by clearing any 0N/A * settings that mark the row as having been inserted, deleted, or updated. 0N/A * This method is called internally by the methods 0N/A * <code>setOriginalRow</code> 0N/A * and <code>setOriginal</code>. 0N/A * @param row the row to be made the original row 0N/A * Marks all rows in this rowset as being original rows. Any updates 0N/A * made to the rows become the original values for the rowset. 0N/A * Calls to the method <code>setOriginal</code> connot be reversed. 0N/A * @throws SQLException if an error occurs 0N/A // remove deleted rows from the collection. 0N/A // notify any listeners that the rowset has changed 0N/A * Returns an identifier for the object (table) that was used to create this 0N/A * @return a <code>String</code> object that identifies the table from 0N/A * which this <code>CachedRowSetImpl</code> object was derived 0N/A * @throws SQLException if an error occurs 0N/A * Sets the identifier for the table from which this rowset was derived 0N/A * to the given table name. 0N/A * @param tabName a <code>String</code> object that identifies the 0N/A * table from which this <code>CachedRowSetImpl</code> object 0N/A * @throws SQLException if an error occurs 0N/A * Returns the columns that make a key to uniquely identify a 0N/A * row in this <code>CachedRowSetImpl</code> object. 0N/A * @return an array of column numbers that constitutes a primary 0N/A * key for this rowset. This array should be empty 0N/A * if no column is representitive of a primary key 0N/A * @throws SQLException if the rowset is empty or no columns 0N/A * are designated as primary keys 0N/A * @see #setKeyColumns 0N/A * Sets this <code>CachedRowSetImpl</code> object's 0N/A * <code>keyCols</code> field with the given array of column 0N/A * numbers, which forms a key for uniquely identifying a row 0N/A * @param keys an array of <code>int</code> indicating the 0N/A * columns that form a primary key for this 0N/A * <code>CachedRowSetImpl</code> object; every 0N/A * element in the array must be greater than 0N/A * <code>0</code> and less than or equal to the number 0N/A * of columns in this rowset 0N/A * @throws SQLException if any of the numbers in the 0N/A * given array is not valid for this rowset 0N/A * @see #getKeyColumns 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>Ref</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param ref the new column <code>java.sql.Ref</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A // SerialClob will help in getting the byte array and storing it. 0N/A // We need to be checking DatabaseMetaData.locatorsUpdatorCopy() 0N/A // or through RowSetMetaData.locatorsUpdatorCopy() 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>double</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param ref the new column <code>java.sql.Ref</code> value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>double</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param c the new column <code>Clob</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A // SerialClob will help in getting the byte array and storing it. 0N/A // We need to be checking DatabaseMetaData.locatorsUpdatorCopy() 0N/A // or through RowSetMetaData.locatorsUpdatorCopy() 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>double</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param c the new column <code>Clob</code> value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.sql.Blob</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param b the new column <code>Blob</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A // SerialBlob will help in getting the byte array and storing it. 0N/A // We need to be checking DatabaseMetaData.locatorsUpdatorCopy() 0N/A // or through RowSetMetaData.locatorsUpdatorCopy() 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.sql.Blob </code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param b the new column <code>Blob</code> value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.sql.Array</code> values. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnIndex the first column is <code>1</code>, the second 0N/A * is <code>2</code>, and so on; must be <code>1</code> or larger 0N/A * and equal to or less than the number of columns in this rowset 0N/A * @param a the new column <code>Array</code> value 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) this rowset is 0N/A * <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A // make sure the cursor is on a valid row 0N/A // SerialArray will help in getting the byte array and storing it. 0N/A // We need to be checking DatabaseMetaData.locatorsUpdatorCopy() 0N/A // or through RowSetMetaData.locatorsUpdatorCopy() 0N/A * Sets the designated column in either the current row or the insert 0N/A * row of this <code>CachedRowSetImpl</code> object with the given 0N/A * <code>java.sql.Array</code> value. 0N/A * This method updates a column value in either the current row or 0N/A * the insert row of this rowset, but it does not update the 0N/A * database. If the cursor is on a row in the rowset, the 0N/A * method {@link #updateRow} must be called to update the database. 0N/A * If the cursor is on the insert row, the method {@link #insertRow} 0N/A * must be called, which will insert the new row into both this rowset 0N/A * and the database. Both of these methods must be called before the 0N/A * cursor moves to another row. 0N/A * @param columnName a <code>String</code> object that must match the 0N/A * SQL name of a column in this rowset, ignoring case 0N/A * @param a the new column <code>Array</code> value 0N/A * @throws SQLException if (1) the given column name does not match the 0N/A * name of a column in this rowset, (2) the cursor is not on 0N/A * one of this rowset's rows or its insert row, or (3) this 0N/A * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>java.net.URL</code> object 0N/A * in the Java programming language. 0N/A * @return a java.net.URL object containing the resource reference described by 0N/A * @throws SQLException if (1) the given column index is out of bounds, 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>DATALINK</code> value. 0N/A * @see #getURL(String) 0N/A //throw new SQLException("Operation not supported"); 0N/A // make sure the cursor is on a valid row 0N/A // check for SQL NULL 0N/A * Retrieves the value of the designated column in this 0N/A * <code>CachedRowSetImpl</code> object as a <code>java.net.URL</code> object 0N/A * in the Java programming language. 0N/A * @return a java.net.URL object containing the resource reference described by 0N/A * @throws SQLException if (1) the given column name not the name of a column 0N/A * in this rowset, or 0N/A * (2) the cursor is not on one of this rowset's rows or its 0N/A * insert row, or (3) the designated column does not store an 0N/A * SQL <code>DATALINK</code> value. 0N/A * The first warning reported by calls on this <code>CachedRowSetImpl</code> 0N/A * object is returned. Subsequent <code>CachedRowSetImpl</code> warnings will 0N/A * be chained to this <code>SQLWarning</code>. All <code>RowSetWarnings</code> 0N/A * warnings are generated in the disconnected environment and remain a 0N/A * seperate warning chain to that provided by the <code>getWarnings</code> 0N/A * <P>The warning chain is automatically cleared each time a new 0N/A * <P><B>Note:</B> This warning chain only covers warnings caused 0N/A * by <code>CachedRowSet</code> (and their child interface) 0N/A * methods. All <code>SQLWarnings</code> can be obtained using the 0N/A * <code>getWarnings</code> method which tracks warnings generated 0N/A * by the underlying JDBC driver. 0N/A * @return the first SQLWarning or null 0N/A * The function tries to isolate the tablename when only setCommand 0N/A * is set and not setTablename is called provided there is only one table 0N/A * name in the query else just leaves the setting of table name as such. 0N/A * If setTablename is set later it will over ride this table name 0N/A * value so retrieved. 0N/A * @return the tablename if only one table in query else return "" 0N/A // If we have a query from one table, 0N/A // we set the table name implicitly 0N/A // else user has to explicitly set the table name. 0N/A // Query can be a select, insert or update 0N/A // look for "from" keyword, after that look for a 0N/A // comma after from. If comma is there don't set 0N/A // table name else isolate table name. 0N/A // implies only one table 0N/A * Adding the addtional check for conditions following the table name. 0N/A * If a condition is found truncate it. 0N/A * Commits all changes performed by the <code>acceptChanges()</code> 0N/A * @see java.sql.Connection#commit 0N/A * Rolls back all changes performed by the <code>acceptChanges()</code> 0N/A * @see java.sql.Connection#rollback 0N/A * Rolls back all changes performed by the <code>acceptChanges()</code> 0N/A * to the last <code>Savepoint</code> transaction marker. 0N/A * @see java.sql.Connection#rollback(Savepoint) 0N/A * Unsets the designated parameter to the given int array. 0N/A * This was set using <code>setMatchColumn</code> 0N/A * as the column which will form the basis of the join. 0N/A * The parameter value unset by this method should be same 0N/A * @param columnIdxes the index into this rowset 0N/A * object's internal representation of parameter values 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds or if the columnIdx is 0N/A * not the same as set using <code>setMatchColumn(int [])</code> 0N/A * Unsets the designated parameter to the given String array. 0N/A * This was set using <code>setMatchColumn</code> 0N/A * as the column which will form the basis of the join. 0N/A * The parameter value unset by this method should be same 0N/A * @param columnIdxes the index into this rowset 0N/A * object's internal representation of parameter values 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds or if the columnName is 0N/A * not the same as set using <code>setMatchColumn(String [])</code> 0N/A * Retrieves the column name as <code>String</code> array 0N/A * that was set using <code>setMatchColumn(String [])</code> 0N/A * @return a <code>String</code> array object that contains the column names 0N/A * for the rowset which has this the match columns 0N/A * @throws SQLException if an error occurs or column name is not set 0N/A * Retrieves the column id as <code>int</code> array that was set using 0N/A * <code>setMatchColumn(int [])</code> for this rowset. 0N/A * @return a <code>int</code> array object that contains the column ids 0N/A * for the rowset which has this as the match columns. 0N/A * @throws SQLException if an error occurs or column index is not set 0N/A * Sets the designated parameter to the given int array. 0N/A * This forms the basis of the join for the 0N/A * <code>JoinRowSet</code> as the column which will form the basis of the 0N/A * The parameter value set by this method is stored internally and 0N/A * will be supplied as the appropriate parameter in this rowset's 0N/A * command when the method <code>getMatchColumnIndexes</code> is called. 0N/A * @param columnIdxes the indexes into this rowset 0N/A * object's internal representation of parameter values; the 0N/A * first parameter is 0, the second is 1, and so on; must be 0N/A * <code>0</code> or greater 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds 0N/A * Sets the designated parameter to the given String array. 0N/A * This forms the basis of the join for the 0N/A * <code>JoinRowSet</code> as the column which will form the basis of the 0N/A * The parameter value set by this method is stored internally and 0N/A * will be supplied as the appropriate parameter in this rowset's 0N/A * command when the method <code>getMatchColumn</code> is called. 0N/A * @param columnNames the name of the column into this rowset 0N/A * object's internal representation of parameter values 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds 0N/A * Sets the designated parameter to the given <code>int</code> 0N/A * object. This forms the basis of the join for the 0N/A * <code>JoinRowSet</code> as the column which will form the basis of the 0N/A * The parameter value set by this method is stored internally and 0N/A * will be supplied as the appropriate parameter in this rowset's 0N/A * command when the method <code>getMatchColumn</code> is called. 0N/A * @param columnIdx the index into this rowset 0N/A * object's internal representation of parameter values; the 0N/A * first parameter is 0, the second is 1, and so on; must be 0N/A * <code>0</code> or greater 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds 0N/A // validate, if col is ok to be set 0N/A //strMatchColumn = null; 0N/A * Sets the designated parameter to the given <code>String</code> 0N/A * object. This forms the basis of the join for the 0N/A * <code>JoinRowSet</code> as the column which will form the basis of the 0N/A * The parameter value set by this method is stored internally and 0N/A * will be supplied as the appropriate parameter in this rowset's 0N/A * command when the method <code>getMatchColumn</code> is called. 0N/A * @param columnName the name of the column into this rowset 0N/A * object's internal representation of parameter values 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds 0N/A // validate, if col is ok to be set 0N/A // set strMatchColumn 0N/A //iMatchColumn = -1; 0N/A * Unsets the designated parameter to the given <code>int</code> 0N/A * object. This was set using <code>setMatchColumn</code> 0N/A * as the column which will form the basis of the join. 0N/A * The parameter value unset by this method should be same 0N/A * @param columnIdx the index into this rowset 0N/A * object's internal representation of parameter values 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds or if the columnIdx is 0N/A * not the same as set using <code>setMatchColumn(int)</code> 0N/A // check if we are unsetting the SAME column 0N/A // that is, we are unsetting it. 0N/A * Unsets the designated parameter to the given <code>String</code> 0N/A * object. This was set using <code>setMatchColumn</code> 0N/A * as the column which will form the basis of the join. 0N/A * The parameter value unset by this method should be same 0N/A * @param columnName the index into this rowset 0N/A * object's internal representation of parameter values 0N/A * @throws SQLException if an error occurs or the 0N/A * parameter index is out of bounds or if the columnName is 0N/A * not the same as set using <code>setMatchColumn(String)</code> 0N/A // check if we are unsetting the same column 0N/A * Notifies registered listeners that a RowSet object in the given RowSetEvent 0N/A * object has populated a number of additional rows. The <code>numRows</code> parameter 0N/A * ensures that this event will only be fired every <code>numRow</code>. 0N/A * The source of the event can be retrieved with the method event.getSource. 0N/A * @param event a <code>RowSetEvent</code> object that contains the 0N/A * <code>RowSet</code> object that is the source of the events 0N/A * @param numRows when populating, the number of rows interval on which the 0N/A * <code>CachedRowSet</code> populated should fire; the default value 0N/A * is zero; cannot be less than <code>fetchSize</code> or zero 0N/A * Populates this <code>CachedRowSet</code> object with data from 0N/A * the given <code>ResultSet</code> object. While related to the <code>populate(ResultSet)</code> 0N/A * method, an additional parameter is provided to allow starting position within 0N/A * the <code>ResultSet</code> from where to populate the CachedRowSet 0N/A * This method is an alternative to the method <code>execute</code> 0N/A * for filling the rowset with data. The method <code>populate</code> 0N/A * does not require that the properties needed by the method 0N/A * <code>execute</code>, such as the <code>command</code> property, 0N/A * be set. This is true because the method <code>populate</code> 0N/A * is given the <code>ResultSet</code> object from 0N/A * which to get data and thus does not need to use the properties 0N/A * required for setting up a connection and executing this 0N/A * <code>CachedRowSetImpl</code> object's command. 0N/A * After populating this rowset with data, the method 0N/A * <code>populate</code> sets the rowset's metadata and 0N/A * then sends a <code>RowSetChangedEvent</code> object 0N/A * to all registered listeners prior to returning. 0N/A * @param data the <code>ResultSet</code> object containing the data 0N/A * to be read into this <code>CachedRowSetImpl</code> object 0N/A * @param start the integer specifing the position in the 0N/A * <code>ResultSet</code> object to popultate the 0N/A * <code>CachedRowSetImpl</code> object. 0N/A * @throws SQLException if an error occurs; or the max row setting is 0N/A * violated while populating the RowSet.Also id the start position 0N/A // get the meta data for this ResultSet 0N/A // set up the metadata 0N/A // release the meta-data so that aren't tempted to use it. 0N/A +
"setting has exceeded max row setting"));
0N/A +
"setting has exceeded max row setting"));
0N/A * check if the user has set a map. If no map 0N/A * is set then use plain getObject. This lets 0N/A * us work with drivers that do not support 0N/A * getObject with a map in fairly sensible way 0N/A * the following block checks for the various 0N/A * types that we have to serialize in order to 0N/A * store - right now only structs have been tested 0N/A // Also rowsFetched should be equal to rvh.size() 0N/A // notify any listeners that the rowset has changed 0N/A * The nextPage gets the next page, that is a <code>CachedRowSetImpl</code> object 0N/A * containing the number of rows specified by page size. 0N/A * @return boolean value true indicating whether there are more pages to come and 0N/A * false indicating that this is the last page. 0N/A * @throws SQLException if an error occurs or this called before calling populate. 0N/A * This is the setter function for setting the size of the page, which specifies 0N/A * how many rows have to be retrived at a time. 0N/A * @param size which is the page size 0N/A * @throws SQLException if size is less than zero or greater than max rows. 0N/A * This is the getter function for the size of the page. 0N/A * @return an integer that is the page size. 0N/A * Retrieves the data present in the page prior to the page from where it is 0N/A * @return boolean value true if it retrieves the previous page, flase if it 0N/A * is on the first page. 0N/A * @throws SQLException if it is called before populate is called or ResultSet 0N/A * is of type <code>ResultSet.TYPE_FORWARD_ONLY</code> or if an error 0N/A * Goes to the page number passed as the parameter 0N/A * @param page , the page loaded on a call to this function 0N/A * @return true if the page exists false otherwise 0N/A * @throws SQLException if an error occurs 0N/A public boolean absolutePage(int page) throws SQLException{ 0N/A boolean isAbs = true, retVal = true; 0N/A throw new SQLException("Absolute positoin is invalid"); 0N/A while((counter < page) && isAbs) { 0N/A if( !isAbs && counter < page){ 0N/A else if(counter == page){ 0N/A * Goes to the page number passed as the parameter from the current page. 0N/A * The parameter can take postive or negative value accordingly. 0N/A * @param page , the page loaded on a call to this function 0N/A * @return true if the page exists false otherwise 0N/A * @throws SQLException if an error occurs 0N/A public boolean relativePage(int page) throws SQLException { 0N/A boolean isRel = true,retVal = true; 0N/A while((counter < page) && isRel){ 0N/A if(!isRel && counter < page){ 0N/A else if( counter == page){ 0N/A while((counter < 0) && isRel){ 0N/A isRel = previousPage(); 0N/A if( !isRel && counter < 0){ 0N/A else if(counter == 0){ 0N/A * Retrieves the first page of data as specified by the page size. 0N/A * @return boolean value true if present on first page, false otherwise 0N/A * @throws SQLException if it called before populate or ResultSet is of 0N/A * type <code>ResultSet.TYPE_FORWARD_ONLY</code> or an error occurs 0N/A public boolean firstPage() throws SQLException { 0N/A if (populatecallcount == 0){ 0N/A throw new SQLException("Populate the data before calling "); 0N/A if(resultSet.getType() == ResultSet.TYPE_FORWARD_ONLY) { 0N/A throw new SQLException("Result of type forward only"); 0N/A crsReader.setStartPosition(startPos); 0N/A crsReader.readData((RowSetInternal)this); 0N/A populate(resultSet,startPos); 0N/A * Retrives the last page of data as specified by the page size. 0N/A * @return boolean value tur if present on the last page, false otherwise 0N/A * @throws SQLException if called before populate or if an error occurs. 0N/A public boolean lastPage() throws SQLException{ 0N/A if(getMaxRows() == 0){ 0N/A if (populatecallcount == 0){ 0N/A throw new SQLException("Populate the data before calling "); 0N/A onFirstPage = false; 0N/A int start = startPos + (pS * (quo - 1)); 0N/A maxRowsreached = mR - pS; 0N/A crsReader.setStartPosition(start); 0N/A crsReader.readData((RowSetInternal)this); 0N/A populate(resultSet,start); 0N/A int start = startPos + (pS * quo); 0N/A maxRowsreached = mR - (rem); 0N/A crsReader.setStartPosition(start); 0N/A crsReader.readData((RowSetInternal)this); 0N/A populate(resultSet,start); 0N/A * Sets the status for the row on which the cursor is positioned. The insertFlag is used 0N/A * to mention the toggle status for this row 0N/A * @param insertFlag if it is true - marks this row as inserted 0N/A * if it is false - marks it as not a newly inserted row 0N/A * @throws SQLException if an error occurs while doing this operation 0N/A * Retrieves the value of the designated <code>SQL XML</code> parameter as a 0N/A * <code>SQLXML</code> object in the Java programming language. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @return a SQLXML object that maps an SQL XML value 0N/A * @throws SQLException if a database access error occurs 0N/A * Retrieves the value of the designated <code>SQL XML</code> parameter as a 0N/A * <code>SQLXML</code> object in the Java programming language. 0N/A * @param colName the name of the column from which to retrieve the value 0N/A * @return a SQLXML object that maps an SQL XML value 0N/A * @throws SQLException if a database access error occurs 0N/A * Retrieves the value of the designated column in the current row of this 0N/A * <code>ResultSet</code> object as a java.sql.RowId object in the Java 0N/A * programming language. 0N/A * @param columnIndex the first column is 1, the second 2, ... 0N/A * @return the column value if the value is a SQL <code>NULL</code> the 0N/A * value returned is <code>null</code> 0N/A * @throws SQLException if a database access error occurs 0N/A * Retrieves the value of the designated column in the current row of this 0N/A * <code>ResultSet</code> object as a java.sql.RowId object in the Java 0N/A * programming language. 0N/A * @param columnName the name of the column 0N/A * @return the column value if the value is a SQL <code>NULL</code> the 0N/A * value returned is <code>null</code> 0N/A * @throws SQLException if a database access error occurs 0N/A * Updates the designated column with a <code>RowId</code> value. The updater 0N/A * methods are used to update column values in the current row or the insert 0N/A * row. The updater methods do not update the underlying database; instead 0N/A * the <code>updateRow<code> or <code>insertRow</code> methods are called 0N/A * to update the database. 0N/A * @param columnIndex the first column is 1, the second 2, ... 0N/A * @param x the column value 0N/A * @throws SQLException if a database access occurs 0N/A * Updates the designated column with a <code>RowId</code> value. The updater 0N/A * methods are used to update column values in the current row or the insert 0N/A * row. The updater methods do not update the underlying database; instead 0N/A * the <code>updateRow<code> or <code>insertRow</code> methods are called 0N/A * to update the database. 0N/A * @param columnName the name of the column 0N/A * @param x the column value 0N/A * @throws SQLException if a database access occurs 0N/A * Retrieves the holdability of this ResultSet object 0N/A * @return either ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT 0N/A * @throws SQLException if a database error occurs 0N/A * Retrieves whether this ResultSet object has been closed. A ResultSet is closed if the 0N/A * method close has been called on it, or if it is automatically closed. 0N/A * @return true if this ResultSet object is closed; false if it is still open 0N/A * @throws SQLException if a database access error occurs 0N/A * This method is used for updating columns that support National Character sets. 0N/A * It can be used for updating NCHAR,NVARCHAR and LONGNVARCHAR columns. 0N/A * @param columnIndex the first column is 1, the second 2, ... 0N/A * @param nString the value for the column to be updated 0N/A * @throws SQLException if a database access error occurs 0N/A * This method is used for updating columns that support National Character sets. 0N/A * It can be used for updating NCHAR,NVARCHAR and LONGNVARCHAR columns. 0N/A * @param columnName name of the Column 0N/A * @param nString the value for the column to be updated 0N/A * @throws SQLException if a database access error occurs 0N/A * This method is used for updating SQL <code>NCLOB</code> type that maps 0N/A * to <code>java.sql.Types.NCLOB</code> 0N/A * @param columnIndex the first column is 1, the second 2, ... 0N/A * @param nClob the value for the column to be updated 0N/A * @throws SQLException if a database access error occurs 0N/A * This method is used for updating SQL <code>NCLOB</code> type that maps 0N/A * to <code>java.sql.Types.NCLOB</code> 0N/A * @param columnName name of the column 0N/A * @param nClob the value for the column to be updated 0N/A * @throws SQLException if a database access error occurs 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>ResultSet</code> object as a <code>NClob</code> object 0N/A * in the Java programming language. 0N/A * @param i the first column is 1, the second is 2, ... 0N/A * @return a <code>NClob</code> object representing the SQL 0N/A * <code>NCLOB</code> value in the specified column 0N/A * @exception SQLException if a database access error occurs 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>ResultSet</code> object as a <code>NClob</code> object 0N/A * in the Java programming language. 0N/A * @param colName the name of the column from which to retrieve the value 0N/A * @return a <code>NClob</code> object representing the SQL <code>NCLOB</code> 0N/A * value in the specified column 0N/A * @exception SQLException if a database access error occurs 0N/A * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. The driver converts this to an 0N/A * SQL <code>XML</code> value when it sends it to the database. 0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ... 0N/A * @param xmlObject a <code>SQLXML</code> object that maps an SQL <code>XML</code> value 0N/A * @throws SQLException if a database access error occurs 0N/A * Sets the designated parameter to the given <code>java.sql.SQLXML</code> object. The driver converts this to an 0N/A * <code>SQL XML</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param xmlObject a <code>SQLXML</code> object that maps an <code>SQL XML</code> value 0N/A * @throws SQLException if a database access error occurs 0N/A * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The 0N/A * driver converts this to a SQL <code>ROWID</code> value when it sends it 0N/A * @param parameterIndex the first parameter is 1, the second is 2, ... 0N/A * @param x the parameter value 0N/A * @throws SQLException if a database access error occurs 0N/A * Sets the designated parameter to the given <code>java.sql.RowId</code> object. The 0N/A * driver converts this to a SQL <code>ROWID</code> when it sends it to the 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @throws SQLException if a database access error occurs 0N/A * Sets the designated parameter to a <code>Reader</code> object. The 0N/A * <code>Reader</code> reads the data till end-of-file is reached. The 0N/A * driver does the necessary conversion from Java character format to 0N/A * the national character set in the database. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setNCharacterStream</code> which takes a length parameter. 0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ... 0N/A * @param value the parameter value 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur ; if a database access error occurs; or 0N/A * this method is called on a closed <code>PreparedStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>java.sql.NClob</code> object. The object 0N/A * implements the <code>java.sql.NClob</code> interface. This <code>NClob</code> 0N/A * object maps to a SQL <code>NCLOB</code>. 0N/A * @param parameterName the name of the column to be set 0N/A * @param value the parameter value 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; or if a database access error occurs 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>ResultSet</code> object as a 0N/A * <code>java.io.Reader</code> object. 0N/A * It is intended for use when 0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code> 0N/A * and <code>LONGNVARCHAR</code> columns. 0N/A * @return a <code>java.io.Reader</code> object that contains the column 0N/A * value; if the value is SQL <code>NULL</code>, the value returned is 0N/A * <code>null</code> in the Java programming language. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @exception SQLException if a database access error occurs 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>ResultSet</code> object as a 0N/A * <code>java.io.Reader</code> object. 0N/A * It is intended for use when 0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code> 0N/A * and <code>LONGNVARCHAR</code> columns. 0N/A * @param columnName the name of the column 0N/A * @return a <code>java.io.Reader</code> object that contains the column 0N/A * value; if the value is SQL <code>NULL</code>, the value returned is 0N/A * <code>null</code> in the Java programming language 0N/A * @exception SQLException if a database access error occurs 0N/A * Updates the designated column with a <code>java.sql.SQLXML</code> value. 0N/A * methods are used to update column values in the current row or the insert 0N/A * row. The updater methods do not update the underlying database; instead 0N/A * the <code>updateRow</code> or <code>insertRow</code> methods are called 0N/A * to update the database. 0N/A * @param columnIndex the first column is 1, the second 2, ... 0N/A * @param xmlObject the value for the column to be updated 0N/A * @throws SQLException if a database access error occurs 0N/A * Updates the designated column with a <code>java.sql.SQLXML</code> value. 0N/A * methods are used to update column values in the current row or the insert 0N/A * row. The updater methods do not update the underlying database; instead 0N/A * the <code>updateRow</code> or <code>insertRow</code> methods are called 0N/A * to update the database. 0N/A * @param columnName the name of the column 0N/A * @param xmlObject the column value 0N/A * @throws SQLException if a database access occurs 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>ResultSet</code> object as 0N/A * a <code>String</code> in the Java programming language. 0N/A * It is intended for use when 0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code> 0N/A * and <code>LONGNVARCHAR</code> columns. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * value returned is <code>null</code> 0N/A * @exception SQLException if a database access error occurs 0N/A * Retrieves the value of the designated column in the current row 0N/A * of this <code>ResultSet</code> object as 0N/A * a <code>String</code> in the Java programming language. 0N/A * It is intended for use when 0N/A * accessing <code>NCHAR</code>,<code>NVARCHAR</code> 0N/A * and <code>LONGNVARCHAR</code> columns. 0N/A * @param columnName the SQL name of the column 0N/A * @return the column value; if the value is SQL <code>NULL</code>, the 0N/A * value returned is <code>null</code> 0N/A * @exception SQLException if a database access error occurs 0N/A * Updates the designated column with a character stream value, which will 0N/A * have the specified number of bytes. The driver does the necessary conversion 0N/A * from Java character format to the national character set in the database. 0N/A * It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. 0N/A * The updater methods are used to update column values in the current row or 0N/A * the insert row. The updater methods do not update the underlying database; 0N/A * instead the updateRow or insertRow methods are called to update the database. 0N/A * @param columnIndex - the first column is 1, the second is 2, ... 0N/A * @param x - the new column value 0N/A * @param length - the length of the stream 0N/A * @exception SQLException if a database access error occurs 0N/A * Updates the designated column with a character stream value, which will 0N/A * have the specified number of bytes. The driver does the necessary conversion 0N/A * from Java character format to the national character set in the database. 0N/A * It is intended for use when updating NCHAR,NVARCHAR and LONGNVARCHAR columns. 0N/A * The updater methods are used to update column values in the current row or 0N/A * the insert row. The updater methods do not update the underlying database; 0N/A * instead the updateRow or insertRow methods are called to update the database. 0N/A * @param columnName - name of the Column 0N/A * @param x - the new column value 0N/A * @param length - the length of the stream 0N/A * @exception SQLException if a database access error occurs 0N/A * Updates the designated column with a character stream value. The 0N/A * driver does the necessary conversion from Java character format to 0N/A * the national character set in the database. 0N/A * It is intended for use when 0N/A * updating <code>NCHAR</code>,<code>NVARCHAR</code> 0N/A * and <code>LONGNVARCHAR</code> columns. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateNCharacterStream</code> which takes a length parameter. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param x the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a character stream value. The 0N/A * driver does the necessary conversion from Java character format to 0N/A * the national character set in the database. 0N/A * It is intended for use when 0N/A * updating <code>NCHAR</code>,<code>NVARCHAR</code> 0N/A * and <code>LONGNVARCHAR</code> columns. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateNCharacterStream</code> which takes a length parameter. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param reader the <code>java.io.Reader</code> object containing 0N/A * the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A////////////////////////// 0N/A * Updates the designated column using the given input stream, which 0N/A * will have the specified number of bytes. 0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code>. Data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from ASCII to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @param length the number of bytes in the parameter data. 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given input stream, which 0N/A * will have the specified number of bytes. 0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code>. Data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from ASCII to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param 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 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @param length the number of bytes in the parameter data. 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given input stream. 0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code>. Data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from ASCII to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateBlob</code> which takes a length parameter. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given input stream. 0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code>. Data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from ASCII to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateBlob</code> which takes a length parameter. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * object, which is the given number of characters long. 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * object, which is the given number of characters long. 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param 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 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateClob</code> which takes a length parameter. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateClob</code> which takes a length parameter. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * object, which is the given number of characters long. 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; this method is called on a closed result set, 0N/A * if a database access error occurs or 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * object, which is the given number of characters long. 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param 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 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; this method is called on a closed result set; 0N/A * if a database access error occurs or 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateNClob</code> which takes a length parameter. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; this method is called on a closed result set, 0N/A * if a database access error occurs or 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column using the given <code>Reader</code> 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateNClob</code> which takes a length parameter. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; this method is called on a closed result set; 0N/A * if a database access error occurs or 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with an ascii stream value, which will have 0N/A * the specified number of bytes. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param x the new column value 0N/A * @param length the length of the stream 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a binary stream value, which will have 0N/A * the specified number of bytes. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param x the new column value 0N/A * @param length the length of the stream 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a character stream value, which will have 0N/A * the specified number of bytes. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param x the new column value 0N/A * @param length the length of the stream 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a character stream value, which will have 0N/A * the specified number of bytes. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param reader the <code>java.io.Reader</code> object containing 0N/A * the new column value 0N/A * @param length the length of the stream 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with an ascii stream value, which will have 0N/A * the specified number of bytes.. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param 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 0N/A * @param x the new column value 0N/A * @param length the length of the stream 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a binary stream value, which will have 0N/A * the specified number of bytes. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * @param 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 0N/A * @param x the new column value 0N/A * @param length the length of the stream 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a binary stream value. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateBinaryStream</code> which takes a length parameter. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param x the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a binary stream value. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateBinaryStream</code> which takes a length parameter. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param x the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a character stream value. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateCharacterStream</code> which takes a length parameter. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param x the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with a character stream value. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateCharacterStream</code> which takes a length parameter. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param reader the <code>java.io.Reader</code> object containing 0N/A * the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with an ascii stream value. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateAsciiStream</code> which takes a length parameter. 0N/A * @param columnIndex the first column is 1, the second is 2, ... 0N/A * @param x the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Updates the designated column with an ascii stream value. 0N/A * The updater methods are used to update column values in the 0N/A * current row or the insert row. The updater methods do not 0N/A * update the underlying database; instead the <code>updateRow</code> or 0N/A * <code>insertRow</code> methods are called to update the database. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>updateAsciiStream</code> which takes a length parameter. 0N/A * @param columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the la 0N/Abel is the name of the column 0N/A * @param x the new column value 0N/A * @exception SQLException if a database access error occurs, 0N/A * the result set concurrency is <code>CONCUR_READ_ONLY</code> 0N/A * or this method is called on a closed result set 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>java.net.URL</code> value. 0N/A * The driver converts this to an SQL <code>DATALINK</code> value 0N/A * when it sends it to the database. 0N/A * @param parameterIndex the first parameter is 1, the second is 2, ... 0N/A * @param x the <code>java.net.URL</code> object to be set 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>PreparedStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>Reader</code> object. 0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code> 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setNClob</code> which takes a length parameter. 0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @throws SQLException if parameterIndex does not correspond to a parameter 0N/A * marker in the SQL statement; 0N/A * if the driver does not support national character sets; 0N/A * if the driver can detect that a data conversion 0N/A * error could occur; if a database access error occurs or 0N/A * this method is called on a closed <code>PreparedStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>Reader</code> object. The <code>reader</code> must contain the number 0N/A * of characters specified by length otherwise a <code>SQLException</code> will be 0N/A * generated when the <code>CallableStatement</code> is executed. 0N/A * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code> 0N/A * @param parameterName the name of the parameter to be set 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if parameterIndex does not correspond to a parameter 0N/A * marker in the SQL statement; if the length specified is less than zero; 0N/A * if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to a <code>Reader</code> object. 0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be send to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code> 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setNClob</code> which takes a length parameter. 0N/A * @param parameterName the name of the parameter 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @throws SQLException if the driver does not support national character sets; 0N/A * if the driver can detect that a data conversion 0N/A * error could occur; if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>Reader</code> object. The reader must contain the number 0N/A * of characters specified by length otherwise a <code>SQLException</code> will be 0N/A * generated when the <code>PreparedStatement</code> is executed. 0N/A * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>NCLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be sent to the server as a <code>LONGNVARCHAR</code> or a <code>NCLOB</code> 0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if parameterIndex does not correspond to a parameter 0N/A * marker in the SQL statement; if the length specified is less than zero; 0N/A * if the driver does not support national character sets; 0N/A * if the driver can detect that a data conversion 0N/A * error could occur; if a database access error occurs or 0N/A * this method is called on a closed <code>PreparedStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>java.sql.NClob</code> object. The driver converts this to 0N/A * SQL <code>NCLOB</code> value when it sends it to the database. 0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ... 0N/A * @param value the parameter value 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur ; or if a database access error occurs 0N/A * Sets the designated paramter to the given <code>String</code> object. 0N/A * The driver converts this to a SQL <code>NCHAR</code> or 0N/A * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value 0N/A * (depending on the argument's 0N/A * size relative to the driver's limits on <code>NVARCHAR</code> values) 0N/A * when it sends it to the database. 0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ... 0N/A * @param value the parameter value 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur ; or if a database access error occurs 0N/A * Sets the designated paramter to the given <code>String</code> object. 0N/A * The driver converts this to a SQL <code>NCHAR</code> or 0N/A * <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> 0N/A * @param parameterName the name of the column to be set 0N/A * @param value the parameter value 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; or if a database access error occurs 0N/A * Sets the designated parameter to a <code>Reader</code> object. The 0N/A * <code>Reader</code> reads the data till end-of-file is reached. The 0N/A * driver does the necessary conversion from Java character format to 0N/A * the national character set in the database. 0N/A * @param parameterIndex of the first parameter is 1, the second is 2, ... 0N/A * @param value the parameter value 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur ; or if a database access error occurs 0N/A * Sets the designated parameter to a <code>Reader</code> object. The 0N/A * <code>Reader</code> reads the data till end-of-file is reached. The 0N/A * driver does the necessary conversion from Java character format to 0N/A * the national character set in the database. 0N/A * @param parameterName the name of the column to be set 0N/A * @param value the parameter value 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur; or if a database access error occurs 0N/A * Sets the designated parameter to a <code>Reader</code> object. The 0N/A * <code>Reader</code> reads the data till end-of-file is reached. The 0N/A * driver does the necessary conversion from Java character format to 0N/A * the national character set in the database. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setNCharacterStream</code> which takes a length parameter. 0N/A * @param parameterName the name of the parameter 0N/A * @param value the parameter value 0N/A * @throws SQLException if the driver does not support national 0N/A * character sets; if the driver can detect that a data conversion 0N/A * error could occur ; if a database access error occurs; or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value, 0N/A * using the given <code>Calendar</code> object. The driver uses 0N/A * the <code>Calendar</code> object to construct an SQL <code>TIMESTAMP</code> value, 0N/A * which the driver then sends to the database. With a 0N/A * a <code>Calendar</code> object, the driver can calculate the timestamp 0N/A * taking into account a custom timezone. If no 0N/A * <code>Calendar</code> object is specified, the driver uses the default 0N/A * timezone, which is that of the virtual machine running the application. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @param cal the <code>Calendar</code> object the driver will use 0N/A * to construct the timestamp 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * @see #getTimestamp 0N/A * Sets the designated parameter to a <code>Reader</code> object. The <code>reader</code> must contain the number 0N/A * of characters specified by length otherwise a <code>SQLException</code> will be 0N/A * generated when the <code>CallableStatement</code> is executed. 0N/A * This method differs from the <code>setCharacterStream (int, Reader, int)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code> 0N/A * @param parameterName the name of the parameter to be set 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if parameterIndex does not correspond to a parameter 0N/A * marker in the SQL statement; if the length specified is less than zero; 0N/A * a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>java.sql.Clob</code> object. 0N/A * The driver converts this to an SQL <code>CLOB</code> value when it 0N/A * sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x a <code>Clob</code> object that maps an SQL <code>CLOB</code> value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to a <code>Reader</code> object. 0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be send to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code> 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setClob</code> which takes a length parameter. 0N/A * @param parameterName the name of the parameter 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @throws SQLException if a database access error occurs or this method is called on 0N/A * a closed <code>CallableStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to the given <code>java.sql.Date</code> value 0N/A * using the default time zone of the virtual machine that is running 0N/A * The driver converts this 0N/A * to an SQL <code>DATE</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>java.sql.Date</code> value, 0N/A * using the given <code>Calendar</code> object. The driver uses 0N/A * the <code>Calendar</code> object to construct an SQL <code>DATE</code> value, 0N/A * which the driver then sends to the database. With a 0N/A * a <code>Calendar</code> object, the driver can calculate the date 0N/A * taking into account a custom timezone. If no 0N/A * <code>Calendar</code> object is specified, the driver uses the default 0N/A * timezone, which is that of the virtual machine running the application. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @param cal the <code>Calendar</code> object the driver will use 0N/A * to construct the date 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>java.sql.Time</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>TIME</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>java.sql.Time</code> value, 0N/A * using the given <code>Calendar</code> object. The driver uses 0N/A * the <code>Calendar</code> object to construct an SQL <code>TIME</code> value, 0N/A * which the driver then sends to the database. With a 0N/A * a <code>Calendar</code> object, the driver can calculate the time 0N/A * taking into account a custom timezone. If no 0N/A * <code>Calendar</code> object is specified, the driver uses the default 0N/A * timezone, which is that of the virtual machine running the application. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @param cal the <code>Calendar</code> object the driver will use 0N/A * to construct the time 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to a <code>Reader</code> object. 0N/A * This method differs from the <code>setCharacterStream (int, Reader)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code> 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setClob</code> which takes a length parameter. 0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @throws SQLException if a database access error occurs, this method is called on 0N/A * a closed <code>PreparedStatement</code>or if parameterIndex does not correspond to a parameter 0N/A * marker in the SQL statement 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>Reader</code> object. The reader must contain the number 0N/A * of characters specified by length otherwise a <code>SQLException</code> will be 0N/A * generated when the <code>PreparedStatement</code> is executed. 0N/A *This method differs from the <code>setCharacterStream (int, Reader, int)</code> method 0N/A * because it informs the driver that the parameter value should be sent to 0N/A * the server as a <code>CLOB</code>. When the <code>setCharacterStream</code> method is used, the 0N/A * driver may have to do extra work to determine whether the parameter 0N/A * data should be sent to the server as a <code>LONGVARCHAR</code> or a <code>CLOB</code> 0N/A * @param parameterIndex index of the first parameter is 1, the second is 2, ... 0N/A * @param reader An object that contains the data to set the parameter value to. 0N/A * @param length the number of characters in the parameter data. 0N/A * @throws SQLException if a database access error occurs, this method is called on 0N/A * a closed <code>PreparedStatement</code>, if parameterIndex does not correspond to a parameter 0N/A * marker in the SQL statement, or if the length specified is less than zero. 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>InputStream</code> object. The inputstream must contain the number 0N/A * of characters specified by length otherwise a <code>SQLException</code> will be 0N/A * generated when the <code>PreparedStatement</code> is executed. 0N/A * This method differs from the <code>setBinaryStream (int, InputStream, int)</code> 0N/A * method because it informs the driver that the parameter value should be 0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used, 0N/A * the driver may have to do extra work to determine whether the parameter 0N/A * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code> 0N/A * @param parameterIndex index of the first parameter is 1, 0N/A * the second is 2, ... 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @param length the number of bytes in the parameter data. 0N/A * @throws SQLException if a database access error occurs, 0N/A * this method is called on a closed <code>PreparedStatement</code>, 0N/A * if parameterIndex does not correspond 0N/A * to a parameter marker in the SQL statement, if the length specified 0N/A * is less than zero or if the number of bytes in the inputstream does not match 0N/A * the specfied length. 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>InputStream</code> object. 0N/A * This method differs from the <code>setBinaryStream (int, InputStream)</code> 0N/A * method because it informs the driver that the parameter value should be 0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used, 0N/A * the driver may have to do extra work to determine whether the parameter 0N/A * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code> 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setBlob</code> which takes a length parameter. 0N/A * @param parameterIndex index of the first parameter is 1, 0N/A * the second is 2, ... 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @throws SQLException if a database access error occurs, 0N/A * this method is called on a closed <code>PreparedStatement</code> or 0N/A * if parameterIndex does not correspond 0N/A * to a parameter marker in the SQL statement, 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to a <code>InputStream</code> object. The <code>inputstream</code> must contain the number 0N/A * of characters specified by length, otherwise a <code>SQLException</code> will be 0N/A * generated when the <code>CallableStatement</code> is executed. 0N/A * This method differs from the <code>setBinaryStream (int, InputStream, int)</code> 0N/A * method because it informs the driver that the parameter value should be 0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used, 0N/A * the driver may have to do extra work to determine whether the parameter 0N/A * data should be sent to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code> 0N/A * @param parameterName the name of the parameter to be set 0N/A * the second is 2, ... 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @param length the number of bytes in the parameter data. 0N/A * @throws SQLException if parameterIndex does not correspond 0N/A * to a parameter marker in the SQL statement, or if the length specified 0N/A * is less than zero; if the number of bytes in the inputstream does not match 0N/A * the specfied length; if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>java.sql.Blob</code> object. 0N/A * The driver converts this to an SQL <code>BLOB</code> value when it 0N/A * sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x a <code>Blob</code> object that maps an SQL <code>BLOB</code> value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to a <code>InputStream</code> object. 0N/A * This method differs from the <code>setBinaryStream (int, InputStream)</code> 0N/A * method because it informs the driver that the parameter value should be 0N/A * sent to the server as a <code>BLOB</code>. When the <code>setBinaryStream</code> method is used, 0N/A * the driver may have to do extra work to determine whether the parameter 0N/A * data should be send to the server as a <code>LONGVARBINARY</code> or a <code>BLOB</code> 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setBlob</code> which takes a length parameter. 0N/A * @param parameterName the name of the parameter 0N/A * @param inputStream An object that contains the data to set the parameter 0N/A * @throws SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the value of the designated parameter with the given object. The second 0N/A * argument must be an object type; for integral values, the 0N/A * <code>java.lang</code> equivalent objects should be used. 0N/A * <p>The given Java object will be converted to the given targetSqlType 0N/A * before being sent to the database. 0N/A * If the object has a custom mapping (is of a class implementing the 0N/A * interface <code>SQLData</code>), 0N/A * the JDBC driver should call the method <code>SQLData.writeSQL</code> to write it 0N/A * to the SQL data stream. 0N/A * If, on the other hand, the object is of a class implementing 0N/A * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>NClob</code>, 0N/A * <code>Struct</code>, <code>java.net.URL</code>, 0N/A * or <code>Array</code>, the driver should pass it to the database as a 0N/A * value of the corresponding SQL type. 0N/A * Note that this method may be used to pass datatabase- 0N/A * specific abstract data types. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the object containing the input parameter value 0N/A * @param targetSqlType the SQL type (as defined in java.sql.Types) to be 0N/A * sent to the database. The scale argument may further qualify this type. 0N/A * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, 0N/A * this is the number of digits after the decimal point. For all other 0N/A * types, this value will be ignored. 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if <code>targetSqlType</code> is 0N/A * a <code>ARRAY</code>, <code>BLOB</code>, <code>CLOB</code>, 0N/A * <code>DATALINK</code>, <code>JAVA_OBJECT</code>, <code>NCHAR</code>, 0N/A * <code>NCLOB</code>, <code>NVARCHAR</code>, <code>LONGNVARCHAR</code>, 0N/A * <code>REF</code>, <code>ROWID</code>, <code>SQLXML</code> 0N/A * or <code>STRUCT</code> data type and the JDBC driver does not support 0N/A * Sets the value of the designated parameter with the given object. 0N/A * This method is like the method <code>setObject</code> 0N/A * above, except that it assumes a scale of zero. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the object containing the input parameter value 0N/A * @param targetSqlType the SQL type (as defined in java.sql.Types) to be 0N/A * sent to the database 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if <code>targetSqlType</code> is 0N/A * a <code>ARRAY</code>, <code>BLOB</code>, <code>CLOB</code>, 0N/A * <code>DATALINK</code>, <code>JAVA_OBJECT</code>, <code>NCHAR</code>, 0N/A * <code>NCLOB</code>, <code>NVARCHAR</code>, <code>LONGNVARCHAR</code>, 0N/A * <code>REF</code>, <code>ROWID</code>, <code>SQLXML</code> 0N/A * or <code>STRUCT</code> data type and the JDBC driver does not support 0N/A * Sets the value of the designated parameter with the given object. 0N/A * The second parameter must be of type <code>Object</code>; therefore, the 0N/A * <code>java.lang</code> equivalent objects should be used for built-in types. 0N/A * <p>The JDBC specification specifies a standard mapping from 0N/A * Java <code>Object</code> types to SQL types. The given argument 0N/A * will be converted to the corresponding SQL type before being 0N/A * sent to the database. 0N/A * <p>Note that this method may be used to pass datatabase- 0N/A * specific abstract data types, by using a driver-specific Java 0N/A * If the object is of a class implementing the interface <code>SQLData</code>, 0N/A * the JDBC driver should call the method <code>SQLData.writeSQL</code> 0N/A * to write it to the SQL data stream. 0N/A * If, on the other hand, the object is of a class implementing 0N/A * <code>Ref</code>, <code>Blob</code>, <code>Clob</code>, <code>NClob</code>, 0N/A * <code>Struct</code>, <code>java.net.URL</code>, 0N/A * or <code>Array</code>, the driver should pass it to the database as a 0N/A * value of the corresponding SQL type. 0N/A * This method throws an exception if there is an ambiguity, for example, if the 0N/A * object is of a class implementing more than one of the interfaces named above. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the object containing the input parameter value 0N/A * @exception SQLException if a database access error occurs, 0N/A * this method is called on a closed <code>CallableStatement</code> or if the given 0N/A * <code>Object</code> parameter is ambiguous 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given input stream, which will have 0N/A * the specified number of bytes. 0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code>. Data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from ASCII to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the Java input stream that contains the ASCII parameter value 0N/A * @param length the number of bytes in the stream 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given input stream, which will have 0N/A * the specified number of bytes. 0N/A * When a very large binary value is input to a <code>LONGVARBINARY</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the java input stream which contains the binary parameter value 0N/A * @param length the number of bytes in the stream 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>Reader</code> 0N/A * object, which is the given number of characters long. 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * @param parameterName the name of the parameter 0N/A * @param reader the <code>java.io.Reader</code> object that 0N/A * contains the UNICODE data used as the designated parameter 0N/A * @param length the number of characters in the stream 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given input stream. 0N/A * When a very large ASCII value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code>. Data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from ASCII to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setAsciiStream</code> which takes a length parameter. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the Java input stream that contains the ASCII parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to the given input stream. 0N/A * When a very large binary value is input to a <code>LONGVARBINARY</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.InputStream</code> object. The data will be read from the 0N/A * stream as needed until end-of-file is reached. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setBinaryStream</code> which takes a length parameter. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the java input stream which contains the binary parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to the given <code>Reader</code> 0N/A * When a very large UNICODE value is input to a <code>LONGVARCHAR</code> 0N/A * parameter, it may be more practical to send it via a 0N/A * <code>java.io.Reader</code> object. The data will be read from the stream 0N/A * as needed until end-of-file is reached. The JDBC driver will 0N/A * do any necessary conversion from UNICODE to the database char format. 0N/A * <P><B>Note:</B> This stream object can either be a standard 0N/A * Java stream object or your own subclass that implements the 0N/A * standard interface. 0N/A * <P><B>Note:</B> Consult your JDBC driver documentation to determine if 0N/A * it might be more efficient to use a version of 0N/A * <code>setCharacterStream</code> which takes a length parameter. 0N/A * @param parameterName the name of the parameter 0N/A * @param reader the <code>java.io.Reader</code> object that contains the 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @throws SQLFeatureNotSupportedException if the JDBC driver does not support this method 0N/A * Sets the designated parameter to the given 0N/A * <code>java.math.BigDecimal</code> value. 0N/A * The driver converts this to an SQL <code>NUMERIC</code> value when 0N/A * it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * @see #getBigDecimal 0N/A * Sets the designated parameter to the given Java <code>String</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>VARCHAR</code> or <code>LONGVARCHAR</code> value 0N/A * (depending on the argument's 0N/A * size relative to the driver's limits on <code>VARCHAR</code> values) 0N/A * when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java array of bytes. 0N/A * The driver converts this to an SQL <code>VARBINARY</code> or 0N/A * <code>LONGVARBINARY</code> (depending on the argument's size relative 0N/A * to the driver's limits on <code>VARBINARY</code> values) when it sends 0N/A * it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given <code>java.sql.Timestamp</code> value. 0N/A * converts this to an SQL <code>TIMESTAMP</code> value when it sends it to the 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * @see #getTimestamp 0N/A * Sets the designated parameter to SQL <code>NULL</code>. 0N/A * <P><B>Note:</B> You must specify the parameter's SQL type. 0N/A * @param parameterName the name of the parameter 0N/A * @param sqlType the SQL type code defined in <code>java.sql.Types</code> 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to SQL <code>NULL</code>. 0N/A * This version of the method <code>setNull</code> should 0N/A * be used for user-defined types and REF type parameters. Examples 0N/A * of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and 0N/A * named array types. 0N/A * <P><B>Note:</B> To be portable, applications must give the 0N/A * SQL type code and the fully-qualified SQL type name when specifying 0N/A * a NULL user-defined or REF parameter. In the case of a user-defined type 0N/A * the name is the type name of the parameter itself. For a REF 0N/A * parameter, the name is the type name of the referenced type. If 0N/A * a JDBC driver does not need the type code or type name information, 0N/A * Although it is intended for user-defined and Ref parameters, 0N/A * this method may be used to set a null parameter of any JDBC type. 0N/A * If the parameter does not have a user-defined or REF type, the given 0N/A * typeName is ignored. 0N/A * @param parameterName the name of the parameter 0N/A * @param sqlType a value from <code>java.sql.Types</code> 0N/A * @param typeName the fully-qualified name of an SQL user-defined type; 0N/A * ignored if the parameter is not a user-defined type or 0N/A * SQL <code>REF</code> value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java <code>boolean</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>BIT</code> or <code>BOOLEAN</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java <code>byte</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>TINYINT</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java <code>short</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>SMALLINT</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java <code>int</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>INTEGER</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java <code>long</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>BIGINT</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java <code>float</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>FLOAT</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * Sets the designated parameter to the given Java <code>double</code> value. 0N/A * The driver converts this 0N/A * to an SQL <code>DOUBLE</code> value when it sends it to the database. 0N/A * @param parameterName the name of the parameter 0N/A * @param x the parameter value 0N/A * @exception SQLException if a database access error occurs or 0N/A * this method is called on a closed <code>CallableStatement</code> 0N/A * @exception SQLFeatureNotSupportedException if the JDBC driver does not support 0N/A * This method re populates the resBundle 0N/A * during the deserialization process 0N/A // Default state initialization happens here 0N/A // Initialization of transient Res Bundle happens here . 2751N/A //------------------------- JDBC 4.1 -----------------------------------