1)設定事務對象的參數,根據DBMS的不同而不同,可以在DB Profile對話框的Preview中找到語法。這些教本通常在Application的Open事件中編寫;
2)使用SQL語句Connect聯結資料庫。通常也是在Application的Open事件中編寫該教本。需要注意的是,一定要檢查是否聯結成功。可以通過SQLCA.SQLCode來判斷,如果SQLCA.SQLCode等於1則表示聯結成功。如果聯結不成功,則不應該繼續允許。
3)調用SetTransObject函式,為數據視窗對象設定事務對象。通常在視窗的Open事件或者數據視窗的Constructor事件中編寫。
4)在調用函式Update之後,檢查返回值是否為1,如果是1則使用事務語句CommIT提交數據,否則調用Rollback回退事務。
函式語法:integer dwcontrol.SetTransObject ( transaction transaction )
ldwcontrol:要設定事務對象的DataWindow、下拉子數據視窗或者DataStore的名稱。
ltransaction:事務對象名稱,是Transaction類型的變數。
返 回 值:integer類型,1表示成功,如果發生錯誤則返回-1,如果任意參數為Null則返回Null。
代碼實例:
例1:以下腳本在視窗的Open事件中編寫:
dw_1.SetTransObject(SQLCA)
例子2:以下腳本在數據視窗的Constructor事件中編寫:
This.SetTransObject(SQLCA)
例子3:以下教本在Application對象的Open事件中編寫:
// Profile Mpxt
SQLCA.DBMS = ProfileString('setup.ini','databASE','DBMS','')
SQLCA.AutoCommIT = False
SQLCA.DBParm = ProfileString('setup.ini','databASE','DBParm','')
connect;
if sqlca.SQLcode = 0 then
Open(w_main)
else
MessageBox('錯誤','不能和資料庫建立連線。按任意鍵關閉系統......',StopSign!)
halt close;
end if