ASP.NET中的事务处理和异常处理
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET中的事务处理和异常处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
劉彥青編譯 來自:yesky
使用SQL-Transaction類和.NET提供的異常處理機制,我們就能夠以一種可靠的方式處理數據庫運行中的問題和發現系統異常。這篇小文章將解釋事務處理和異常處理的概念和用法。
什么是事務?
事務處理是由以一個單一的邏輯單位完成的一系列操作,它可以由一系列的SQL語句、SELECT、INSERT、UPDATE、DELETE組成,如果在該單位包含的操作執行完畢后沒有發生錯誤,那么它對數據庫所作的改變就是永久的了。如果一旦有錯誤發生,它就不會對數據庫作任何修改或改變。
要定義一個事務,需要使用Begin tran命令,在這一命令之后的任何語句都將被認為是事務的一部分。命令Commit用來完成事務,并使事務對數據庫所作的修改成為永久的。Rollback命令用來取消一個事務,并還原事務對數據庫所作的修改。
下面是一個事務的例子:
| [SQL SERVER7.0 or SQL SERVER2000] BEGIN TRAN INSERT INTO PRODUCT(PRODUCTID, PRODUCTNAME) VALUES("0001", "KEYBOARD") UPDATE PRODUCT SET PRICE=12 WHERE PRODUCTID= "0002" IF (@ERROR>0) ROLLBACK ELSE COMMIT |
什么是異常處理?
開發一種錯誤消息處理機制、并向用戶提供有用的、清楚、有意義的信息也是編程人員的任務之一,異常處理就是能夠提供這一服務的一種機制。一旦事務失敗,服務器就會向系統發出一個用于幫助用戶發現并修復邦聯的數據庫錯誤信息。我們可以異常處理功能來獲取這種異常信息,并修復出現的故障。異常處理功能的用法如下所示:
[c#]
try |
1、在一個存儲過程中編寫事務語句,并使用下面的控制發現是否有錯誤發生,返回相應的值,互聯網應用程序會根據返回的值顯示正確的和容易理解的錯誤信息。下面是一個事務的例子:
[Store Procedure] |
上面的例子非常適合DBA等對數據庫編程非常熟悉的編程人員,他們更喜歡在存儲過程中完成異常處理功能。如果對數據庫編程不太熟悉,則可以采取下面的方法:
2、在.NET框架中,我們可以使用SqlTransaction類定義一個事務。此后,我們就可以使用commit或rollback函數控制事務。當然了,我們也可以使用.NET框架提供的異常處理功能獲取系統異常。下面是一個有關的例子:
[Web Applicaion in C#] |
需要注意的是,如果使用OleDb類而不是Sqlclient類來定義SQL命令和連接,我們就必須使用OleTransation來定義事務。
總結
以上是生活随笔為你收集整理的ASP.NET中的事务处理和异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用ASP.NET上传大文件
- 下一篇: ASP.NET实现数据图表