VB
发布时间:2022-04-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了[VB.NET]多表更新问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
多表更新问题 数据库是 SQL SERVER 现在假设有两个表 表1 和 表2 我先用DataAdapter1 和DataAdapter2 分别将表1 和表2填充到dataTable1 和data
table2 中,然后进行了更新操作,现在要将结果保存回数据库中 现在请教: 怎样能实现如果其中一表保存失败时将操作回滚,既要么两个表都更新成功,要么其中一个表保存失败时两个表都不进行更新. 如有方法,请给个VB.NET的示例代码. __________________________________________________________________________
可以参考一下: Dim connStr As
String = "连接数据库语句 " Dim con As New SqlConnection(connStr) con
.open() Dim com As New SqlCommand() Dim
myTrans As Sql
transaction
myTrans = con
.begin
transaction() co
m.Connection = con co
m.transaction =
myTrans Try co
m.CommandText = "更新1的
sql语句 " co
m.ExecuteNonQuery() co
m.CommandText = "更新2的
sql语句 " co
m.ExecuteNonQuery() Next
myTran
s.Commit() MsgBox( "成功! ") Catch ex As Exception
myTran
s.Roll
BACk() MsgBox( "失败! ") Finally con.Close() End Try __________________________________________________________________________ 不好意思多了一个Next,去掉就可以了. __________________________________________________________________________ 同意一楼。 __________________________________________________________________________ 或者用DataRelation对象 __________________________________________________________________________ 谢谢,不过还有点不是很明白 表1 和 表2 都是一次要更新多条记录,有的情况可能要一次更新50条或更多条的记录,这种情况是不是要把50条记录的更新语句都赋值给SqlCommand的CommandText属性? SqlCommand的CommandText属性有长度限制吗? 或者我要更新CommandText属性50次,分别执行吗? 另我接触.Net时间不长,请具体说一下 DataRelation的用法,最好有例子可以吗? __________________________________________________________________________ 是不是用两个DataTable对象和DataAdapter不能实现我的目的呢? __________________________________________________________________________ 可以
考虑采用存储过程。 这样比较方
便。 __________________________________________________________________________ 长度没限制 多次更新,可以用For循环 __________________________________________________________________________
大佬总结
以上是大佬教程为你收集整理的[VB.NET]多表更新问题全部内容,希望文章能够帮你解决[VB.NET]多表更新问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。