事务问题
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 &&提交本地视图
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 &&提交本地视图
...全文
相关推荐
MySQL嵌套事务所遇到的问题
本文主要探讨了在MySQL中使用嵌套事务可能会遇到的问题,以及对嵌套事务的理解误区。在MySQL数据库系统中,虽然支持嵌套事务的特性,但在实际应用中并不常见。嵌套事务通常是指在一个事务内部开启另
第31讲:MySQL事务的并发问题以及事务的隔离级别
此时已经模拟出了幻读的现象,事务A第一次查询xm=小江的数据时,发现并没有查询到内容,此时事务A就想在表中新增xm=小江的数据了,但是就在这个时候,事务B在表中新增了xm=小江的数据,并且已经提交了数据,比事务A快了一步,事务A在插入xm=小江的数据时,就发现报错了提示数据已经存在了,事务A就该疑问了,我查询的时候并没有这个数据呀,再次查询确实没有这个数据,再次执行写入依旧无法写入,这就是幻读的现象。
Spring事务失效问题分析及解决方案
Spring事务失效问题分析及解决方案在本文中,我们将详细介绍 Spring 中的事务失效问题分析及解决方案。
关于SpringMyBatis纯注解事务不能提交的问题分析与解决
### 关于Spring MyBatis纯注解事务不能提交的问题分析与解决#### 问题背景在使用Spring结合MyBatis框架进行开发时,有时会遇到事务管理方面的问题,特别是当项目采用纯注解的方式配置事务时
解决osgi spring 事务配置问题
总结,解决OSGi Spring事务配置问题需要对OSGi和Spring有深入理解,包括它们的类加载机制、服务注册与发现以及事务管理的原理。


