org.firebirdsql.jdbc

## Class FBRowUpdater

- java.lang.Object
- - org.firebirdsql.jdbc.FBRowUpdater

    public class FBRowUpdater
    extends java.lang.Object

Class responsible for modifying updatable result sets. A result set is updatable if and only if:

- It is a subset of a single table and includes all columns from the table's primary key (in other words, includes all best row identifiers) or RDB$DB_KEY column (in this case tables without primary key can be updated too).
- If base table columns not included in the result set allow NULL values, result set allows inserting rows into it.
- The result set's SELECT statement does not contain subqueries, a DISTINCT predicate, a HAVING clause, aggregate functions, joined tables, user-defined functions, or stored procedures.

If the result set definition does not meet these conditions, it is considered read-only.

Author:
  Roman Rokytskyy, Mark Rotteveel

### Constructor Summary

Constructors
Constructor and Description
`FBRowUpdater(FBConnection connection, RowDescriptor rowDescriptor, Synchronizable syncProvider, boolean cached, FBObjectListener.ResultSetListener rsListener)`

### Method Summary

Methods
`void` `cancelRowUpdates()`
`void` `close()`
`void` `deleteRow()`
`FBField` `getField(int fieldPosition)`
`RowValue` `getInsertRow()`
`RowValue` `getNewRow()`
`RowValue` `getOldRow()`
`void` `insertRow()`
`void` `moveToCurrentRow()`
`void` `moveToInsertRow()`
`void` `refreshRow()`
`boolean` `rowDeleted()`
`boolean` `rowInserted()`
`boolean` `rowUpdated()`
`void` `setRow(RowValue row)`
`void` `updateRow()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### FBRowUpdater

    public FBRowUpdater(FBConnection connection,
                RowDescriptor rowDescriptor,
                Synchronizable syncProvider,
                boolean cached,
                FBObjectListener.ResultSetListener rsListener)
                 throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### close

    public void close()
               throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### setRow

    public void setRow(RowValue row)

#### cancelRowUpdates

    public void cancelRowUpdates()

#### getField

    public FBField getField(int fieldPosition)

#### updateRow

    public void updateRow()
                   throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### deleteRow

    public void deleteRow()
                   throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### insertRow

    public void insertRow()
                   throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### refreshRow

    public void refreshRow()
                    throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### rowInserted

    public boolean rowInserted()
                        throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### rowDeleted

    public boolean rowDeleted()
                       throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### rowUpdated

    public boolean rowUpdated()
                       throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### getNewRow

    public RowValue getNewRow()

#### getInsertRow

    public RowValue getInsertRow()

#### getOldRow

    public RowValue getOldRow()

#### moveToInsertRow

    public void moveToInsertRow()
                         throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### moveToCurrentRow

    public void moveToCurrentRow()
                          throws java.sql.SQLException

Throws:
  `java.sql.SQLException`