商務邏輯>資料層>SqlDataSource>處理sql命令執行錯誤

來源:互聯網
上載者:User

先看前台代碼:

 

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Demo23.aspx.cs" Inherits="Demo23" %>
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7     <title>示範如何處理 SELECT 語句執行錯誤</title>
 8 </head>
 9 <body>
10     <form id="form1" runat="server">
11     <div>
12         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
13         <asp:GridView ID="GridView1"
14             runat="server" DataSourceID="SqlDataSource1">
15         </asp:GridView>
16         <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
17             ConnectionString="<%$ ConnectionStrings:ChtNorthwind %>" 
18             SelectCommand="SELECT * FROM [authors222]" 
19             onselected="SqlDataSource1_Selected"></asp:SqlDataSource>
20     </div>
21     </form>
22 </body>
23 </html>
24 

 

其中,authors222是不存在的表。

 

再看後台代碼:

 

 1 using System;
 2 using System.Collections;
 3 using System.Configuration;
 4 using System.Data;
 5 using System.Linq;
 6 using System.Web;
 7 using System.Web.Security;
 8 using System.Web.UI;
 9 using System.Web.UI.HtmlControls;
10 using System.Web.UI.WebControls;
11 using System.Web.UI.WebControls.WebParts;
12 using System.Xml.Linq;
13 
14 public partial class Demo23 : System.Web.UI.Page
15 {
16     protected void Page_Load(object sender, EventArgs e)
17     {
18 
19     }
20     protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
21     {
22         if (e.Exception != null)
23         {
24             Label1.Text = e.Exception.Message;
25 
26             e.ExceptionHandled = true; //這個表示異常已由開發人員自行處理
27         }
28     }
29 }
30 

 

 

注意,e.ExceptionHandled = false;的話,或者不設定,異常不會賦值給Label1,而會跟平常的錯誤一樣。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.