VB.NET事務(wù)處理實(shí)際操作技巧介紹
我們開(kāi)發(fā)人員在實(shí)際工作中需要掌握很多種語(yǔ)言來(lái)方便我們的實(shí)際程序開(kāi)發(fā)。其中VB.NET就是其中一個(gè)必選的編程語(yǔ)言。 VB.NET事務(wù)處理是由以一個(gè)單一的邏輯單位完成的一系列操作,它可以由一系列的SQL語(yǔ)句、SELECT、INSERT、UPDATE、DELETE組成,如果在該單位包含的操作執(zhí)行完畢后沒(méi)有發(fā)生錯(cuò)誤,那么它對(duì)數(shù)據(jù)庫(kù)所作的改變就是***的了。如果一旦有錯(cuò)誤發(fā)生,它就不會(huì)對(duì)數(shù)據(jù)庫(kù)作任何修改或改變。#t#
要定義一個(gè)事務(wù),需要使用Begin tran命令,在這一命令之后的任何語(yǔ)句都將被認(rèn)為是事務(wù)的一部分。命令Commit用來(lái)完成VB.NET事務(wù)處理,并使事務(wù)對(duì)數(shù)據(jù)庫(kù)所作的修改成為***的。Rollback命令用來(lái)取消一個(gè)事務(wù),并還原事務(wù)對(duì)數(shù)據(jù)庫(kù)所作的修改。
下面是一個(gè)SQL事務(wù)的例子:
- [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
我們多數(shù)會(huì)將交易寫在STORED PROCEDURE中,但是如果出現(xiàn)DATAGRID中的多數(shù)據(jù)更新,就需要用到.NET中的這個(gè)System.Data.SqlClient.SqlTransaction和Try...Catch...Finally...End Try來(lái)處理異常!下列VB.NET事務(wù)處理代碼是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事務(wù)處理的相關(guān)處理方法就為大家介紹到這里。