* * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateString(String columnName, String x) throws SQLException { crsInternal.updateString(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>byte</code> array. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBytes(String columnName, byte x[]) throws SQLException { crsInternal.updateBytes(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Date</code> object. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the type * of the designated column is not an SQL <code>DATE</code> or * <code>TIMESTAMP</code>, or (4) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateDate(String columnName, java.sql.Date x) throws SQLException { crsInternal.updateDate(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Time</code> object. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the type * of the designated column is not an SQL <code>TIME</code> or * <code>TIMESTAMP</code>, or (4) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateTime(String columnName, java.sql.Time x) throws SQLException { crsInternal.updateTime(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Timestamp</code> object. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if the given column index is out of bounds or * the cursor is not on one of this rowset's rows or its * insert row * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the type * of the designated column is not an SQL <code>DATE</code>, * <code>TIME</code>, or <code>TIMESTAMP</code>, or (4) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateTimestamp(String columnName, java.sql.Timestamp x) throws SQLException { crsInternal.updateTimestamp(columnName, x); } /** * Unsupported; throws an <code>UnsupportedOperationException</code> * if called. * <P> * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * ASCII stream value. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @param length the number of one-byte ASCII characters in the stream * @throws UnsupportedOperationException if this method is invoked */ public void updateAsciiStream(String columnName, java.io.InputStream x, int length) throws SQLException { crsInternal.updateAsciiStream(columnName, x, length); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>java.io.InputStream</code> object. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value; must be a <code>java.io.InputStream</code> * containing <code>BINARY</code>, <code>VARBINARY</code>, or * <code>LONGVARBINARY</code> data * @param length the length of the stream in bytes * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the data * in the stream is not binary, or (4) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBinaryStream(String columnName, java.io.InputStream x, int length) throws SQLException { crsInternal.updateBinaryStream(columnName, x, length); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>java.io.Reader</code> object. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value; must be a <code>java.io.Reader</code> * containing <code>BINARY</code>, <code>VARBINARY</code>, * <code>LONGVARBINARY</code>, <code>CHAR</code>, <code>VARCHAR</code>, * or <code>LONGVARCHAR</code> data * @param length the length of the stream in characters * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the data * in the stream is not a binary or character type, or (4) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateCharacterStream(String columnName, java.io.Reader x, int length) throws SQLException { crsInternal.updateCharacterStream(columnName, x, length); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Object</code> value. The <code>scale</code> parameter * indicates the number of digits to the right of the decimal point * and is ignored if the new column value is not a type that will be * mapped to an SQL <code>DECIMAL</code> or <code>NUMERIC</code> value. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @param scale the number of digits to the right of the decimal point (for * <code>DECIMAL</code> and <code>NUMERIC</code> types only) * @throws SQLException if the given column index is out of bounds or * the cursor is not on one of this rowset's rows or its * insert row * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateObject(String columnName, Object x, int scale) throws SQLException { crsInternal.updateObject(columnName, x, scale); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Object</code> value. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateObject(String columnName, Object x) throws SQLException { crsInternal.updateObject(columnName, x); } /** * Inserts the contents of this <code>JoinRowSetImpl</code> object's insert * row into this rowset immediately following the current row. * If the current row is the * position after the last row or before the first row, the new row will * be inserted at the end of the rowset. This method also notifies * listeners registered with this rowset that the row has changed. * <P> * The cursor must be on the insert row when this method is called. * * @throws SQLException if (1) the cursor is not on the insert row, * (2) one or more of the non-nullable columns in the insert * row has not been given a value, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void insertRow() throws SQLException { crsInternal.insertRow(); } /** * Marks the current row of this <code>JoinRowSetImpl</code> object as * updated and notifies listeners registered with this rowset that the * row has changed. * <P> * This method cannot be called when the cursor is on the insert row, and * it should be called before the cursor moves to another row. If it is * called after the cursor moves to another row, this method has no effect, * and the updates made before the cursor moved will be lost. * * @throws SQLException if the cursor is on the insert row or this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateRow() throws SQLException { crsInternal.updateRow(); } /** * Deletes the current row from this <code>JoinRowSetImpl</code> object and * notifies listeners registered with this rowset that a row has changed. * This method cannot be called when the cursor is on the insert row. * <P> * This method marks the current row as deleted, but it does not delete * the row from the underlying data source. The method * <code>acceptChanges</code> must be called to delete the row in * the data source. * * @throws SQLException if (1) this method is called when the cursor * is on the insert row, before the first row, or after the * last row or (2) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void deleteRow() throws SQLException { crsInternal.deleteRow(); } /** * Sets the current row with its original value and marks the row as * not updated, thus undoing any changes made to the row since the * last call to the methods <code>updateRow</code> or <code>deleteRow</code>. * This method should be called only when the cursor is on a row in * this rowset. * * @throws SQLException if the cursor is on the insert row, before the * first row, or after the last row */ public void refreshRow() throws SQLException { crsInternal.refreshRow(); } /** * Rolls back any updates made to the current row of this * <code>JoinRowSetImpl</code> object and notifies listeners that * a row has changed. To have an effect, this method * must be called after an <code>updateXXX</code> method has been * called and before the method <code>updateRow</code> has been called. * If no updates have been made or the method <code>updateRow</code> * has already been called, this method has no effect. * <P> * After <code>updateRow</code> is called it is the * <code>cancelRowUpdates</code> has no affect on the newly * inserted values. The method <code>cancelRowInsert</code> can * be used to remove any rows inserted into the RowSet. * * @throws SQLException if the cursor is on the insert row, before the * first row, or after the last row */ public void cancelRowUpdates() throws SQLException { crsInternal.cancelRowUpdates(); } /** * Moves the cursor for this <code>JoinRowSetImpl</code> object * to the insert row. The current row in the rowset is remembered * while the cursor is on the insert row. * <P> * The insert row is a special row associated with an updatable * rowset. It is essentially a buffer where a new row may * be constructed by calling the appropriate <code>updateXXX</code> * methods to assign a value to each column in the row. A complete * row must be constructed; that is, every column that is not nullable * must be assigned a value. In order for the new row to become part * of this rowset, the method <code>insertRow</code> must be called * before the cursor is moved back to the rowset. * <P> * Only certain methods may be invoked while the cursor is on the insert * row; many methods throw an exception if they are called while the * cursor is there. In addition to the <code>updateXXX</code> * and <code>insertRow</code> methods, only the <code>getXXX</code> methods * may be called when the cursor is on the insert row. A <code>getXXX</code> * method should be called on a column only after an <code>updateXXX</code> * method has been called on that column; otherwise, the value returned is * undetermined. * * @throws SQLException if this <code>JoinRowSetImpl</code> object is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void moveToInsertRow() throws SQLException { crsInternal.moveToInsertRow(); } /** * Moves the cursor for this <code>JoinRowSetImpl</code> object to * the current row. The current row is the row the cursor was on * when the method <code>moveToInsertRow</code> was called. * <P> * Calling this method has no effect unless it is called while the * cursor is on the insert row. * * @throws SQLException if an error occurs */ public void moveToCurrentRow() throws SQLException { crsInternal.moveToCurrentRow(); } /** * Returns <code>null</code>. * * @return <code>null</code> * @throws SQLException if an error occurs */ public Statement getStatement() throws SQLException { return crsInternal.getStatement(); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as a <code>Ref</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return a <code>Ref</code> object representing an SQL<code> REF</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>REF</code> value */ public Ref getRef(int columnIndex) throws SQLException { return crsInternal.getRef(columnIndex); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as a <code>Blob</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return a <code>Blob</code> object representing an SQL <code>BLOB</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>BLOB</code> value */ public Blob getBlob(int columnIndex) throws SQLException { return crsInternal.getBlob(columnIndex); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as a <code>Clob</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return a <code>Clob</code> object representing an SQL <code>CLOB</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>CLOB</code> value */ public Clob getClob(int columnIndex) throws SQLException { return crsInternal.getClob(columnIndex); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as an <code>Array</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return an <code>Array</code> object representing an SQL * <code>ARRAY</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>ARRAY</code> value */ public Array getArray(int columnIndex) throws SQLException { return crsInternal.getArray(columnIndex); } Lines 3001–3500 of 4353. Previous lines Load more
* * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateString(String columnName, String x) throws SQLException { crsInternal.updateString(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>byte</code> array. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBytes(String columnName, byte x[]) throws SQLException { crsInternal.updateBytes(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Date</code> object. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the type * of the designated column is not an SQL <code>DATE</code> or * <code>TIMESTAMP</code>, or (4) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateDate(String columnName, java.sql.Date x) throws SQLException { crsInternal.updateDate(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Time</code> object. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the type * of the designated column is not an SQL <code>TIME</code> or * <code>TIMESTAMP</code>, or (4) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateTime(String columnName, java.sql.Time x) throws SQLException { crsInternal.updateTime(columnName, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Timestamp</code> object. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if the given column index is out of bounds or * the cursor is not on one of this rowset's rows or its * insert row * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the type * of the designated column is not an SQL <code>DATE</code>, * <code>TIME</code>, or <code>TIMESTAMP</code>, or (4) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateTimestamp(String columnName, java.sql.Timestamp x) throws SQLException { crsInternal.updateTimestamp(columnName, x); } /** * Unsupported; throws an <code>UnsupportedOperationException</code> * if called. * <P> * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * ASCII stream value. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @param length the number of one-byte ASCII characters in the stream * @throws UnsupportedOperationException if this method is invoked */ public void updateAsciiStream(String columnName, java.io.InputStream x, int length) throws SQLException { crsInternal.updateAsciiStream(columnName, x, length); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>java.io.InputStream</code> object. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value; must be a <code>java.io.InputStream</code> * containing <code>BINARY</code>, <code>VARBINARY</code>, or * <code>LONGVARBINARY</code> data * @param length the length of the stream in bytes * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the data * in the stream is not binary, or (4) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBinaryStream(String columnName, java.io.InputStream x, int length) throws SQLException { crsInternal.updateBinaryStream(columnName, x, length); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>java.io.Reader</code> object. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value; must be a <code>java.io.Reader</code> * containing <code>BINARY</code>, <code>VARBINARY</code>, * <code>LONGVARBINARY</code>, <code>CHAR</code>, <code>VARCHAR</code>, * or <code>LONGVARCHAR</code> data * @param length the length of the stream in characters * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, (3) the data * in the stream is not a binary or character type, or (4) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateCharacterStream(String columnName, java.io.Reader x, int length) throws SQLException { crsInternal.updateCharacterStream(columnName, x, length); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Object</code> value. The <code>scale</code> parameter * indicates the number of digits to the right of the decimal point * and is ignored if the new column value is not a type that will be * mapped to an SQL <code>DECIMAL</code> or <code>NUMERIC</code> value. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @param scale the number of digits to the right of the decimal point (for * <code>DECIMAL</code> and <code>NUMERIC</code> types only) * @throws SQLException if the given column index is out of bounds or * the cursor is not on one of this rowset's rows or its * insert row * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateObject(String columnName, Object x, int scale) throws SQLException { crsInternal.updateObject(columnName, x, scale); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>Object</code> value. * <P> * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to update the database. * If the cursor is on the insert row, the method {@link #insertRow} * must be called, which will insert the new row into both this rowset * and the database. Both of these methods must be called before the * cursor moves to another row. * * @param columnName a <code>String</code> object that must match the * SQL name of a column in this rowset, ignoring case * @param x the new column value * @throws SQLException if (1) the given column name does not match the * name of a column in this rowset, (2) the cursor is not on * one of this rowset's rows or its insert row, or (3) this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateObject(String columnName, Object x) throws SQLException { crsInternal.updateObject(columnName, x); } /** * Inserts the contents of this <code>JoinRowSetImpl</code> object's insert * row into this rowset immediately following the current row. * If the current row is the * position after the last row or before the first row, the new row will * be inserted at the end of the rowset. This method also notifies * listeners registered with this rowset that the row has changed. * <P> * The cursor must be on the insert row when this method is called. * * @throws SQLException if (1) the cursor is not on the insert row, * (2) one or more of the non-nullable columns in the insert * row has not been given a value, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void insertRow() throws SQLException { crsInternal.insertRow(); } /** * Marks the current row of this <code>JoinRowSetImpl</code> object as * updated and notifies listeners registered with this rowset that the * row has changed. * <P> * This method cannot be called when the cursor is on the insert row, and * it should be called before the cursor moves to another row. If it is * called after the cursor moves to another row, this method has no effect, * and the updates made before the cursor moved will be lost. * * @throws SQLException if the cursor is on the insert row or this * rowset is <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateRow() throws SQLException { crsInternal.updateRow(); } /** * Deletes the current row from this <code>JoinRowSetImpl</code> object and * notifies listeners registered with this rowset that a row has changed. * This method cannot be called when the cursor is on the insert row. * <P> * This method marks the current row as deleted, but it does not delete * the row from the underlying data source. The method * <code>acceptChanges</code> must be called to delete the row in * the data source. * * @throws SQLException if (1) this method is called when the cursor * is on the insert row, before the first row, or after the * last row or (2) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void deleteRow() throws SQLException { crsInternal.deleteRow(); } /** * Sets the current row with its original value and marks the row as * not updated, thus undoing any changes made to the row since the * last call to the methods <code>updateRow</code> or <code>deleteRow</code>. * This method should be called only when the cursor is on a row in * this rowset. * * @throws SQLException if the cursor is on the insert row, before the * first row, or after the last row */ public void refreshRow() throws SQLException { crsInternal.refreshRow(); } /** * Rolls back any updates made to the current row of this * <code>JoinRowSetImpl</code> object and notifies listeners that * a row has changed. To have an effect, this method * must be called after an <code>updateXXX</code> method has been * called and before the method <code>updateRow</code> has been called. * If no updates have been made or the method <code>updateRow</code> * has already been called, this method has no effect. * <P> * After <code>updateRow</code> is called it is the * <code>cancelRowUpdates</code> has no affect on the newly * inserted values. The method <code>cancelRowInsert</code> can * be used to remove any rows inserted into the RowSet. * * @throws SQLException if the cursor is on the insert row, before the * first row, or after the last row */ public void cancelRowUpdates() throws SQLException { crsInternal.cancelRowUpdates(); } /** * Moves the cursor for this <code>JoinRowSetImpl</code> object * to the insert row. The current row in the rowset is remembered * while the cursor is on the insert row. * <P> * The insert row is a special row associated with an updatable * rowset. It is essentially a buffer where a new row may * be constructed by calling the appropriate <code>updateXXX</code> * methods to assign a value to each column in the row. A complete * row must be constructed; that is, every column that is not nullable * must be assigned a value. In order for the new row to become part * of this rowset, the method <code>insertRow</code> must be called * before the cursor is moved back to the rowset. * <P> * Only certain methods may be invoked while the cursor is on the insert * row; many methods throw an exception if they are called while the * cursor is there. In addition to the <code>updateXXX</code> * and <code>insertRow</code> methods, only the <code>getXXX</code> methods * may be called when the cursor is on the insert row. A <code>getXXX</code> * method should be called on a column only after an <code>updateXXX</code> * method has been called on that column; otherwise, the value returned is * undetermined. * * @throws SQLException if this <code>JoinRowSetImpl</code> object is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void moveToInsertRow() throws SQLException { crsInternal.moveToInsertRow(); } /** * Moves the cursor for this <code>JoinRowSetImpl</code> object to * the current row. The current row is the row the cursor was on * when the method <code>moveToInsertRow</code> was called. * <P> * Calling this method has no effect unless it is called while the * cursor is on the insert row. * * @throws SQLException if an error occurs */ public void moveToCurrentRow() throws SQLException { crsInternal.moveToCurrentRow(); } /** * Returns <code>null</code>. * * @return <code>null</code> * @throws SQLException if an error occurs */ public Statement getStatement() throws SQLException { return crsInternal.getStatement(); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as a <code>Ref</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return a <code>Ref</code> object representing an SQL<code> REF</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>REF</code> value */ public Ref getRef(int columnIndex) throws SQLException { return crsInternal.getRef(columnIndex); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as a <code>Blob</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return a <code>Blob</code> object representing an SQL <code>BLOB</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>BLOB</code> value */ public Blob getBlob(int columnIndex) throws SQLException { return crsInternal.getBlob(columnIndex); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as a <code>Clob</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return a <code>Clob</code> object representing an SQL <code>CLOB</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>CLOB</code> value */ public Clob getClob(int columnIndex) throws SQLException { return crsInternal.getClob(columnIndex); } /** * Retrieves the value of the designated column in this * <code>JoinRowSetImpl</code> object as an <code>Array</code> object * in the Java programming lanugage. * * @param columnIndex the first column is <code>1</code>, the second * is <code>2</code>, and so on; must be <code>1</code> or larger * and equal to or less than the number of columns in this rowset * @return an <code>Array</code> object representing an SQL * <code>ARRAY</code> value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) the designated column does not store an * SQL <code>ARRAY</code> value */ public Array getArray(int columnIndex) throws SQLException { return crsInternal.getArray(columnIndex); }