以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用函数执行事务保存数据的疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160216) |
-- 作者:happyft -- 发布时间:2021/1/25 8:34:00 -- 用函数执行事务保存数据的疑问 Dim SqlList As List(of String) = Args(0) \'传入需要执行的sql语句 Dim cmd As new SQLCommand cmd.ConnectionName = Mydata Try cmd.BeginTransaction() \'开始事务 For Each sql As String In SqlList cmd.CommandText = sql cmd.ExecuteNonQuery() Next cmd.Commit() \'提交事务 sqlList.Clear() \'清空集合 Catch ex As Exception cmd.Rollback() \'回滚事务 msgbox(ex.tostring) \'返回错误信息 sqlList.Clear() \'清空集合 End Try 表单修改后将所的insert,update,delete等sql语句分别加入到一个集合中通过 上面的函数统一遍历执行保存, 比如有5条语句,前面3条执行正常,每4条执行出错了,这种情况下前面3条已执行的数据好象不会回滚, 有没有办法实现只要有一条sql语句执行出错,都可以全部回滚? 谢谢!
|
-- 作者:有点蓝 -- 发布时间:2021/1/25 8:48:00 -- 我测试没有问题,是全部回滚的。请上传实例说明 |