SetTrans  SetValidate

Chapter 9: Methods for the DataWindow Control

SetTransObject

Description

Causes a DataWindow control or DataStore to use a programmer-specified transaction object. The transaction object provides the information necessary for communicating with the database.

Syntax

integer dwcontrol.SetTransObject ( transaction transaction )

Argument

Description

dwcontrol

A reference to a DataWindow control, DataStore, or child DataWindow in which you want to use a programmer-specified transaction object rather than the DataWindow control’s internal transaction object

transaction

The name of the transaction object you want to use in the dwcontrol

Returns

Returns 1 if it succeeds and -1 if an error occurs. If any argument’s value is NULL, the method returns NULL.

Usage


Transaction objects in PocketBuilder

A programmer-specified transaction object gives you more control over the database transactions and provides efficient application performance. You control the database connection by using SQL statements such as CONNECT, COMMIT, and ROLLBACK.

Since the DataWindow control does not have to connect to the database for every RETRIEVE and UPDATE statement, these statements run faster. You are responsible for committing and rolling back transactions after you call the Update method, using code like the following:

IF dw_Employee.Update()>0 THEN

		COMMIT USING emp_transobject;

ELSE

		ROLLBACK USING emp_transobject;

END IF

You must set the parameters required to connect to your DBMS in the transaction object before you can use the transaction object to connect to the database. PocketBuilder provides a global transaction object called SQLCA, which is all you need if you are connecting to one database. You can also create additional transaction objects, as shown in the examples.

To use SetTransObject, write code that does the following tasks:

  1. Set up the transaction object by assigning values to its fields (usually in the application’s Open event).

  2. Connect to the database using the SQL CONNECT statement and the transaction object (in the Open event for the application or window).

  3. Call SetTransObject to associate the transaction object with the DataWindow control or DataStore (usually in the window’s Open event).

  4. Check the return value from the Update method and follow it with a SQL COMMIT or ROLLBACK statement, as appropriate.

If you change the DataWindow object associated with the DataWindow control (or DataStore), or if you disconnect and reconnect to a database, the connection between the DataWindow control (or DataStore) and the transaction object is severed. You must call SetTransObject again to reestablish the connect.

NoteSetTransObject versus SetTrans In most cases, use the SetTransObject method to specify the transaction object because it is efficient and gives you control over when transactions are committed.

The SetTrans method provides another way of managing the database connection. SetTrans, which sets transaction information in the internal transaction object for the DataWindow control or DataStore, manages the connection automatically. You do not explicitly connect to the database; the DataWindow connects and disconnects for each database transaction, which is less efficient but necessary in some situations.

For more information, see SetTrans.

Examples

Example 1

This statement causes dw_employee to use the default transaction object SQLCA:

dw_employee.SetTransObject(SQLCA)

Example 2

This statement causes dw_employee to use the programmer-defined transaction object emp_TransObj. In this example, emp_TransObj is an instance variable, but your script must allocate memory for it with the CREATE statement before you use it:

emp_TransObj = CREATE transaction

... // Assign values to the transaction object

dw_employee.SetTransObject(emp_TransObj)

See also





Copyright © 2004. Sybase Inc. All rights reserved. SetValidate

View this book as PDF