使用ADO.NET配置SQL Server交易處理

來源:互聯網
上載者:User

狀態下,這可以避免非重複性的資料讀取(nonrepeatable reads);

Serialisable:在DataSet中進行範圍鎖定,由此防止其他使用者在交易處理結束之前更新資料或在資料庫中插入行;

IsolationLevel定義鎖定記錄的層級,但這一概念不在本文論述範圍之內。對象SqlTransaction也提供了類似的方法。你可以使用以下方法來進行交易處理:

Commit:提交資料庫交易處理;

Rollback:從未決狀態(pending state)反轉(roll back)交易處理。交易處理一旦被提交後即不能執行此操作;

Save:在交易處理中建立savepoint可以對交易處理的一部分進行反轉,並且指定savepoint名稱。

以下的C#樣本將這些部分綜合起來。

這一簡單的控制台程式將通過以下步驟將兩行插入到Northwind資料庫的表格中:

調用Connection對象的BeginTransaction方法以標記交易處理的起始位置。BeginTransaction方法對交易處理返回了一個座標(reference),此座標被指定給交易處理所用到的Command對象。

將Transaction對象指定給將要執行的Command的Transaction屬性。如果某Command在活動Transaction中的Connection上被執行,並且Transaction對象還沒有被指定到Command的Transaction屬性,則會產生一個異常。

調用Transaction對象的Commit方法來結束交易處理,或者調用Rollback方法來取消交易處理。

等價的VB.NET代碼與之類似。

交易處理結束
儘管這是一個簡單的樣本,但它還是充分顯示了在.NET應用程式中使用交易處理是多麼的簡單。請記住,交易處理只有在處理一組命令時才是必要的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.