lj=cursorgetprop("ConnectHandle","bm")
sqlexec(lj,"set lock_timeout 10000")
allok=.f.
DO while allok=.f. &&当没成功时做
Requery("bm")
BEGIN TRANSACTION
SQLSetProp( lj, 'Transactions', 2 ) &&人工事务
replace 标记 with 101
IF tableupdate(.t.,.f.,"bm")
&&问题在这,我不执行下面的话,sql server照样成功,为什么?
SQLCOMMIT(lj) &&提交sql 后台
END TRANSACTION &&提交本地视图
allok=.t.
ELSE
SQLROLLBACK(lj) &&回滚远程
ROLLBACK &&回滚本地
WAIT "放弃锁,事务回滚..." wind timeout 2
ENDIF
ENDDO &&完成所有事务
****事务结束(长期医嘱与临时医嘱成为一个事务)
SQLSetProp( lj, 'Transactions', 1 )
****事务结束(长期医嘱与临时医嘱成为一个事务)
&&问题在这,我不执行下面的话,sql server照样成功,为什么?
SQLCOMMIT(lj) &&提交sql 后台
END TRANSACTION &&提交本地视图
---------------------------------------------------------------
****事务结束(长期医嘱与临时医嘱成为一个事务)
SQLSetProp( lj, 'Transactions', 1 )
****事务结束(长期医嘱与临时医嘱成为一个事务)
表示自动提交,就算不用sqlcommit