中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

VB.NET中如何使用OracleTransaction

發布時間:2021-07-19 15:57:51 來源:億速云 閱讀:180 作者:Leah 欄目:編程語言

VB.NET中如何使用OracleTransaction,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

使用數據庫事務(主要針對VB.NET)

您可以VB.NET使用OracleTransaction類的一個對象來表示一個事務。OracleTransaction類包含多個屬性,其中的兩個為Connection(指定與事務關聯的數據庫連接)和IsolationLevel(指定事務隔離級別)

Connection,指定與該事務關聯的OracleConnection對象;
IsolationLevel,指定該事務的IsolationLevel;
枚舉類型,用于對事物的鎖定,取值有Chaos、ReadCommited、ReadUncommited、RepeatableRead、Serializable、Unspecified。

應用程序通過針對OracleConnection對象調用BeginTransaction來創建OracleTransaction對象。對OracleTransaction對象執行與該事務關聯的所有后續操作(例如提交或中止該事務)。
Commit:提交SQL數據庫事務;
Rollback:從掛起狀態回滾事務;
您還可以使用Save()在事務中設置一個保存點。

下面的示例創建一個OracleConnection和一個OracleTransaction。它還演示了如何使用BeginTransaction、Commit和Rollback方法。(這是MSDN里的范例)需要注意的是,這些操作需要引入命名空間:Oracle.DataAcess.ClientOracle.DataAccess.Client命名空間是ODP.NET的一部分,它包含許多類,其中有OracleConnection、OracleCommand和OracleTransaction。示例程序就用到了這些類。

事務操作

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 程序中設置事務保存點

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

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

VB.NET使用OracleTransaction對象需要注意的幾點:

1)你需要在你整個事務執行中只能有***OracleConnection ,OracleCommand,OracleTransaction,也就是說如果你事務處理過程中如果需要與數據庫的操作都只能在這***的Command中執行,類似于:

imgCommand.CommandText = sSQL imgCommand.ExecuteNonQuery()或其他操作

若你新建一個連接執行其他數據庫操作的話,整個事務過程就會拋出異常

2)如果你需要在你SQL語句中加入參數,則你必須在你執行完提交或相關數據庫操作之后將其Command的參數清空。

關于VB.NET中如何使用OracleTransaction問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新余市| 托里县| 岳阳市| 峡江县| 乃东县| 托克托县| 新蔡县| 建瓯市| 民县| 屯留县| 仁布县| 嘉兴市| 高清| 中山市| 依兰县| 远安县| 江山市| 广汉市| 科技| 东平县| 德钦县| 辉县市| 恩施市| 措美县| 叶城县| 敦化市| 海南省| 腾冲县| 福安市| 霍城县| 长宁区| 鹰潭市| 宜阳县| 玉环县| 松桃| 高台县| 巴青县| 应城市| 五大连池市| 威海市| 航空|