请教高手哦:软件被强制关闭,SQL的事务是否回滚? 软件里面已经开启了事务还没提交,但是在执行过程中,软件突然被强制关闭了,请问这种情况下,事务会回滚吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果执行完了就commit.没执行完rollback. 应该会的,你在继承IDispose,Dispose方法里判断回滚后关闭连接即可。 会发生回滚的,除非你COMMIT提交了 谢谢大家的回复,我的意思是这样子: Begin Execute(sql1) Execute(sql2) Execute(sql3) . . .Commit(当中Execute函数都会有回滚的机制)如果执行过程中,软件被强制关了,但是还没有COMMIT,事务不知道会不会回滚 我觉得你没必要在每个EXECUTE函数里设置回滚的机制,你应该把几个EXECUTE函数作为一个整体事务来对待,也就是几个函数要么都执行,要么都不执行。可以统一写一个回滚的语句放在错误捕捉模块里,比如CATCH语句中:rollback。另外,你可以试着将这些EXECUTE函数都写在存储过程里,通过存储过程的事务来控制,程序里可以不使用事务。 只要SQL语句中有对错误的估计并编写了回滚,那么就会实现回滚。 要保险的话还是在事务中加上set xact_abort on但是在一般情况下 事务不提交就回滚 怎么查看 IBM服务器 X3650 的磁盘列子方式,添加新服务器磁盘 求几个题目的答案 VB + SQL2000 ,sqlserver占的内存在不断增大。怎么办? 导入数据时如何更新旧的数据? 请问MS-SQL2005怎样导出SQL语句 [馨郁星愿] 普及知识,请问使用sql事件探查器里的有关参数的中文意思 数据导入的问题?? “由于数据移动,未能继续以 NOLOCK 方式扫描”,如何解决啊? SQLServer2000数据库服务器复活记 急问vfp入门问题 varchar转换为数值型 SQL 数据库备份
Begin
Execute(sql1)
Execute(sql2)
Execute(sql3)
.
.
.
Commit
(当中Execute函数都会有回滚的机制)
如果执行过程中,软件被强制关了,但是还没有COMMIT,事务不知道会不会回滚
另外,你可以试着将这些EXECUTE函数都写在存储过程里,通过存储过程的事务来控制,程序里可以不使用事务。
set xact_abort on但是在一般情况下 事务不提交就回滚