Foxtable(狐表)用户栏目专家坐堂 → [求助]关于SQLCOMMAND的事务执行失败的回滚


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

主题:[求助]关于SQLCOMMAND的事务执行失败的回滚

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/5 16:36:00 [显示全部帖子]

事务是针对SQLcommand执行的sql的,和datatable没有任何关系。

有没有执行,要看代码在哪里出错。如果代码在执行第一个removefor前出错,那就不会执行到,如果是执行最后一个removefor出错,那么第一个removefor肯定执行成功了

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/5 17:06:00 [显示全部帖子]

Try
    Connections("数据源").BeginTransaction() 
'开始事务
    Dim cmd As new 
SQLCommand
    cmd.ConnectionName = 
"数据源"
    cmd.CommandText = 
"Delete From {订单} Where [订单编号] = 32"
    cmd.
ExecuteNonQuery
    cmd.CommandText = 
"Delete From {订单明细} Where [订单编号] = 32"
    cmd.
ExecuteNonQuery
    Connections("数据源").Commit 
'提交事务,所有操作生效
能够执行到这里肯定成功了
 A=1
Catch
 ex As Exception '如果出错
    Connections("数据源").Rollback() 
'回滚事务,撤销所有操作
能够执行到这里肯定失败了
A=0
End
 Try

 回到顶部