Retrieving data

Where PowerBuilder gets data

PowerBuilder follows this order of precedence to supply the data in your DataWindow object:

  1. If you have saved data in the DataWindow object, PowerBuilder uses the saved rows from the DataWindow object and does not retrieve data from the database.

  2. PowerBuilder uses the data in the cache, if there is any.

  3. If there is no data in the cache yet, PowerBuilder retrieves data from the database automatically, with one exception. If the Retrieve on Preview option is off, you have to request retrieval explicitly, as described next.

Previewing without retrieving data

If you do not want PowerBuilder to retrieve data from the database automatically when the Preview view opens, you can clear the Retrieve on Preview option. The Preview view shows the DataWindow object without retrieving data.

StepsTo be able to preview without retrieving data automatically:

  1. Select Design>Options from the menu bar.

    The DataWindow Options dialog box displays.

  2. Clear the Retrieve on Preview check box on the General page.

    When this check box is cleared, your request to preview the DataWindow object does not result in automatic data retrieval from the database.

NoteRetrieve on Preview check box is available in the DataWindow wizards During the initial creation of a DataWindow object, you can set the Retrieve on Preview option.

PowerBuilder uses data caching

When PowerBuilder first retrieves data, it stores the data internally. When it refreshes the Preview view, PowerBuilder displays the stored data instead of retrieving rows from the database again. This can save you a lot of time, since data retrieval can be time consuming.

How using data from the cache affects you

Because PowerBuilder accesses the cache and does not automatically retrieve data every time you preview, you might not have what you want when you preview. The data you see in preview and the data in the database can be out of sync.

For example, if you are working with live data that changes frequently or with statistics based on changing data and you spend time designing the DataWindow object, the data you are looking at may no longer match the database. In this case, retrieve again just before printing.

Explicitly retrieving data

You can explicitly request retrieval at any time.

StepsTo retrieve rows from the database:

  1. Do one of the following:

    • Click the Retrieve button in the PainterBar.

    • Select Rows>Retrieve from the menu bar.

    • Select Retrieve from the Preview view’s pop-up menu.

    PowerBuilder retrieves the rows. As PowerBuilder retrieves, the Retrieve button changes to a Cancel button. You can click the Cancel button to stop the retrieval at any time.

Sharing data with the Data view

The Data view displays data that can be used to populate a DataWindow object. When the ShareData pop-up menu item in the Data view is checked, changes you make in the Data view are reflected in the Preview view and vice versa.

Other options that affect retrieval

These other options can affect retrieval: