ASP.NET中的事務處理和異常處理_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP.NET中文顯示之兩種解決方法
      作者剛開始寫ASP 程序時候碰到的第一個比較大的問題就是中文顯示問題,運行后發現ASP 從數據庫中讀取出來的中文全部變成了?????????????,有點類似jsp中的這個頻率出現最高的中文顯示問題了,查

      使用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
      {
      //數據庫操作命令
      }
      catch (Exception e)
      {
      ?//如果有異常發生,這部分語句將被執行
      }
      finally
      {
      ?//無論是否有異常發生,這部分語句都會得到執行
      }
      如何實現事務?
      1、在一個存儲過程中編寫事務語句,并使用下面的控制發現是否有錯誤發生,返回相應的值,互聯網應用程序會根據返回的值顯示正確的和容易理解的錯誤信息。下面是一個事務的例子:
      [Store Procedure]
      CREATE PROCEDURE PRODUCT_SAVE( AS
      DECLARE
      (@USERID CHAR(5),
      @LOCATION VARCHAR(50),
      @RETURNS INT OUTPUT
      )
      BEGIN TRAN
      UPDATE ADDRESS SET LOCATION=@LOCATION WHERE USERID=@USERID
      IF (@@ERROR>0)
      BEGIN
      @RETURNS=-1 /* Fail to Update */
      ROLLBACK
      END
      ELSE
      @RETURNS=0 /* Succeed to update */
      COMMIT
      RETURN @RETURNS

      分享:如何實現在窗體和窗體之間進行傳遞數據
      大家都知道aspx在同一個頁面中傳值是很容易的(如textBox1.Text等)但有時必須向另一個頁面傳值用以前asp的方法的確覺得不怎么樣,還要用Request.Form等東西好象又回到了從前。我這里使用一個類的

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程