12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- $PBExportHeader$uo_transactionobject.sru
- forward
- global type uo_transactionobject from nonvisualobject
- end type
- end forward
- global type uo_transactionobject from nonvisualobject
- end type
- global uo_transactionobject uo_transactionobject
- type variables
- Transaction commit_transaction
- private boolean ins_hascreate = false
- end variables
- forward prototypes
- public function integer uof_new_tran (ref string arg_msg)
- public function integer uof_set_tran (transaction arg_tran)
- private subroutine pf_cleare_tran ()
- end prototypes
- public function integer uof_new_tran (ref string arg_msg);Int rslt = 1
- pf_cleare_tran()
- commit_transaction = Create Transaction
- ins_hascreate = False
- commit_transaction.Database = sqlca.Database
- commit_transaction.DBMS = sqlca.DBMS
- commit_transaction.DBParm = sqlca.DBParm
- commit_transaction.DBPass = sqlca.DBPass
- commit_transaction.Lock = sqlca.Lock
- commit_transaction.LogID = sqlca.LogID
- commit_transaction.LogPass = sqlca.LogPass
- commit_transaction.ServerName = sqlca.ServerName
- commit_transaction.UserID = sqlca.UserID
- CONNECT Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '连接数据库失败,' + commit_transaction.SQLErrText
- GOTO ext
- END IF
- EXECUTE Immediate 'SET DEADLOCK_PRIORITY low' Using commit_transaction;
- IF commit_transaction.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '初始化数据库连接失败,' + commit_transaction.SQLErrText
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- public function integer uof_set_tran (transaction arg_tran);int rslt = 1
- pf_cleare_tran()
- commit_transaction = arg_tran
- return rslt
- end function
- private subroutine pf_cleare_tran ();IF ins_hascreate THEN
- DISCONNECT Using commit_transaction;
- Destroy commit_transaction
- SetNull(commit_transaction)
- ins_hascreate = False
- END IF
- end subroutine
- on uo_transactionobject.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_transactionobject.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
- event constructor;commit_transaction = sqlca
- end event
- event destructor;pf_cleare_tran()
- end event
|