[VB.NET]多表更新问题

VB.NET源码-156个实用实例哦…… 多表更新问题
数据库是 SQL SERVER
现在假设有两个表 表1 和 表2

我先用DataAdapter1 和DataAdapter2 分别将表1 和表2填充到dataTable1 和dataTable2 中, 然后进行了更新操作,现在要将结果保存回数据库中

现在请教: 怎样能实现如果其中一表保存失败时将操作回滚, 既要么两个表都更新成功,要么其中一个表保存失败时两个表都不进行更新.

如有方法,请给个VB.NET的示例代码.
__________________________________________________________________________
可以参考一下:
Dim connStr As String = "连接数据库语句 "
Dim con As New SqlConnection(connStr)
con.Open()
Dim com As New SqlCommand()
Dim myTrans As SqlTransaction
myTrans = con.BeginTransaction()
com.Connection = con
com.Transaction = myTrans
Try
com.CommandText = "更新1的SQL语句 "
com.ExecuteNonQuery()
com.CommandText = "更新2的SQL语句 "
com.ExecuteNonQuery()
Next
myTrans.Commit()
MsgBox( "成功! ")
Catch ex As Exception
myTrans.Rollback()
MsgBox( "失败! ")
Finally
con.Close()
End Try
__________________________________________________________________________
不好意思多了一个Next,去掉就可以了.
__________________________________________________________________________
同意一楼。
__________________________________________________________________________
或者用DataRelation对象
__________________________________________________________________________
谢谢,不过还有点不是很明白

表1 和 表2 都是一次要更新多条记录,有的情况可能要一次更新50条或更多条的记录,
这种情况是不是要把50条记录的更新语句都赋值给SqlCommand的CommandText属性?
SqlCommand的CommandText属性有长度限制吗?

或者我要更新CommandText属性50次,分别执行吗?


另我接触.Net时间不长,请具体说一下 DataRelation的用法,最好有例子可以吗?
__________________________________________________________________________
是不是用两个DataTable对象和DataAdapter不能实现我的目的呢?
__________________________________________________________________________
可以考虑采用存储过程。
这样比较方便。
__________________________________________________________________________
长度没限制
多次更新,可以用For循环
__________________________________________________________________________
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值