六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

在ADO.NET中使用事務(wù)保護數(shù)據(jù)的完整性(3)

[摘要]事務(wù)在ADO.Net中Ado.net 支持兩種事務(wù)模型,這在.Net Framework 文檔中作為指南有定義.事務(wù)指南手冊介紹了通常應(yīng)該知道的數(shù)據(jù)庫事務(wù), 它影響操作單個目標(biāo)數(shù)據(jù)庫.一個類通過由a...
事務(wù)在ADO.Net中

Ado.net 支持兩種事務(wù)模型,這在.Net Framework 文檔中作為指南有定義.事務(wù)指南手冊介紹了通常應(yīng)該知道的數(shù)據(jù)庫事務(wù), 它影響操作單個目標(biāo)數(shù)據(jù)庫.一個類通過由ado.net顯示描述的事務(wù)邊界使用事務(wù)類和方法能提供事務(wù)指南.在接下來的章節(jié)中,我將把重點放在事務(wù)指南上.

自動事務(wù)也是可行的,為了使用類來參與事務(wù)來協(xié)調(diào)跨多個數(shù)據(jù)源的改變.在這種情景下事務(wù)本身是在外層處理的,比如通過com+ 和 DTC. 需要了解更多自動事務(wù)的,可以參照相關(guān)自動事務(wù).

注:當(dāng)沒有在你的代碼中指定事務(wù)行為時,你應(yīng)該注意數(shù)據(jù)庫事務(wù)默認行為.比如,sql Server 默認自動模式,每個事務(wù)-Sql 語句或成功或失敗.要了解哪種默認行為是希望得到的從你工作的數(shù)據(jù)源中,能幫你決定你是否顯示定義事務(wù),也可以對于你理解你的系統(tǒng)行為更有幫助.

事務(wù)相關(guān)類總攬

Ado.net 數(shù)據(jù)提供對象通過Connection, Command, 和Transaction 類來提供事務(wù)功能. 一個典型的事務(wù)過程類似以下:

1. 打開事務(wù)通過Connetion.BeginTransaction()

2. 通過設(shè)置Command 的Command.Transaction 屬性,在事務(wù)中加入語句或存儲過程.

3. 依靠提供者,選擇使用 Transaction.Save() 或 Transaction.Begin() 來創(chuàng)建savepoint 或內(nèi)嵌的事務(wù)來使能局部回滾.

4. 提交或回滾事務(wù)通過使用Transaction.Commit() 或Transaction.Rollback()

所有的數(shù)據(jù)提供者提供了同樣的基本結(jié)構(gòu)來處理事務(wù),開始連接的事務(wù),加入指令,使用事務(wù)物件來提交或回滾.

Sql Server 事務(wù)

Sql Server 數(shù)據(jù)提供對象提供事務(wù)的基本功能情況見以下的類和成員:

Class
Member
Function

SqlConnection
BeginTransaction
Open a new transaction.

SqlCommand
Transaction
Enlist the command associated with the object in an open transaction.

SqlTransaction
Save
Create a savepoint to enable a partial rollback.

SqlTransaction
Rollback
Roll back a transaction.

SqlTransaction
Commit
Commit a Transaction



Sql Server 數(shù)據(jù)提供者( 對于Sql Server 來說,OLE DB provider 也是如此) 不提供在代碼中創(chuàng)建內(nèi)嵌事務(wù)的方式, 因此內(nèi)嵌事務(wù)在Sql Server并不真正的被支持.因此這兒只有一種方式來開始一個事務(wù)在SqlClient中-使用SqlConnection.BeginTransaction(). 你不能在統(tǒng)一個連接中打開另外一個事務(wù),直到先前的事務(wù)被提交或回滾,因此在任何時間每個連接只有一個打開的事務(wù).為了使用局部回滾,使用SqlTransaction.Save().

OLE DB 事務(wù)

OLE DB 數(shù)據(jù)提供者提供事務(wù)的基本功能情況見以下的類和成員:

Class
Member
Function

OleDbConnection
BeginTransaction
Open a new transaction.

OleDbCommand
Transaction
Enlist the command associated with the object in an open transaction.

OleDbTransaction
Begin
Create a nested transaction, to enable a partial rollback.

OleDbTransaction
Rollback
Roll back a transaction.

OleDbTransaction
Commit
Commit a Transaction



OLE DB 數(shù)據(jù)提供者不提供任何的方法來設(shè)置savepoints, 相反的有個Begin() 方法在OleDbTransaction物件上.這允許你創(chuàng)建內(nèi)嵌事務(wù)(根據(jù)你的數(shù)據(jù)庫)來提供類似的功能.在這種情況下你可以在單個連接中擁有多個事務(wù).但必須記住的是顯示的調(diào)用提交和回滾.

記住,.NET OLE DB數(shù)據(jù)提供者的內(nèi)嵌事務(wù)依賴于你的數(shù)據(jù)庫和指定的OLE DB提供者.為了成功實施內(nèi)嵌事務(wù),其必須被你的數(shù)據(jù)庫和OLE DB 提供者都支持.

Oracle 事務(wù)

Oracle 數(shù)據(jù)提供者提供事務(wù)的基本功能情況見以下的類和成員:

Class
Member
Function

OracleConnection
BeginTransaction
Open a new transaction.

OracleCommand
Transaction
Enlist the command associated with the object in an open transaction.

OracleTransaction
Rollback
Roll back a transaction.

OracleTransaction
Commit
Commit a Transaction



Oracle 數(shù)據(jù)提供者不允許你指定savepoints或內(nèi)嵌事務(wù).Savepoints 被Oracle 支持,但是你不能實施它們對于當(dāng)前的oracle數(shù)據(jù)提供者版本來說.事務(wù)于oracle 來說或者回滾或者提交,局部回滾是不能的.






主站蜘蛛池模板: 亚洲国产毛片aaaaa无费看 | 欧美系列在线观看 | 性盈盈影视院 | 日本www色视频成人免费网站 | 亚洲综合图色40p | 特级黄一级播放 | 日本中文字幕在线 | 中文字幕在线视频不卡 | 亚欧国产 | 在线v| 亚洲国产三级在线观看 | 欧洲亚洲综合一区二区三区 | 无码免费一区二区三区免费播放 | 伊人热人久久中文字幕 | 四虎影库在线播放 | 欧洲97色综合成人网 | 亚洲光棍天堂 | 亚洲人成影网站~色 | 亚洲欧美大片 | 日本亚洲精品 | 亚洲精品播放 | 在线另类视频 | 青娱乐色 | 欧美特黄一级片 | 日本韩国视频在线观看 | 视频一区视频二区在线观看 | 亚洲国产成人久久精品影视 | 深夜成人福利视频 | 日韩精品无码一区二区三区 | 特级中国aaa毛片 | 欧美一级欧美三级在线观看 | 中文字幕免费视频精品一 | 色网站免费 | 天天干天天射天天爽 | 手机在线播放av | 深爱激情五月网 | 欧美一区二区三区在观看 | 午夜黄网 | 青草视频污 | 亚洲欧美精选 | 日本视频网站在线观看 |