您的位置:首页 > 编程语言 > VB

VB.NET中的事务处理

2013-08-28 21:05 375 查看
我们开发人员在实际工作中需要掌握很多种语言方便我们实际程序开发。其中VB.NET就是其中一个必选的编程语言。 VB.NET事 务处理是由以一个单一逻辑单位完成的一系列操作,它可以由一系列的SQL语句、SELECT、INSERT、UPDATE、DELETE组成,如果在该 单位包含的操作执行完毕后没有发生错误,那么它对数据库所作的改变就是永久的了。如果一旦有错误发生,它就不会对数据库作任何修改或改变。

要定义一个事务,需要使用Begin tran命令,在这一命令之后的任何语句都将被认为是事务的一部分。命令Commit用来完成VB.NET处理,并使事务对数据库所作的修改成为永久的。Rollback命令用来取消一个事务,并还原事务对数据库所作的修改。
下面是一个SQL事务的例子:

[SQL SERVER7.0 or SQL SERVER2000]

BEGIN TRAN
INSERT INTO PRODUCT(PRODUCTID,

PRODUCTNAME) VALUES("0001", "KEYBOARD")
IF (@ERROR>0) ROLLBACK
UPDATE PRODUCT SET PRICE=12 WHERE

PRODUCTID= "0002"
IF (@ERROR>0) ROLLBACK
COMMIT
RETURN
ERRH:
ROLLBACK

我们多数会将交易写在STORED PROCEDURE中,但是如果出现DATAGRID中的多数据更新,就需要用到.NET中的这个 System.Data.SqlClient.SqlTransaction和Try...Catch...Finally...End Try来处理异常!下列VB.NET处理代码是VB.NET 中 SqlTransaction的使用
Dim connectionString As String = "server=local
host;database=web;uid=sa;pwd=" 
Dim conn As System.Data.SqlClient.SqlConnection = 
New System.Data.SqlClient.SqlConnection
(connectionString)  
Dim cmd() As System.Data.SqlClient.SqlCommand  
Dim trans As System.Data.SqlClient.SqlTransaction  
Dim i As Integer, k As Integer  
Dim SQL() As String  
k = 2 
SQL(0) = "update ..."  
SQL(1) = "update ..."  
SQL(2) = "update ..."  
trans = conn.BeginTransaction()  
For i = 0 To k  
cmd(i) = New System.Data.SqlClient.Sql
Command(SQL(i), conn)  
cmd(i).Transaction  = trans 
Next  
Try  
For i = 0 To k  
cmd(i).ExecuteNonQuery()  
Next  
trans.Commit()  
Catch Ex As SqlException  
trans.Rollback()  
Finally  
conn.Close()  
End Try


VB.NET事务处理的相关处理方法就为大家介绍到这里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: