成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

講述VB.NET使用OracleTransaction對象

開發 后端
這里講述VB.NET使用OracleTransaction對象,OracleTransaction 類包含多個屬性,其中的兩個為 Connection和IsolationLevel。

在向大家詳細介紹VB.NET使用OracleTransaction對象之前,首先讓大家了解下數據庫事務是什么和使用數據庫事務。

數據庫事務是由一組 SQL 語句組成的一個邏輯工作單元。您可以把事務看作是一組不可分的 SQL 語句,這些語句作為一個整體***記錄在數據庫中或一并撤銷。比如在銀行帳戶之間轉移資金:一條 UPDATE語句將從一個帳戶的資金總數中減去一部分,另一條 UPDATE語句將把資金加到另一個帳戶中。減操作和加操作必須***記錄在數據庫中,或者必須一并撤銷 — 否則將損失資金。這個簡單的示例僅使用了兩條 UPDATE 語句,但一個更實際的事務可能包含許多 INSERT、UPDATE和 DELETE 語句。

要***記錄一個事務中的 SQL 語句的結果,您可以通過 COMMIT 語句來執行提交。要撤銷 SQL 語句的結果,您可以使用 ROLLBACK 語句來執行回滾,這會把所有的行重設為它們原來的狀態。只要您事先沒有與數據庫斷開,則您在執行回滾之前所做的任何修改都將被撤銷。您還可以設置一個保存點,以便將事務回滾至該特定的點,同時保持事務中的其他語句原封不動。

使用數據庫事務(主要針對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.Client

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

事務操作

  1. Public Sub RunOracleTransaction()Sub RunOracleTransaction(myConnString As String)  
  2. Dim myConnection As New OracleConnection(myConnString)  
  3. myConnection.Open()  
  4.  
  5. Dim myCommand As OracleCommand = myConnection.CreateCommand()  
  6. Dim myTrans As OracleTransaction  
  7.  
  8. ' Start a local transaction  
  9. myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted)  
  10. ' Assign transaction object for a pending local transaction  
  11. myCommand.Transaction = myTrans 
  12.  
  13. Try  
  14. myCommand.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')" 
  15. myCommand.ExecuteNonQuery()  
  16. myCommand.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')" 
  17. myCommand.ExecuteNonQuery()  
  18. myTrans.Commit()  
  19. Console.WriteLine("Both records are written to database.")  
  20. Catch e As Exception  
  21. myTrans.Rollback()  
  22. Console.WriteLine(e.ToString())  
  23. Console.WriteLine("Neither record was written to database.")  
  24. Finally  
  25. myConnection.Close()  
  26. End Try  
  27. End Sub 

在 .NET 程序中設置事務保存點

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

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

【編輯推薦】

  1. 淺談VB.NET線程構造器
  2. 簡單分析VB.NET使用線程
  3. VB.NET List(T)編寫框架方法
  4. 簡單介紹VB.NET線程同步
  5. VB.NET聲明API詳細描述
責任編輯:佚名 來源: 博客園
相關推薦

2009-10-12 16:51:28

VB.NET使用Ora

2009-10-26 15:57:07

VB.NET使用Ora

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-13 17:03:55

VB.NET面向對象

2009-10-21 10:45:50

VB.NET Quic

2009-10-16 13:26:53

VB.NET Exce

2009-10-26 19:22:29

VB.NET使用Log

2009-10-15 11:11:08

VB.NET Text

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-14 11:15:06

VB.NET Grou

2009-10-23 13:22:25

VB.NET實現拖動圖

2009-10-10 16:44:52

VB.NET開發控件

2009-11-02 15:45:03

VB.NET IEnu

2009-10-19 08:55:22

VB.NET多重繼承

2009-10-16 09:35:24

VB.NET制作透明窗

2009-10-26 18:11:47

VB.NET調用Exc

2009-10-29 09:57:16

VB.NET實現數據綁

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-22 09:20:46

VB.NET Proc

2009-10-27 11:39:03

VB.NET事件處理程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区 中文字幕 | 久久久成人精品 | 天天干天天爽 | 精品国产欧美日韩不卡在线观看 | 91久久国产精品 | 欧美1区2区 | 在线不卡 | 亚洲精品一区二区在线观看 | 天天干天天插 | 日日摸夜夜添夜夜添特色大片 | 欧美一级精品片在线看 | 一级毛片视频 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 一区二区在线不卡 | 亚洲欧美一区二区三区情侣bbw | 久久精品视频91 | 亚洲精品乱码8久久久久久日本 | 美女天堂在线 | 一级免费毛片 | 97精品国产97久久久久久免费 | 99re视频| 亚洲国产一区二区三区 | 久久精品av | www国产成人 | 精品国产欧美一区二区三区成人 | 黄色片在线 | 激情国产 | 成年人网站免费视频 | 国产玖玖 | 自拍第一页 | 精品亚洲一区二区三区 | 午夜在线观看免费 | 紧缚调教一区二区三区视频 | www操操| 农村真人裸体丰满少妇毛片 | 欧美精品日韩 | 欧美高清视频一区 | 日韩中文字幕视频在线 | 国产一区2区 | 古装人性做爰av网站 | 黄色大片在线播放 |