以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 关于try中嵌套try后,sql事务出错回滚的疑问? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123222)
|
-- 作者:luodang2050
-- 发布时间:2018/8/10 9:52:00
-- 关于try中嵌套try后,sql事务出错回滚的疑问?
- 如下代码:无法代码运行结果怎样,都会执行ole_conn.Close()关闭链接,且正常会提交事务或回滚事务。
- 现嵌套try截获错误,直接return前跳到final关闭链接,事务并未回滚。
- 请问:直接关闭链接,事务是否默认会自动回滚?如不会,应该要另外做下处理,比如建立事务是否结束的变量,以在final进行判断,未结束则回滚?
- Try
- If IsolationLevel > 0 \'开启事务
- transaction = ole_conn.BeginTransaction(IsolationLevel)
- command.Transaction = transaction
- command.CommandText = "select * f rom test"
- command.ExecuteNonQuery()
- Catch ex As Exception
- return "err"
- End Try
- If IsolationLevel > 0 Then transaction.Commit()
- If IsolationLevel > 0 Then transaction.Rollback() \'出错则回滚
- MessageBox.Show(ex.Message)
|
-- 作者:有点甜
-- 发布时间:2018/8/10 10:14:00
--
参考代码
try Dim flag As Boolean = True try Dim i As Integer = "abc" catch exx As exception msgbox(3) flag = False End try If flag = False Then msgbox("中间有错") End If catch ex As exception msgbox(2) finally msgbox(1) End try
|
-- 作者:luodang2050
-- 发布时间:2018/8/10 10:29:00
--
收到,看来需要加标志进行处理,谢谢
|