Retrieving data
Where PowerBuilder gets
data
PowerBuilder follows this order of precedence to supply the data
in your DataWindow object:
-
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. -
PowerBuilder uses the data in the cache, if there is
any. -
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.
To be able to preview without retrieving data
automatically
-
Select Design>Options from the menu bar.
The DataWindow Options dialog box displays.
-
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.
Retrieve 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.
To retrieve rows from the database
-
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.
-
Supplying argument values or criteria
If the DataWindow object has retrieval arguments or is set up
to prompt for criteria, you are prompted to supply values for the
arguments or to specify criteria.
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:
-
Retrieve Rows As
NeededLets you specify that only the rows needed to display the
current portion of the DataWindow object should be retrieved. When
you scroll downward, additional rows are retrieved. This can speed
up reporting in certain situations. -
Retrieve Rows to
DiskLets you specify that PowerBuilder should save retrieved
data on your hard disk in a temporary file rather than keep the
data in memory. When you preview the DataWindow object,
PowerBuilder swaps rows of data from the temporary file into
memory as needed.For information, see Saving
retrieved rows to disk.