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

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        在ADO.NET中運用事務保護數據的完整性(3)

        在ADO.NET中運用事務保護數據的完整性(3)

        更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

        事務在ADO.Net中

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

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

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

        事務相關類總攬

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

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

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

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

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

        所有的數據提供者提供了同樣的基本結構來處理事務,開始連接的事務,加入指令,使用事務物件來提交或回滾.

        Sql Server 事務

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

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

        OLE DB 事務

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

        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 數據提供者不提供任何的方法來設置savepoints, 相反的有個Begin() 方法在OleDbTransaction物件上.這允許你創建內嵌事務(根據你的數據庫)來提供類似的功能.在這種情況下你可以在單個連接中擁有多個事務.但必須記住的是顯示的調用提交和回滾.

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

        Oracle 事務

        Oracle 數據提供者提供事務的基本功能情況見以下的類和成員:

        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 數據提供者不允許你指定savepoints或內嵌事務.Savepoints 被Oracle 支持,但是你不能實施它們對于當前的oracle數據提供者版本來說.事務于oracle 來說或者回滾或者提交,局部回滾是不能的.



        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 日韩色日韩视频亚洲网站| 亚洲国产精品日韩在线观看| 亚洲国产aⅴ成人精品无吗| 8x8×在线永久免费视频| 国产亚洲精品国产| 精品国产呦系列在线观看免费| 亚洲国产成人VA在线观看| 亚洲а∨精品天堂在线| 成年女人毛片免费播放人| 亚洲娇小性色xxxx| 日产乱码一卡二卡三免费| 国产精品亚洲专区无码唯爱网| 国产免费131美女视频| sihu国产精品永久免费| 国产亚洲成AV人片在线观黄桃 | 亚洲久悠悠色悠在线播放| 歪歪漫画在线观看官网免费阅读| 亚洲国产精品一区二区久| 亚洲天堂免费在线| 亚洲日本一线产区和二线 | 亚洲欧美日韩自偷自拍| 日韩一级免费视频| 亚洲精品黄色视频在线观看免费资源 | 免费中文字幕一级毛片| 久久99久久成人免费播放| 亚洲av永久无码精品古装片 | 亚洲色欲色欲www| 免费观看四虎精品国产永久| 一区二区三区免费电影| 亚洲AV永久青草无码精品| 黄页网站免费观看| 一级中文字幕免费乱码专区| 国产AV无码专区亚洲AV漫画 | 产传媒61国产免费| 亚洲国产人成在线观看69网站| 国产精品成人免费福利| 亚洲精品无码久久久久APP| 亚洲国产精品无码久久青草| 午夜精品免费在线观看| 亚洲中文字幕无码久久2020| 亚洲一区二区高清|