這裡的文章是我個人的備份。
如果要閱讀原文,請到我的主網站:http://www.dotblogs.com.tw/mis2000lab/
本篇文章的原始出處(原文),位於:
ADO.NET #11 自己控制SqlDataSource的例外狀況
http://www.dotblogs.com.tw/mis2000lab/archive/2009/12/02/sqldatasource_exception_20091202.aspx
=====================================================
SqlDataSource執行SQL指令之後,可以在相關的事件裡面,抓取例外狀況。
傳統的例外狀況是這種畫面:
使用本方法後,會變成這樣:
=====================================================================
首先,畫面上就是簡單的 GridView + SqlDataSource而已,沒什麼。
我故意寫錯 SQL指令的 Select陳述句,誘發錯誤與例外狀況
因為我使用 Select陳述句,所以會對應 SqlDataSource的 Selected事件
如果您使用資料新增(Insert Into),則可以改用 SqlDataSource的 Inserted事件
以此類推......,可用在 Update與 Delete上面。
後置程式碼如下:
VB版
02 '== 執行 SqlDataSource的 .Select()方法之後,就會執行這一個事件 ==
03
04 e.ExceptionHandled = True '--表示我們自己處理例外狀況(exception)!
05
06 If e.Exception IsNot Nothing Then
07 '-- 或是寫成 If e.Exception IsNot Nothing Then 也可以
08 Response.Write("發生例外狀況 ---- " & e.Exception.Message)
09 End If
10
11 End Sub
C#版
02 ...{
03 //== 執行 SqlDataSource的 .Select()方法之後,就會執行這一個事件 ==
04
05 e.ExceptionHandled = true; //--表示我們自己處理例外狀況(exception)!
06
07 if (e.Exception != null)
08 ...{
09 Response.Write("發生例外狀況 ---- " + e.Exception.Message);
10 }
11
12 }
重點在於 e.ExceptionHandled這一行程式碼。
設定為 True,表示我們自己控制例外狀況的呈現,就會看見這樣的畫面。
如果不寫這一行,就是傳統的例外狀況警告訊息了。
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ................................................................................................................
ASP.NET專題實務 (文魁出版,VB版 P8187 / C#版P09027)
.............................................................................................................. 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........
留言列表