C 操作SQLs時使用事務介紹

2021-06-07 15:10:05 字數 920 閱讀 6943

事務是作為單個邏輯工作單元執行的一系列操作。乙個邏輯工作單元必須有四個屬性,稱為 acid(原子性、一致性、隔離性和永續性)屬性,只有這樣才能成為乙個事務。事務管理特性,強制保持事務的原子性和一致性。事務啟動之後,就必須成功完成,否則sql server將撤消該事務啟動之後對資料所作的所有修改。

出於事務的特性(acid),筆者將應用事務的一致性來排除程式在執行過程中可能發生的一系列「危險」因素,確保資料的安全,例如,乙個使用者在取錢時,卡以放入取款機進行操作,等待取款,這時突然停電,通過事務可以幫助使用者挽回損失,將資訊恢復到操作之前的狀態。

主要程式程式**如下。

首先例項化乙個連線物件connection,其次通過連線物件connection又分別例項化乙個sqltransaction物件sqltran、乙個sqlcommand物件command,然後再將command物件的transaction屬性與sqltran物件關聯起來,通過事物實現程式的一致性。

public bool tran(string strid,string strname,string str***,string strdelid,bool ifdo) 

sqltran.commit(); 

connection.close(); 

return true; 

} catch (exception ex)  } 

}

為tran方法獲取引數,如果tran方法成功則資訊成功新增否則新增失敗。為了使讀者可以更好的了解事務的工作原理,程式中人為的標識事物的操作方式(提交、回滾)。

private void button1_click(object sender, eventargs e) 

else 

if (dbdt.tran(strid, strname, str***, strdelid, bt)) 

else  }

使用事務操作SQLite資料庫

使用sqlitedatabase的begintransaction 方法可以開啟乙個事務,程式執行到endtransaction 方法時會檢查事務的標誌是否為成功,如果程式執行到endtransaction 之前呼叫了settransactionsuccessful 方法設定事務的標誌為成功則提交事...

C 下應用事務迴圈操作Sql語句

1 2 執行多條sql語句,實現事務回滾 3 4 sql語句集合 5 執行多sql語句事務,返回錯誤資訊 6 7 public static bool sqltranssqlstr list sqlstringlist,ref string errormsg 829 30tx.commit 31 i...

MySQL什麼時候使用事事務 php什麼時候用事務

原生 如下 link mysqli connect localhost username password 建立鏈結 if link exit 資料庫連線失敗 判斷是否鏈結成功 mysqli set charset link utf8 設定字符集 mysqli select db link,myda...