溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VB.NET中如何使用OracleTransaction對象

發(fā)布時間:2021-07-19 15:53:50 來源:億速云 閱讀:149 作者:Leah 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)VB.NET中如何使用OracleTransaction對象,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

使用數(shù)據(jù)庫事務(wù)(主要針對VB.net)

VB.NET使用OracleTransaction對象來表示一個事務(wù)。OracleTransaction 類包含多個屬性,其中的兩個為 Connection(指定與事務(wù)關(guān)聯(lián)的數(shù)據(jù)庫連接)和 IsolationLevel(指定事務(wù)隔離級別)

Connection,指定與該事務(wù)關(guān)聯(lián)的OracleConnection對象;
IsolationLevel,指定該事務(wù)的IsolationLevel;枚舉類型,用于對事物的鎖定,取值有Chaos、 ReadCommited、ReadUncommited、RepeatableRead、Serializable、Unspecified。

應(yīng)用程序通過針對OracleConnection對象調(diào)用 BeginTransaction 來創(chuàng)建OracleTransaction對象。對OracleTransaction對象執(zhí)行與該事務(wù)關(guān)聯(lián)的所有后續(xù)操作(例如提交或中止該事務(wù))。

Commit:提交SQL數(shù)據(jù)庫事務(wù);
Rollback :從掛起狀態(tài)回滾事務(wù);

您還可以使用 Save() 在事務(wù)中設(shè)置一個保存點。

下面的示例創(chuàng)建一個 OracleConnection 和一個 OracleTransaction。它還演示了如何使用 BeginTransaction、Commit 和 Rollback 方法。(這是MSDN里的范例)

需要注意的是,這些操作需要引入命名空間: Oracle.DataAcess.Client

Oracle.DataAccess.Client 命名空間是 ODP.NET 的一部分,它包含許多類,其中有 OracleConnection、OracleCommand 和 OracleTransaction。示例程序就用到了這些類。

事務(wù)操作

Public Sub RunOracleTransaction()Sub RunOracleTransaction(myConnString As String)  Dim myConnection As New OracleConnection(myConnString)  myConnection.Open()   Dim myCommand As OracleCommand = myConnection.CreateCommand()  Dim myTrans As OracleTransaction   ' Start a local transaction  myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted)  ' Assign transaction object for a pending local transaction  myCommand.Transaction = myTrans  Try  myCommand.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')" myCommand.ExecuteNonQuery()  myCommand.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')" myCommand.ExecuteNonQuery()  myTrans.Commit()  Console.WriteLine("Both records are written to database.")  Catch e As Exception  myTrans.Rollback()  Console.WriteLine(e.ToString())  Console.WriteLine("Neither record was written to database.")  Finally  myConnection.Close()  End Try  End Sub

在 .NET 程序中設(shè)置事務(wù)保存點

正如本文前面所提到的那樣,您可以設(shè)置一個保存點,以便將事務(wù)回滾至該特定的點,同時保持事務(wù)中的其他語句原封不動。您可以VB.NET使用OracleTransaction對象的 Save() 方法在事務(wù)中設(shè)置保存點。

如果您有一個非常長的事務(wù)并且希望能夠僅回滾到某個特定的時間點,那么您可能要使用保存點。例如,您可能想對 10 個產(chǎn)品做一些更改,然后設(shè)置一個保存點,然后再對另 10 個產(chǎn)品做更改;如果您在進(jìn)行第二批更改時出現(xiàn)了錯誤,那么您可以回滾至保存點,使您的***批更改原封不動。

上述就是小編為大家分享的VB.NET中如何使用OracleTransaction對象了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI