前端之家收集整理的这篇文章主要介绍了
[VB.NET]多表更新问题,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
多表更新问题
数据库是
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() Msg
Box( "成功! ") Catch ex As Exception myTrans.Rollback() Msg
Box( "失败! ") Finally con.Close() End Try __________________________________________________________________________ 不好意思多了一个Next,去掉就可以了. __________________________________________________________________________ 同意一楼。 __________________________________________________________________________ 或者用DataRelation对象 __________________________________________________________________________ 谢谢,不过还有点不是很明白 表1 和 表2 都是一次要更新多条记录,有的情况可能要一次更新50条或更多条的记录,这种情况是不是要把50条记录的更新语句都赋值给
sqlCommand的CommandText
属性?
sqlCommand的CommandText
属性有长度限制吗? 或者我要更新CommandText
属性50次,分别执行吗? 另我接触.Net时间不长,请具体说一下 DataRelation的
用法,最好有例子可以吗? __________________________________________________________________________ 是不是用两个DataTable对象和DataAdapter不能实现我的目的呢? __________________________________________________________________________ 可以考虑采用存储过程。 这样比较方便。 __________________________________________________________________________ 长度没限制 多次更新,可以用For循环 __________________________________________________________________________
原文链接:https://www.f2er.com/vb/263736.html