[VB.NET]多表更新问题
2008-12-28 15:35
183 查看
多表更新问题
数据库是 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循环
__________________________________________________________________________
相关文章推荐
- [VB.NET]detailsview 的更新、插入、删除操作遇到的问题
- [VB.NET]再求一条SQL语句更新问题
- 整理了一下Asp.net源码常见问题(完善中...),欢迎大家补充修正(最后更新于06-01)!
- VB.net 关于程序单实例问题的解决方法
- VB操作Excel无法更新的问题研究(续)
- [NET.VB]小问题集锦(供初学者参考)
- vb.net 直接从服务器更新
- ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题
- vb.net数据库连接的问题
- ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题
- vb.net 中 GridView中数据不刷新问题!~~~
- 章鱼哥出品—VB.NET DataGridView绑定数据源 "与货币管理器的位置关联的行不能设置为不可见" 问题的解决
- WinCE下透明Label闪烁的问题及解决方案(vb.net)
- ASP.Net下如何解决关于Access数据库“操作必须使用一个可更新的查询”问题
- ASP.NET Ajax 调试技巧:用 FireBug 调试 UpdatePanel 不更新问题
- VB.NET机房重构篇之数据库小问题
- 关于VB.NET中使用JS文件问题
- .Net中通过DataSet直接更新数据库相关问题和解决方法
- VB.NET导入Excel 的问题
- C#程序转为VB.NET程序的一个小问题