Foxtable(狐表)用户栏目专家坐堂 → 用函数执行事务保存数据的疑问


  共有3019人关注过本帖树形打印复制链接

主题:用函数执行事务保存数据的疑问

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
用函数执行事务保存数据的疑问  发帖心情 Post By: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语句执行出错,都可以全部回滚?

谢谢!

 回到顶部