日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

在C#中开启事务

發(fā)布時間:2023/12/2 C# 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在C#中开启事务 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?1.為什么要開啟事務(wù):

舉一個簡單的例子:在銀行業(yè)務(wù)中,有一條記賬原則,即又借有貸。為了保證這種原則,每發(fā)生一筆銀行業(yè)務(wù),就必須保證會計賬目上借方科目和貸方科目至少個少一筆,并且這兩筆要么同時成功,要么同時失敗。??

???事務(wù)是一個單個的工作單元。如果某一個事務(wù)成功,則在該事務(wù)中進(jìn)行的所有數(shù)據(jù)更改均會提交,成為數(shù)據(jù)庫中的永久部分。如果事務(wù)遇到錯誤,這時必須進(jìn)行回滾操作,則所有數(shù)據(jù)更改均被清除。

2.在C#中開啟事務(wù)

我們都知道在數(shù)據(jù)庫中如何開啟事務(wù),那么如果想通過在C#中開啟事務(wù)必須借助Transaction類。

3.在C#中開啟事務(wù)的步驟

01.調(diào)用SqlConnection對象的BeginTransaction()方法,創(chuàng)建一個SqlTransaction對象,標(biāo)志事務(wù)開始。

02.將創(chuàng)建的SqlTransaction對象分配給要執(zhí)行的SqlCommand的Transaction屬性。

03.調(diào)用相應(yīng)的方法執(zhí)行SqlCommand命令。

04.調(diào)用SqlTransaction的Commit()方法完成事務(wù)。或調(diào)用Rollback()方法終止事務(wù)。??

4.在進(jìn)行事務(wù)操作中的注意點

01.在調(diào)用BeginTransaction()方法開始事務(wù)之前,要打開數(shù)據(jù)庫連接,否則出現(xiàn)異常。

02.如果在事務(wù)的Commit()方法或RollBack()方法執(zhí)行前數(shù)據(jù)庫連接斷開或關(guān)閉,則事務(wù)將回滾。

5.添加年級信息時候的事務(wù)處理例子

//準(zhǔn)備連接字符串string str = "data source=.;initial catalog=Myschool;uid=sa;pwd=123";//創(chuàng)建數(shù)據(jù)庫連接對象SqlConnection con = new SqlConnection(str);//sql語句:添加一條記錄到年級表string sql = "insert into grade values(@gradename)";//創(chuàng)建SqlParameter對象,設(shè)置參數(shù)SqlParameter sp = new SqlParameter("@gradename", txtgradename.Text);//創(chuàng)建命令對象SqlCommand cmd = new SqlCommand(sql, con);//通過Parameter集合的add()方法天填充參數(shù)集合 cmd.Parameters.Add(sp);//打開連接 con.Open();//默認(rèn)讓SqlTransaction對象為空SqlTransaction trans = null;//開啟事務(wù):標(biāo)志事務(wù)的開始trans = con.BeginTransaction();try{//將創(chuàng)建的SqlTransaction對象分配給要執(zhí)行的sqlCommand的Transaction屬性cmd.Transaction = trans;//執(zhí)行sql如果添加成功放回1int count=cmd.ExecuteNonQuery();if (count > 0){MessageBox.Show("成功");//事務(wù)提交 trans.Commit();}else {MessageBox.Show("失敗");//事務(wù)回滾 trans.Rollback();}}catch (Exception){//如果某個環(huán)節(jié)出現(xiàn)問題,則將整個事務(wù)回滾 trans.Rollback();}

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/hyjj/p/5337726.html

總結(jié)

以上是生活随笔為你收集整理的在C#中开启事务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。