這篇文章主要介紹“ADO.NET事務處理方法有哪些”,在日常操作中,相信很多人在ADO.NET事務處理方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ADO.NET事務處理方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供丹徒網(wǎng)站建設(shè)、丹徒做網(wǎng)站、丹徒網(wǎng)站設(shè)計、丹徒網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、丹徒企業(yè)網(wǎng)站模板建站服務,10余年丹徒做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務。
ADO.NET事務處理方法:
◆BeginTrans:開始1個事務;
◆CommitTrans:提交事務,將事務中的操作寫入數(shù)據(jù)源。
◆RollBackTrans:滾回事務,取消操作。
當同時更新多個表時,為了保證數(shù)據(jù)一致性而必須使用事務,比如有兩個表,一個是支出表,一個是余額表,當支出一項費用時,支出費用增加,余額減少,需要對這兩個表同時更新,但如果不用事務,倘若在更新支出表后發(fā)生錯誤,則余額表沒有更新,不合要求。這時就要把它們封存裝到一個事務里。確保多表操作的完整性。此外,也可以用它對同一個表的多步操作進行封裝,使多步操作成為單個單元。
一般地,我們在BeginTrans處加一條On Error Goto ErrNum的出錯捕獲語句,然后在錯誤處理程序中使用RollBackTrans取消事務。形如:
cn.BeginTrans on Error Goto ErrNum …更新表1 …更新表2 … cn.CommitTrans Exit Sub ErrNum: cn.RollBackTrans msgbox //出錯提示
事務可以嵌套,由begintrans方法返回1個長整數(shù)表示當前事務是第幾層,如返回1為當前事務不包含在任何事務中。CommitTrans和 RollBackTrans結(jié)束最近的BeginTrans打開的那個事務。在程序中用begintrans開始1個事務后,應使用 committrans或rollbacktrans方法結(jié)束,如果不用,則在程序結(jié)束后事務全部滾回,也就是說,系統(tǒng)不會自動去提交任何事務。ADO.NET事務處理方法例如:
cn.BeginTrans rst.MoveNext cn.Execute "insert into BB values('嫖客店','aaa',0,'0','0',0,'0')" cn.CommitTrans
有兩種情況需要說明一下:在事務中也可能出現(xiàn)問題,導致被迫放棄事務:一種情況是一個關(guān)健字段被鎖定,不能進行寫操作;另一種情況是字段值超出范圍,如字段為Integer,但實際值大于32767,字段為Text,但值字串長超過32K等,這樣會導致事務強迫放棄。
到此,關(guān)于“ADO.NET事務處理方法有哪些”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章題目:ADO.NET事務處理方法有哪些
網(wǎng)頁路徑:http://weahome.cn/article/piocde.html