• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

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

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

        更新時(shí)間:2022-05-14 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        事務(wù)在ADO.Net中

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

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

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

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

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

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

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

        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ù)提供對(duì)象提供事務(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ù)提供者( 對(duì)于Sql Server 來說,OLE DB provider 也是如此) 不提供在代碼中創(chuàng)建內(nèi)嵌事務(wù)的方式, 因此內(nèi)嵌事務(wù)在Sql Server并不真正的被支持.因此這兒只有一種方式來開始一個(gè)事務(wù)在SqlClient中-使用SqlConnection.BeginTransaction(). 你不能在統(tǒng)一個(gè)連接中打開另外一個(gè)事務(wù),直到先前的事務(wù)被提交或回滾,因此在任何時(shí)間每個(gè)連接只有一個(gè)打開的事務(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, 相反的有個(gè)Begin() 方法在OleDbTransaction物件上.這允許你創(chuàng)建內(nèi)嵌事務(wù)(根據(jù)你的數(shù)據(jù)庫)來提供類似的功能.在這種情況下你可以在單個(gè)連接中擁有多個(gè)事務(wù).但必須記住的是顯示的調(diào)用提交和回滾.

        記住,.NET OLE DB數(shù)據(jù)提供者的內(nèi)嵌事務(wù)依賴于你的數(shù)據(jù)庫和指定的OLE DB提供者.為了成功實(shí)施內(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 支持,但是你不能實(shí)施它們對(duì)于當(dāng)前的oracle數(shù)據(jù)提供者版本來說.事務(wù)于oracle 來說或者回滾或者提交,局部回滾是不能的.



        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 免费做爰猛烈吃奶摸视频在线观看| 日韩在线免费电影| 精品无码国产污污污免费网站| 足恋玩丝袜脚视频免费网站| 又黄又大又爽免费视频| 亚洲.国产.欧美一区二区三区| 成年午夜视频免费观看视频| 中文有码亚洲制服av片| 天天干在线免费视频| 亚洲国产精品无码中文lv| 国产成人免费ā片在线观看 | 国产a不卡片精品免费观看| 另类图片亚洲校园小说区| 免费**毛片在线播放直播| www成人免费视频| 国产亚洲综合一区柠檬导航| 亚洲免费在线播放| 日批日出水久久亚洲精品tv| 五月天婷婷免费视频| 亚洲区小说区激情区图片区| 日日麻批免费40分钟无码| 亚洲人成电影网站| 四虎免费影院4hu永久免费| 一区二区免费电影| 亚洲高清资源在线观看| 手机在线免费视频| 一级毛片高清免费播放| 久久久无码精品亚洲日韩蜜臀浪潮 | 日本高清高色视频免费| 亚洲一本之道高清乱码| 国产免费131美女视频| 99久久免费国产精品热| 亚洲人成网站在线观看播放动漫| 嫩草影院免费观看| 一个人免费观看www视频| 亚洲黄色网站视频| 亚洲成A人片77777国产| 99精品热线在线观看免费视频| 久久亚洲精品国产精品婷婷| 亚洲成a人无码av波多野按摩| 无码av免费一区二区三区试看|