About DataStores – PB Docs 2017

About
DataStores

A DataStore is a nonvisual DataWindow control. DataStores act just
like DataWindow controls except that they do not have many of the visual
characteristics associated with DataWindow controls. Like a DataWindow
control, a DataStore has a DataWindow object associated with it.

When to use a DataStore

DataStores are useful when you need to access data but do not need
the visual presentation of a DataWindow control. DataStores allow you
to:

  • Perform background processing against the database without
    having to hide DataWindow controls in a window

    Suppose that the DataWindow object displayed in a DataWindow
    control is suitable for online display but not for printing. In this
    case, you could define a second DataWindow object for printing that
    has the same result set description and assign this object to a
    DataStore. You could then share data between the DataStore and the
    DataWindow control. Whenever the user asked to print the data in the
    window, you could print the contents of the DataStore.

  • Hold data used to show multiple views of the same
    information

    When a window shows multiple views of the same information, you
    can use a DataStore to hold the result set. By sharing data between a
    DataStore and one or more DataWindow controls, you can provide
    different views of the same information without retrieving the data
    more than once.

  • Manipulate table rows without using embedded SQL
    statements

    In places where an application calls for row manipulation
    without the need for display, you can use DataStores to handle the
    database processing instead of embedded SQL statements. DataStores
    typically perform faster at execution time than embedded SQL
    statements. Also, because the SQL is stored with the DataWindow object
    when you use a DataStore, you can easily reuse the SQL.

  • Perform database access on an application server

    In a multitier application, the objects in a remote server can
    use DataStores to interact with the database. DataStores let you take
    advantage of the computer resources provided by a server machine,
    removing the need to perform database operations on each
    client.

DataStore methods

Most of the methods and events available for DataWindows are also
available for DataStores. However, some of the methods that handle online
interaction with the user are not available. For example, DataStores
support the Retrieve, Update, InsertRow, and DeleteRow methods, but not
GetClickedRow and SetRowFocusIndicator.

Prompting for information

When you are working with DataStores, you cannot use functionality
that causes a dialog box to display to prompt the user for more
information. Here are some examples of ways to overcome this
restriction:

SetSort and SetFilter

You can use the SetSort and SetFilter methods to specify sort and
filter criteria for a DataStore object, just as you would with a
DataWindow control. However, when you are working with a DataWindow
control, if you pass a NULL value to either SetSort or SetFilter, the
DataWindow prompts the user to enter information. When you are working
with a DataStore, you must supply a valid format when you call the method.
Moreover, you must supply a valid format when you share data between a
DataStore and a DataWindow control; you cannot pass the NULL value to the
DataWindow control rather than the DataStore.

Prompt for Criteria

You can define your DataWindow objects so that the user is prompted
for retrieval criteria before the DataWindow retrieves data. This feature
works with DataWindow controls only. It is not supported with
DataStores.

SaveAs

When you use the SaveAs method with a DataWindow object, you can
pass an empty string for the filename argument so that the user is
prompted for a file name to save to. If you are working with a DataStore,
you must supply the filename argument.

Prompt for Printing

For DataWindow controls, you can specify that a print setup dialog
box display at execution time, either by checking the Prompt Before
Printing check box on the DataWindow object’s Print Specifications
property page, or by setting the DataWindow object’s Print.Prompt property
in a script. This is not supported with DataStores.

Retrieval arguments

If you call the Retrieve method for a DataWindow control that has a
DataWindow object that expects an argument, but do not specify the
argument in the method call, the DataWindow prompts the user for a
retrieval argument. This behavior is not supported with DataStores.

DataStores have some visual
methods

Many of the methods and events that pertain to the visual
presentation of the data in a DataWindow do not apply to DataStores.
However, because you can print the contents of a DataStore and also import
data into a DataStore, DataStores have some visually oriented events and
methods. For example, DataStores support the SetBorderStyle and
SetSeriesStyle methods so that you can control the presentation of the
data at print time. Similarly, DataStores support the ItemError event,
because data imported from a string or file that does not pass the
validation rules for a column triggers this event.

For a complete list of the methods and events for the DataStore
object and information about each method, see the DataWindow Reference.

DataStores require no visual
overhead

Unlike DataWindow controls, DataStores do not require any visual
overhead in a window. Using a DataStore is therefore more efficient than
hiding a DataWindow control in a window.


Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x