我们开发人员在实际工作中需要掌握很多种语言方便我们实际程序开发。其中VB.NET就是其中一个必选的编程语言。VB.NET事 务处理是由以一个单一逻辑单位完成的一系列操作,它可以由一系列的sql语句、SELECT、INSERT、UPDATE、DELETE组成,如果在该 单位包含的操作执行完毕后没有发生错误,那么它对数据库所作的改变就是永久的了。如果一旦有错误发生,它就不会对数据库作任何修改或改变。
要定义一个事务,需要使用Begin tran命令,在这一命令之后的任何语句都将被认为是事务的一部分。命令Commit用来完成VB.NET处理,并使事务对数据库所作的修改成为永久的。Rollback命令用来取消一个事务,并还原事务对数据库所作的修改。
下面是一个sql事务的例子:
- [sqlSERVER7.0orsqlSERVER2000]
- BEGINTRAN
- INSERTINTOPRODUCT(PRODUCTID,
PRODUCTNAME)VALUES("0001","KEYBOARD") - IF(@ERROR>0)ROLLBACK
- UPDATEPRODUCTSETPRICE=12WHERE
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的使用
- DimconnectionStringAsString="server=local
host;database=web;uid=sa;pwd="- DimconnAsSystem.Data.sqlClient.sqlConnection=
NewSystem.Data.sqlClient.sqlConnection
(connectionString)- Dimcmd()AsSystem.Data.sqlClient.sqlCommand
- DimtransAsSystem.Data.sqlClient.sqlTransaction
- DimiAsInteger,kAsInteger
- Dimsql()AsString
- k=2
- sql(0)="update..."
- sql(1)="update..."
- sql(2)="update..."
- trans=conn.BeginTransaction()
- Fori=0Tok
- cmd(i)=NewSystem.Data.sqlClient.sql
Command(sql(i),conn)- cmd(i).Transaction =trans
- Next
- Try
- Fori=0Tok
- cmd(i).ExecuteNonQuery()
- Next
- trans.Commit()
- CatchExAssqlException
- trans.Rollback()
- Finally
- conn.Close()
- EndTry
VB.NET事务处理的相关处理方法就为大家介绍到这里。