vb.net事务
'A部分
dim DataRowA=DataTableA.newrow
DataRowA.item("I")=2
DataTableA.rows.Add DataRowA'有可能出错
'B部分
dim DataRowB=DataTableB.newrow
DataRowB.item("I")=2
DataTableB.rows.Add DataRowB'有可能出错
以上代码中如果B部分出错,希望A部分的 “DataTableA.rows.Add DataRowA ”操作取消。
--------------------编程问答-------------------- try
....
catch...
...
end try --------------------编程问答-------------------- try...catch 只是对异常的处理,并不回滚操作.
dcNorthwind.Open()
Dim transaction1 As SqlClient.SqlTransaction
transaction1 = dcNorthwind.BeginTransaction()
daCustomers.UpdateCommand.Transaction = transaction1
daOrders.UpdateCommand.Transaction = transaction1
Try
daCustomers.Update(dsNorthwind1)
daOrders.Update(dsNorthwind1)
transaction1.Commit()
Catch dbcex As DBConcurrencyException
MessageBox.Show("Update Failed, Concurrency Exception")
transaction1.Rollback()
Catch ex As Exception
MessageBox.Show("Update Failed")
transaction1.Rollback()
Finally
dcNorthwind.Close()
End Try
这应是你想要的. --------------------编程问答-------------------- 上面的事务是数据库连接上的事务处理,是把数据提交到数据库的代码进行了事务处理。
原本的意思是在数据表DataTable类型上进行 --------------------编程问答-------------------- try
....
catch...
...
end try
在结构化异常处理中操作,如果发生错误,执行Datetable的取消命令(记不起方法名称,不好意思)
,将所做的操作取消!
补充:.NET技术 , VB.NET