SQLServer事務在C 當中的應用

2022-08-25 00:36:07 字數 1141 閱讀 6740

事務指的是一系列sql操作的邏輯工作單元,,要麼完全地執行,要麼完全地不執行。

乙個邏輯工作單元必須有4個屬性原子性(atomic)一致性(consistent)隔離型(isolated)永續性(durable),簡稱為acid

在c#實現中實現資料庫的事務其實並不難,但是我們要知道為什麼使用資料庫的事務,我們在實際業務場景中可能會遇到這樣的一種情況:例如我們需要在一張資料庫中插入兩條資料,有的時候會出現第一條資料插入成功,但是第二條資料並未插入成功的情況,在這種業務情況下,我們不可能只保留第一條資料而忽略失敗的第二條資料,因此,在這種情況下引入資料庫的事務機制,就是為了讓這組操作要麼同時執行,要麼同時不執行。

首先定義乙個資料庫連線並且開啟,這裡例子舉的是sql資料庫,**如下

string conn =config.sqltransactionstring;

sqlconnection myconnection = new

sqlconnection(conn);

myconnection.open();

接著通過資料庫連線物件啟動業務並為事務建立乙個命令

//

啟動乙個事務

sqltransaction mytrans =myconnection.begintransaction(); //

為事務建立乙個命令

sqlcommand mycommand = new

sqlcommand();

mycommand.connection =myconnection;

mycommand.transaction = mytrans;

建立完事務之後,我們就開始執行相應的sql資料庫操作

try

catch

(exception ex)

至此,乙個簡單的c#事務就已經完成了。

備註:資料庫表:student2,只有兩個字段:id和name

在C 程式設計用事務

當然也可以在sql server用事務來處理,這裡線談在c 的事務程式設計。using system using system.collections.generic using system.componentmodel using system.data using system.drawing...

SQL Server 事務及回滾事務

第一種 declare ierrorcount intset ierrorcount 0 begin tran tran1 insert into t1 id,c1 values 1 1 set ierrorcount ierrorcount error insert into t1 id,c1 v...

sqlserver中在儲存過程中寫事務

由於對資料的操作經常需要併發,所以在儲存過程中使用事務是非常必要的,我經常這樣處理 if exists select from sys.objects where name sp drop proc sp gocreate procedure sp 引數列表.out bit 0 output 輸出引...