VF事务问题

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

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值