* to the fourth row, starting from the beginning of the rowset. * <PRE><code> * * crs.absolute(4); * * </code> </PRE> * <P> * If the number is negative, the cursor moves to an absolute row position * with respect to the end of the rowset. For example, calling * <code>absolute(-1)</code> positions the cursor on the last row, * <code>absolute(-2)</code> moves it on the next-to-last row, and so on. * If the <code>JoinRowSetImpl</code> object <code>crs</code> has five rows, * the following command moves the cursor to the fourth-to-last row, which * in the case of a rowset with five rows, is also the second row, counting * from the beginning. * <PRE><code> * * crs.absolute(-4); * * </code> </PRE> * * If the number specified is larger than the number of rows, the cursor * will move to the position after the last row. If the number specified * would move the cursor one or more rows before the first row, the cursor * moves to the position before the first row. * <P> * Note: Calling <code>absolute(1)</code> is the same as calling the * method <code>first()</code>. Calling <code>absolute(-1)</code> is the * same as calling <code>last()</code>. * * @param row a positive number to indicate the row, starting row numbering from * the first row, which is <code>1</code>; a negative number to indicate * the row, starting row numbering from the last row, which is * <code>-1</code>; must not be <code>0</code> * @return <code>true</code> if the cursor is on the rowset; <code>false</code> * otherwise * @throws SQLException if the given cursor position is <code>0</code> or the * type of this rowset is <code>ResultSet.TYPE_FORWARD_ONLY</code> */ public boolean absolute(int row) throws SQLException { return crsInternal.absolute(row); } /** * Moves the cursor the specified number of rows from the current * position, with a positive number moving it forward and a * negative number moving it backward. * <P> * If the number is positive, the cursor moves the specified number of * rows toward the end of the rowset, starting at the current row. * For example, the following command, in which * <code>crs</code> is a <code>JoinRowSetImpl</code> object with 100 rows, * moves the cursor forward four rows from the current row. If the * current row is 50, the cursor would move to row 54. * <PRE><code> * * crs.relative(4); * * </code> </PRE> * <P> * If the number is negative, the cursor moves back toward the beginning * the specified number of rows, starting at the current row. * For example, calling the method * <code>absolute(-1)</code> positions the cursor on the last row, * <code>absolute(-2)</code> moves it on the next-to-last row, and so on. * If the <code>JoinRowSetImpl</code> object <code>crs</code> has five rows, * the following command moves the cursor to the fourth-to-last row, which * in the case of a rowset with five rows, is also the second row * from the beginning. * <PRE><code> * * crs.absolute(-4); * * </code> </PRE> * * If the number specified is larger than the number of rows, the cursor * will move to the position after the last row. If the number specified * would move the cursor one or more rows before the first row, the cursor * moves to the position before the first row. In both cases, this method * throws an <code>SQLException</code>. * <P> * Note: Calling <code>absolute(1)</code> is the same as calling the * method <code>first()</code>. Calling <code>absolute(-1)</code> is the * same as calling <code>last()</code>. Calling <code>relative(0)</code> * is valid, but it does not change the cursor position. * * @param rows an <code>int</code> indicating the number of rows to move * the cursor, starting at the current row; a positive number * moves the cursor forward; a negative number moves the cursor * backward; must not move the cursor past the valid * rows * @return <code>true</code> if the cursor is on a row in this * <code>JoinRowSetImpl</code> object; <code>false</code> * otherwise * @throws SQLException if there are no rows in this rowset, the cursor is * positioned either before the first row or after the last row, or * the rowset is type <code>ResultSet.TYPE_FORWARD_ONLY</code> */ public boolean relative(int rows) throws SQLException { return crsInternal.relative(rows); } /** * Moves this <code>JoinRowSetImpl</code> object's cursor to the * previous row and returns <code>true</code> if the cursor is on * a valid row or <code>false</code> if it is not. * This method also notifies all listeners registered with this * <code>JoinRowSetImpl</code> object that its cursor has moved. * <P> * Note: calling the method <code>previous()</code> is not the same * as calling the method <code>relative(-1)</code>. This is true * because it is possible to call <code>previous()</code> from the insert * row, from after the last row, or from the current row, whereas * <code>relative</code> may only be called from the current row. * <P> * The method <code>previous</code> may used in a <code>while</code> * loop to iterate through a rowset starting after the last row * and moving toward the beginning. The loop ends when <code>previous</code> * returns <code>false</code>, meaning that there are no more rows. * For example, the following code fragment retrieves all the data in * the <code>JoinRowSetImpl</code> object <code>crs</code>, which has * three columns. Note that the cursor must initially be positioned * after the last row so that the first call to the method * <code>previous</code> places the cursor on the last line. * <PRE> <code> * * crs.afterLast(); * while (previous()) { * String name = crs.getString(1); * int age = crs.getInt(2); * short ssn = crs.getShort(3); * System.out.println(name + " " + age + " " + ssn); * } * * </code> </PRE> * This method throws an <code>SQLException</code> if the cursor is not * on a row in the rowset, before the first row, or after the last row. * * @return <code>true</code> if the cursor is on a valid row; * <code>false</code> if it is before the first row or after the * last row * @throws SQLException if the cursor is not on a valid position or the * type of this rowset is <code>ResultSet.TYPE_FORWARD_ONLY</code> */ public boolean previous() throws SQLException { return crsInternal.previous(); } /** * Returns the index of the column whose name is <i>columnName</i>. * * @param columnName a <code>String</code> object giving the name of the * column for which the index will be returned; the name must * match the SQL name of a column in this <code>JoinRowSet</code> * object, ignoring case * @throws SQLException if the given column name does not match one of the * column names for this <code>JoinRowSet</code> object */ public int findColumn(String columnName) throws SQLException { return crsInternal.findColumn(columnName); } /** * Indicates whether the current row of this <code>JoinRowSetImpl</code> * object has been updated. The value returned * depends on whether this rowset can detect updates: <code>false</code> * will always be returned if it does not detect updates. * * @return <code>true</code> if the row has been visibly updated * by the owner or another and updates are detected; * <code>false</code> otherwise * @throws SQLException if the cursor is on the insert row or not * on a valid row * * @see DatabaseMetaData#updatesAreDetected */ public boolean rowUpdated() throws SQLException { return crsInternal.rowUpdated(); } /** * Indicates whether the designated column of the current row of * this <code>JoinRowSetImpl</code> object has been updated. The * value returned depends on whether this rowset can detcted updates: * <code>false</code> will always be returned if it does not detect updates. * * @return <code>true</code> if the column updated * <code>false</code> otherwse * @throws SQLException if the cursor is on the insert row or not * on a valid row * @see DatabaseMetaData#updatesAreDetected */ public boolean columnUpdated(int indexColumn) throws SQLException { return crsInternal.columnUpdated(indexColumn); } /** * Indicates whether the current row has been inserted. The value returned * depends on whether or not the rowset can detect visible inserts. * * @return <code>true</code> if a row has been inserted and inserts are detected; * <code>false</code> otherwise * @throws SQLException if the cursor is on the insert row or not * not on a valid row * * @see DatabaseMetaData#insertsAreDetected */ public boolean rowInserted() throws SQLException { return crsInternal.rowInserted(); } /** * Indicates whether the current row has been deleted. A deleted row * may leave a visible "hole" in a rowset. This method can be used to * detect such holes if the rowset can detect deletions. This method * will always return <code>false</code> if this rowset cannot detect * deletions. * * @return <code>true</code> if (1)the current row is blank, indicating that * the row has been deleted, and (2)deletions are detected; * <code>false</code> otherwise * @throws SQLException if the cursor is on a valid row in this rowset * @see DatabaseMetaData#deletesAreDetected */ public boolean rowDeleted() throws SQLException { return crsInternal.rowDeleted(); } /** * Sets the designated nullable column in the current row or the * insert row of this <code>JoinRowSetImpl</code> object with * <code>null</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset; however, another method must be called to complete * the update process. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to mark the row as updated * and to notify listeners that the row has changed. * If the cursor is on the insert row, the method {@link #insertRow} * must be called to insert the new row into this rowset and to notify * listeners that a row has changed. * <P> * In order to propagate updates in this rowset to the underlying * data source, an application must call the method acceptChanges * after it calls either <code>updateRow</code> or <code>insertRow</code>. * * @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 * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateNull(int columnIndex) throws SQLException { crsInternal.updateNull(columnIndex); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>boolean</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBoolean(int columnIndex, boolean x) throws SQLException { crsInternal.updateBoolean(columnIndex, 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> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateByte(int columnIndex, byte x) throws SQLException { crsInternal.updateByte(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>short</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateShort(int columnIndex, short x) throws SQLException { crsInternal.updateShort(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>int</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateInt(int columnIndex, int x) throws SQLException { crsInternal.updateInt(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>long</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateLong(int columnIndex, long x) throws SQLException { crsInternal.updateLong(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>float</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateFloat(int columnIndex, float x) throws SQLException { crsInternal.updateFloat(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>double</code> value. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateDouble(int columnIndex, double x) throws SQLException { crsInternal.updateDouble(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>java.math.BigDecimal</code> object. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { crsInternal.updateBigDecimal(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>String</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 mark the row as updated. * If the cursor is on the insert row, the method {@link #insertRow} * must be called to insert the new row into this rowset and mark it * as inserted. Both of these methods must be called before the * cursor moves to another row. * <P> * The method <code>acceptChanges</code> must be called if the * updated values are to be written back to the underlying database. * * @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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */Lines 2001–2500 of 4353. Previous lines Load more
* to the fourth row, starting from the beginning of the rowset. * <PRE><code> * * crs.absolute(4); * * </code> </PRE> * <P> * If the number is negative, the cursor moves to an absolute row position * with respect to the end of the rowset. For example, calling * <code>absolute(-1)</code> positions the cursor on the last row, * <code>absolute(-2)</code> moves it on the next-to-last row, and so on. * If the <code>JoinRowSetImpl</code> object <code>crs</code> has five rows, * the following command moves the cursor to the fourth-to-last row, which * in the case of a rowset with five rows, is also the second row, counting * from the beginning. * <PRE><code> * * crs.absolute(-4); * * </code> </PRE> * * If the number specified is larger than the number of rows, the cursor * will move to the position after the last row. If the number specified * would move the cursor one or more rows before the first row, the cursor * moves to the position before the first row. * <P> * Note: Calling <code>absolute(1)</code> is the same as calling the * method <code>first()</code>. Calling <code>absolute(-1)</code> is the * same as calling <code>last()</code>. * * @param row a positive number to indicate the row, starting row numbering from * the first row, which is <code>1</code>; a negative number to indicate * the row, starting row numbering from the last row, which is * <code>-1</code>; must not be <code>0</code> * @return <code>true</code> if the cursor is on the rowset; <code>false</code> * otherwise * @throws SQLException if the given cursor position is <code>0</code> or the * type of this rowset is <code>ResultSet.TYPE_FORWARD_ONLY</code> */ public boolean absolute(int row) throws SQLException { return crsInternal.absolute(row); } /** * Moves the cursor the specified number of rows from the current * position, with a positive number moving it forward and a * negative number moving it backward. * <P> * If the number is positive, the cursor moves the specified number of * rows toward the end of the rowset, starting at the current row. * For example, the following command, in which * <code>crs</code> is a <code>JoinRowSetImpl</code> object with 100 rows, * moves the cursor forward four rows from the current row. If the * current row is 50, the cursor would move to row 54. * <PRE><code> * * crs.relative(4); * * </code> </PRE> * <P> * If the number is negative, the cursor moves back toward the beginning * the specified number of rows, starting at the current row. * For example, calling the method * <code>absolute(-1)</code> positions the cursor on the last row, * <code>absolute(-2)</code> moves it on the next-to-last row, and so on. * If the <code>JoinRowSetImpl</code> object <code>crs</code> has five rows, * the following command moves the cursor to the fourth-to-last row, which * in the case of a rowset with five rows, is also the second row * from the beginning. * <PRE><code> * * crs.absolute(-4); * * </code> </PRE> * * If the number specified is larger than the number of rows, the cursor * will move to the position after the last row. If the number specified * would move the cursor one or more rows before the first row, the cursor * moves to the position before the first row. In both cases, this method * throws an <code>SQLException</code>. * <P> * Note: Calling <code>absolute(1)</code> is the same as calling the * method <code>first()</code>. Calling <code>absolute(-1)</code> is the * same as calling <code>last()</code>. Calling <code>relative(0)</code> * is valid, but it does not change the cursor position. * * @param rows an <code>int</code> indicating the number of rows to move * the cursor, starting at the current row; a positive number * moves the cursor forward; a negative number moves the cursor * backward; must not move the cursor past the valid * rows * @return <code>true</code> if the cursor is on a row in this * <code>JoinRowSetImpl</code> object; <code>false</code> * otherwise * @throws SQLException if there are no rows in this rowset, the cursor is * positioned either before the first row or after the last row, or * the rowset is type <code>ResultSet.TYPE_FORWARD_ONLY</code> */ public boolean relative(int rows) throws SQLException { return crsInternal.relative(rows); } /** * Moves this <code>JoinRowSetImpl</code> object's cursor to the * previous row and returns <code>true</code> if the cursor is on * a valid row or <code>false</code> if it is not. * This method also notifies all listeners registered with this * <code>JoinRowSetImpl</code> object that its cursor has moved. * <P> * Note: calling the method <code>previous()</code> is not the same * as calling the method <code>relative(-1)</code>. This is true * because it is possible to call <code>previous()</code> from the insert * row, from after the last row, or from the current row, whereas * <code>relative</code> may only be called from the current row. * <P> * The method <code>previous</code> may used in a <code>while</code> * loop to iterate through a rowset starting after the last row * and moving toward the beginning. The loop ends when <code>previous</code> * returns <code>false</code>, meaning that there are no more rows. * For example, the following code fragment retrieves all the data in * the <code>JoinRowSetImpl</code> object <code>crs</code>, which has * three columns. Note that the cursor must initially be positioned * after the last row so that the first call to the method * <code>previous</code> places the cursor on the last line. * <PRE> <code> * * crs.afterLast(); * while (previous()) { * String name = crs.getString(1); * int age = crs.getInt(2); * short ssn = crs.getShort(3); * System.out.println(name + " " + age + " " + ssn); * } * * </code> </PRE> * This method throws an <code>SQLException</code> if the cursor is not * on a row in the rowset, before the first row, or after the last row. * * @return <code>true</code> if the cursor is on a valid row; * <code>false</code> if it is before the first row or after the * last row * @throws SQLException if the cursor is not on a valid position or the * type of this rowset is <code>ResultSet.TYPE_FORWARD_ONLY</code> */ public boolean previous() throws SQLException { return crsInternal.previous(); } /** * Returns the index of the column whose name is <i>columnName</i>. * * @param columnName a <code>String</code> object giving the name of the * column for which the index will be returned; the name must * match the SQL name of a column in this <code>JoinRowSet</code> * object, ignoring case * @throws SQLException if the given column name does not match one of the * column names for this <code>JoinRowSet</code> object */ public int findColumn(String columnName) throws SQLException { return crsInternal.findColumn(columnName); } /** * Indicates whether the current row of this <code>JoinRowSetImpl</code> * object has been updated. The value returned * depends on whether this rowset can detect updates: <code>false</code> * will always be returned if it does not detect updates. * * @return <code>true</code> if the row has been visibly updated * by the owner or another and updates are detected; * <code>false</code> otherwise * @throws SQLException if the cursor is on the insert row or not * on a valid row * * @see DatabaseMetaData#updatesAreDetected */ public boolean rowUpdated() throws SQLException { return crsInternal.rowUpdated(); } /** * Indicates whether the designated column of the current row of * this <code>JoinRowSetImpl</code> object has been updated. The * value returned depends on whether this rowset can detcted updates: * <code>false</code> will always be returned if it does not detect updates. * * @return <code>true</code> if the column updated * <code>false</code> otherwse * @throws SQLException if the cursor is on the insert row or not * on a valid row * @see DatabaseMetaData#updatesAreDetected */ public boolean columnUpdated(int indexColumn) throws SQLException { return crsInternal.columnUpdated(indexColumn); } /** * Indicates whether the current row has been inserted. The value returned * depends on whether or not the rowset can detect visible inserts. * * @return <code>true</code> if a row has been inserted and inserts are detected; * <code>false</code> otherwise * @throws SQLException if the cursor is on the insert row or not * not on a valid row * * @see DatabaseMetaData#insertsAreDetected */ public boolean rowInserted() throws SQLException { return crsInternal.rowInserted(); } /** * Indicates whether the current row has been deleted. A deleted row * may leave a visible "hole" in a rowset. This method can be used to * detect such holes if the rowset can detect deletions. This method * will always return <code>false</code> if this rowset cannot detect * deletions. * * @return <code>true</code> if (1)the current row is blank, indicating that * the row has been deleted, and (2)deletions are detected; * <code>false</code> otherwise * @throws SQLException if the cursor is on a valid row in this rowset * @see DatabaseMetaData#deletesAreDetected */ public boolean rowDeleted() throws SQLException { return crsInternal.rowDeleted(); } /** * Sets the designated nullable column in the current row or the * insert row of this <code>JoinRowSetImpl</code> object with * <code>null</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset; however, another method must be called to complete * the update process. If the cursor is on a row in the rowset, the * method {@link #updateRow} must be called to mark the row as updated * and to notify listeners that the row has changed. * If the cursor is on the insert row, the method {@link #insertRow} * must be called to insert the new row into this rowset and to notify * listeners that a row has changed. * <P> * In order to propagate updates in this rowset to the underlying * data source, an application must call the method acceptChanges * after it calls either <code>updateRow</code> or <code>insertRow</code>. * * @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 * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateNull(int columnIndex) throws SQLException { crsInternal.updateNull(columnIndex); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>boolean</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBoolean(int columnIndex, boolean x) throws SQLException { crsInternal.updateBoolean(columnIndex, 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> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateByte(int columnIndex, byte x) throws SQLException { crsInternal.updateByte(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>short</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateShort(int columnIndex, short x) throws SQLException { crsInternal.updateShort(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>int</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateInt(int columnIndex, int x) throws SQLException { crsInternal.updateInt(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>long</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateLong(int columnIndex, long x) throws SQLException { crsInternal.updateLong(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>float</code> value. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateFloat(int columnIndex, float x) throws SQLException { crsInternal.updateFloat(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>double</code> value. * * This method updates a column value in either the current row or * the insert row of this rowset, but it does not update the * database. If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateDouble(int columnIndex, double x) throws SQLException { crsInternal.updateDouble(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>java.math.BigDecimal</code> object. * <P> * This method updates a column value in the current row or the insert * row of this rowset, but it does not update the database. * If the cursor is on a row in the rowset, the * method {@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 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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */ public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { crsInternal.updateBigDecimal(columnIndex, x); } /** * Sets the designated column in either the current row or the insert * row of this <code>JoinRowSetImpl</code> object with the given * <code>String</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 mark the row as updated. * If the cursor is on the insert row, the method {@link #insertRow} * must be called to insert the new row into this rowset and mark it * as inserted. Both of these methods must be called before the * cursor moves to another row. * <P> * The method <code>acceptChanges</code> must be called if the * updated values are to be written back to the underlying database. * * @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 * @param x the new column value * @throws SQLException if (1) the given column index is out of bounds, * (2) the cursor is not on one of this rowset's rows or its * insert row, or (3) this rowset is * <code>ResultSet.CONCUR_READ_ONLY</code> */