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

C#語言操縱數據庫事務

開發 后端
本文介紹C#數據庫事務是指作為單個邏輯工作單元執行的一系列操作。C#數據庫事務正是用來保證這種情況下交易的平穩性和可預測性的技術。

什么是C#數據庫事務

C#數據庫事務是指作為單個邏輯工作單元執行的一系列操作。

設想網上購物的一次交易,其付款過程至少包括以下幾步數據庫操作:
◆更新客戶所購商品的庫存信息
◆保存客戶付款信息--可能包括與銀行系統的交互
◆生成訂單并且保存到數據庫中
◆更新用戶相關信息,例如購物數量等等

正常的情況下,這些操作將順利進行,最終交易成功,與交易相關的所有數據庫信息也成功地更新。但是,如果在這一系列過程中任何一個環節出了差錯,例如在更新商品庫存信息時發生異常、該顧客銀行帳戶存款不足等,都將導致交易失敗。一旦交易失敗,數據庫中所有信息都必須保持交易前的狀態不變,比如最后一步更新用戶信息時失敗而導致交易失敗,那么必須保證這筆失敗的交易不影響數據庫的狀態--庫存信息沒有被更新、用戶也沒有付款,訂單也沒有生成。否則,數據庫的信息將會一片混亂而不可預測。

C#數據庫事務正是用來保證這種情況下交易的平穩性和可預測性的技術。

C#數據庫事務的ACID屬性

事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要么全部成功要么全部失敗的單元,可以簡化錯誤恢復并使應用程序更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性:

◆原子性

事務必須是原子工作單元;對于其數據修改,要么全都執行,要么全都不執行。通常,與某個事務關聯的操作具有共同的目標,并且是相互依賴的。如果系統只執行這些操作的一個子集,則可能會破壞事務的總體目標。原子性消除了系統處理操作子集的可能性。

◆一致性

事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用于事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如 B 樹索引或雙向鏈表)都必須是正確的。某些維護一致性的責任由應用程序開發人員承擔,他們必須確保應用程序已強制所有已知的完整性約束。例如,當開發用于轉帳的應用程序時,應避免在轉帳過程中任意移動小數點。

◆隔離性

由并發事務所作的修改必須與任何其它并發事務所作的修改隔離。事務查看數據時數據所處的狀態,要么是另一并發事務修改它之前的狀態,要么是另一事務修改它之后的狀態,事務不會查看中間狀態的數據。這稱為可串行性,因為它能夠重新裝載起始數據,并且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。當事務可序列化時將獲得最高的隔離級別。在此級別上,從一組可并行執行的事務獲得的結果與通過連續運行每個事務所獲得的結果相同。由于高度隔離會限制可并行執行的事務數,所以一些應用程序降低隔離級別以換取更大的吞吐量。

◆持久性

C#數據庫事務完成之后,它對于系統的影響是永久性的。該修改即使出現致命的系統故障也將一直保持。
DBMS的責任和我們的任務

企業級的數據庫管理系統(DBMS)都有責任提供一種保證事務的物理完整性的機制。就常用的SQL Server2000系統而言,它具備鎖定設備隔離事務、記錄設備保證事務持久性等機制。因此,我們不必關心數據庫事務的物理完整性,而應該關注在什么情況下使用數據庫事務、事務對性能的影響,如何使用事務等等。

本文將涉及到在.net框架下使用C#語言操縱數據庫事務的各個方面。

【編輯推薦】

  1. 分析C#不安全代碼
  2. 淺析C#調用ImageAnimator
  3. C#連接Access、SQL Server數據庫
  4. 淺談C#固定的和活動的變量
  5. 介紹C#中的值類型
責任編輯:佚名 來源: CSDN
相關推薦

2009-08-07 17:04:41

C#數據庫

2009-08-11 13:35:13

C# Berkeley

2024-04-18 09:56:16

2009-03-19 10:08:09

C#數據庫查詢

2010-10-26 15:21:11

連接Oracle數據庫

2009-08-07 16:19:00

C#下數據庫編程

2009-08-25 12:50:32

數據庫常用C#代碼

2009-08-12 14:27:36

訪問MySQL數據庫C# ODBC

2009-08-24 18:09:13

C#調用Oracle數

2009-09-04 17:23:21

C#數據庫連接對象

2009-08-07 16:19:00

C#下數據庫編程

2009-08-25 14:05:06

C#連接數據庫代碼

2009-07-31 17:01:21

C#存取Access數

2009-08-17 17:42:57

C#數據庫操作類

2009-09-03 16:17:12

C#操縱系統菜單

2011-03-04 11:08:46

ADO.NET數據庫

2009-09-04 17:53:23

C#增加數據庫數據

2009-08-25 15:50:13

C#連接遠程數據庫

2009-08-25 16:36:16

C#進行數據庫編程

2009-09-01 09:45:49

Visual C#對數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频久久久久久 | 日韩一区二区三区在线 | 亚洲免费片| 在线不卡av | 国产精品免费在线 | 韩国精品在线观看 | 亚洲人成人一区二区在线观看 | 色婷婷久久久久swag精品 | 国产亚洲精品久久久优势 | 精品日韩 | 亚洲永久免费观看 | 国产精品欧美一区二区三区不卡 | 日本成人免费网站 | 国产特级毛片aaaaaa喷潮 | 欧美一区二区三区久久精品 | 亚洲天天干| 日韩视频专区 | 久久免费观看视频 | 亚洲精品一二区 | 亚洲免费在线 | 精品伊人久久 | 一区视频 | 午夜三区 | 一区二区三区高清不卡 | 特级毛片| 天天操天天摸天天干 | 99re热这里只有精品视频 | 一级免费毛片 | 色视频在线观看 | caoporon| www久久久| 精品无码久久久久久国产 | av天空 | 亚洲 中文 欧美 日韩 在线观看 | 视频一区二区三区在线观看 | 欧美另类视频在线 | 亚洲精品一区在线观看 | 久久精品一区二 | 一区二区精品视频 | 亚洲一区二区三区在线播放 | 国产在线视频一区 |