VB.NET事務處理實際操作技巧介紹
我們開發人員在實際工作中需要掌握很多種語言來方便我們的實際程序開發。其中VB.NET就是其中一個必選的編程語言。 VB.NET事務處理是由以一個單一的邏輯單位完成的一系列操作,它可以由一系列的SQL語句、SELECT、INSERT、UPDATE、DELETE組成,如果在該單位包含的操作執行完畢后沒有發生錯誤,那么它對數據庫所作的改變就是***的了。如果一旦有錯誤發生,它就不會對數據庫作任何修改或改變。#t#
要定義一個事務,需要使用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事務處理的相關處理方法就為大家介紹到這里。