VB.NET中怎么實(shí)現(xiàn)事務(wù)處理操作,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)是一家專業(yè)提供泰山企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為泰山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
要定義一個(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ì)將交易寫(xiě)在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
關(guān)于VB.NET中怎么實(shí)現(xiàn)事務(wù)處理操作問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。