业务逻辑>数据层>SqlDataSource>处理sql命令执行错误
2010-07-28 22:08
711 查看
先看前台代码:
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,而会跟平常的错误一样。
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,而会跟平常的错误一样。
相关文章推荐
- 业务逻辑>数据层>SqlDataSource>sql的输入参数>控件参数>System.Web.UI.WebControls.GridView.SelectedValue
- 业务逻辑>数据层>SqlDataSource>sql的输入输出参数>存储过程 输出参数
- 业务逻辑>数据层>SqlDataSource>sql的输入参数
- Oracle Class6. PL/SQL 简介(数据类型,逻辑比较,控制结构,错误处理)
- Oracle Class6-1. PL/SQL 简介(数据类型,逻辑比较,控制结构,错误处理)
- Oracle Class6-2. PL/SQL 简介(数据类型,逻辑比较,控制结构,错误处理)
- 业务逻辑>数据层>ObjectDataSource>数据源分页机制
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- PL/SQL 一个数据对象一个事务(且记录错误信息到处理对象)(rollback,submit)
- 执行sql语句后的数据处理api
- MVC教程:MVC---View处理页面;Control处理业务逻辑;Model处理数据
- 执行sql时出现错误 extraneous input ';' expecting EOF near '<EOF>'
- sql运算符优先级及逻辑处理顺序--查询sql执行顺序
- HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
- SQL*Plus copy 命令处理大批量数据复制
- 在WebService中利用SoapException处理业务流程执行的错误
- thinkphp不会识别unsigned int数据类型,会导致sql执行错误
- <转载>SQL Server 数据库 执行命令(方法 2:带参数的 SQL 命令)
- Go Programming Blueprints 读书笔记(谈到了nsq/mgo处理数据持久化,但是业务逻辑不够复杂)
- 一次数据库不繁忙时一条sql语句2个执行计划导致业务超时的故障处理