Package 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 | Description
    --- | ---
    `FBRowUpdater​(FBConnection connection, RowDescriptor rowDescriptor, Synchronizable syncProvider, boolean cached, FBObjectListener.ResultSetListener rsListener)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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`