如何在程序中捕捉sql server中的错误?

比永远更永远 2008-01-01 07:48:16
如何在ASP.NET中捕捉sql server中的错误?
先看下面两幅图片:



比如说:在SQL SERVER数据库未打开的情况下,我试图在应用程序中打开数据库,这个时候,该怎么捕捉错误?
再比如说,在数据库的user表中定义了一个唯一约束,我试图在应用程序中执行一个insert语句,这个语句试图插入一个重复的记录,现在该如何捕捉错误(比如说在一个ASP.NET页面中)?
...全文
176 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
吐司vivi 2008-01-02
  • 打赏
  • 举报
回复
try{

}
catch(SqlException e){

}
比永远更永远 2008-01-02
  • 打赏
  • 举报
回复
谢谢几位的指教了,我是一个新手,谁能不能再给我说的具体一点?或者给我一些自己摸索的门路也可以。
我的QQ:258697202
个人网站:www.lihuan.org
比永远更永远 2008-01-02
  • 打赏
  • 举报
回复
2楼原来的代码很简单如下:
//用户登录页面的程序实现
//文件login.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label3.Text = ""; //页面载入的时候,label3中的数据置空
}

protected void Button1_Click(object sender, EventArgs e)
{
//下面的代码从数据库中读取数据,判断这个用户是否为合法的用户。
//string cnstr = "Persist Security Info=True;User ID=sa;Initial Catalog=bbs;Data Source=LIHUAN";
string cnstr = System.Configuration.ConfigurationSettings.AppSettings["data"].ToString();
string sqlstring = "SELECT UserName,[password] FROM [user] WHERE UserName=@UserName_temp and password=@password_temp";
SqlConnection cn = new SqlConnection(cnstr); //建立连接
SqlCommand cmd = new SqlCommand(sqlstring, cn); //建立命令对象
SqlParameter UserNamePara = new SqlParameter("@UserName_temp", SqlDbType.VarChar, 8); //定义参数、数据类型及其长度
SqlParameter PasswordPara = new SqlParameter("@password_temp", SqlDbType.VarChar, 15);//定义参数、数据类型及其长度

cmd.Parameters.Add(UserNamePara); //添加参数到命令对象cmd
cmd.Parameters.Add(PasswordPara); //添加参数到命令对象cmd
UserNamePara.Value = TextBox1.Text;
PasswordPara.Value = TextBox2.Text;

cn.Open();
SqlDataReader dr = cmd.ExecuteReader();

//以下代码用来判断用户的输入是否正确。
if (dr.Read())
{
dr.Close();
cn.Close();//关闭数据库连接
Session["flag"] = true; //用户登陆时,给这个用户的Session对象一个值。
Session["name"] = this.TextBox1.Text;
Response.Redirect("Success.html");
}
else
{
dr.Close();
cn.Close(); //关闭数据库连接
Label3.Text = "用户名或密码错误,请重新输入";
}

}

protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("login.aspx");
}
}

//用户登录的表现页面。
//login.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>欢迎访问我们的BBS</title>
</head>
<body bgcolor="#0099CC">

<center>
<asp:Panel ID="Panel" runat="server" HorizontalAlign="Center" Wrap="true" BorderStyle="Dashed" BorderWidth="1px" Height="100px" Width="260px">
<form id="form1" runat="server">
<table>
<tr>
<td>用户名</td>
<td style="width: 149px"><asp:TextBox ID="TextBox1" runat="server" Width="140px" TabIndex="1" MaxLength="8"></asp:TextBox></td>
</tr>

<tr>
<td>密码</td>
<td style="width: 149px"> <asp:TextBox ID="TextBox2" runat="server" TextMode="Password" Width="140px" TabIndex="2" MaxLength="15"></asp:TextBox></td>
</tr>
</table>
<asp:Button ID="Button1" runat="server" Text="确定" OnClick="Button1_Click" TabIndex="3" />
<asp:Button ID="Button2" runat="server" Text="取消" TabIndex="4" OnClick="Button2_Click" />
</form>
如果您还没有注册,点击这里
<asp:HyperLink ID="register" runat="server" NavigateUrl="~/register.aspx" Target="_self" Text="">注册</asp:HyperLink>
<asp:Label ID="Label3" runat="server" ForeColor="Red"></asp:Label>
</asp:Panel>
</center>



</body>
</html>
gimse7en 2008-01-02
  • 打赏
  • 举报
回复
2楼...的地方放你原来所写代码
bat800 2008-01-01
  • 打赏
  • 举报
回复
SqlException
yixianggao 2008-01-01
  • 打赏
  • 举报
回复

try
{
...
}
catch(SqlException se)
{
// se.Message;
}

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧