About controlling updates

When PowerBuilder generates the basic DataWindow object, it defines whether the data is updatable by default as follows:

  • If the DataWindow object contains columns from a single table and includes that table's key columns, PowerBuilder defines all columns as updatable and specifies a nonzero tab order for each column, allowing users to tab to the columns.

  • If the DataWindow object contains columns from two or more tables or from a view, PowerBuilder defines all columns as not being updatable and sets all tab orders to zero, preventing users from tabbing to them.

You can accept the default settings or modify the update characteristics for a DataWindow object.

If using a Stored Procedure or External data source

If the data source is Stored Procedure or External, you can use the GetNextModified method to write your own update script. For more information, see the section called “GetNextModified” in DataWindow Reference.

What you can do

You can:

  • Allow updates in a DataWindow object associated with multiple tables or a view; you can define one of the tables as being updatable

  • Prevent updates in a DataWindow object associated with one table

  • Prevent updates to specific columns in a DataWindow object that is associated with an updatable table

  • Specify which columns uniquely identify a row to be updated

  • Specify which columns will be included in the WHERE clause of the UPDATE or DELETE statement PowerBuilder generates to update the database

  • Specify whether PowerBuilder generates an UPDATE statement, or a DELETE then an INSERT statement, to update the database when users modify the values in a key column

Updatability of views

Some views are logically updatable; some are not. For the rules your DBMS follows for updating views, see your DBMS documentation.

To specify update characteristics for a DataWindow object

  1. Select Rows>Update Properties from the menu bar.

    The Specify Update Properties dialog box displays.

  2. To prevent updates to the data, make sure the Allow Updates box is not selected.

  3. To allow updates, select the Allow Updates box and specify the other settings as described below.

  4. Click OK.

Changing tab values

PowerBuilder does not change the tab values associated with columns after you change the update characteristics of the DataWindow object. If you have allowed updates to a table in a multitable DataWindow object, you should change the tab values for the updatable columns so that users can tab to them.

For more information, see Defining the tab order in a DataWindow object.