您好,登錄后才能下訂單哦!
這篇文章主要介紹“ADO.NET事務處理方法有哪些”,在日常操作中,相信很多人在ADO.NET事務處理方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ADO.NET事務處理方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
ADO.NET事務處理方法:
◆BeginTrans:開始1個事務;
◆CommitTrans:提交事務,將事務中的操作寫入數據源。
◆RollBackTrans:滾回事務,取消操作。
當同時更新多個表時,為了保證數據一致性而必須使用事務,比如有兩個表,一個是支出表,一個是余額表,當支出一項費用時,支出費用增加,余額減少,需要對這兩個表同時更新,但如果不用事務,倘若在更新支出表后發生錯誤,則余額表沒有更新,不合要求。這時就要把它們封存裝到一個事務里。確保多表操作的完整性。此外,也可以用它對同一個表的多步操作進行封裝,使多步操作成為單個單元。
一般地,我們在BeginTrans處加一條On Error Goto ErrNum的出錯捕獲語句,然后在錯誤處理程序中使用RollBackTrans取消事務。形如:
cn.BeginTrans on Error Goto ErrNum …更新表1 …更新表2 … cn.CommitTrans Exit Sub ErrNum: cn.RollBackTrans msgbox //出錯提示
事務可以嵌套,由begintrans方法返回1個長整數表示當前事務是第幾層,如返回1為當前事務不包含在任何事務中。CommitTrans和 RollBackTrans結束最近的BeginTrans打開的那個事務。在程序中用begintrans開始1個事務后,應使用 committrans或rollbacktrans方法結束,如果不用,則在程序結束后事務全部滾回,也就是說,系統不會自動去提交任何事務。ADO.NET事務處理方法例如:
cn.BeginTrans rst.MoveNext cn.Execute "insert into BB values('嫖客店','aaa',0,'0','0',0,'0')" cn.CommitTrans
有兩種情況需要說明一下:在事務中也可能出現問題,導致被迫放棄事務:一種情況是一個關健字段被鎖定,不能進行寫操作;另一種情況是字段值超出范圍,如字段為Integer,但實際值大于32767,字段為Text,但值字串長超過32K等,這樣會導致事務強迫放棄。
到此,關于“ADO.NET事務處理方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。