using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using System.Data.SqlClient;
public partial class Register : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void btnSubmit_Click(object sender, EventArgs e)
{
insertdata();
}
protected void btnExit_Click(object sender, EventArgs e)
{
Response.Redirect("Login.aspx");
}
//添加用户
protected void insertdata()
{
string UserName = txtUserName.Text.Trim();
string Password = txtPassword.Text.Trim();
string Email = txtEmai.Text.Trim();
int roleid =Convert.ToInt16( DdlUserRole.SelectedValue);
SqlConnection cn = new SqlConnection(Class1.connectionString);
try
{
cn.Open();
string sl = "select * from [User] where UserName=@UserName";
SqlCommand checkcmd = new SqlCommand();
checkcmd.CommandText = sl;
checkcmd.Parameters.AddWithValue("@UserName", UserName);
checkcmd.Connection = cn;
SqlDataReader reader = checkcmd.ExecuteReader();
bool e = reader.Read();
if (e == true)
{
Response.Write("<script>alert('用户名已经存在!')</script>)");
checkcmd.Dispose();
cn.Dispose();
txtUserName.Text = "";
return;
}
reader.Dispose(); string sr = "insert into User (UserName,Password,Email) values(@UserName,@Password,@Email)"; SqlCommand cmd = new SqlCommand();
cmd.CommandText = sr;
cmd.Parameters.AddWithValue("@UserName", UserName);
cmd.Parameters.AddWithValue("@Password", Password);
cmd.Parameters.AddWithValue("@Email", Email);
cmd.Connection = cn;
cmd.ExecuteNonQuery();
cn.Close();
cmd.Dispose();
txtUserName.Text = "";
txtEmai.Text = "";
Response.Redirect("Main.aspx");
Response.Write("<script>alert('恭喜!注册成功')</script>");
}
catch (SqlException ex)
{
Response.Write("<script>alert('" + ex.Message.ToString() + "')</script>");
}
finally
{
cn.Close();
} }
}
为什么不弹出错误信息呢?
Exception 用这个类也不行!
using System.Data;
using System.Configuration;
using System.Collections;
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;
using System.Data.SqlClient;
public partial class Register : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void btnSubmit_Click(object sender, EventArgs e)
{
insertdata();
}
protected void btnExit_Click(object sender, EventArgs e)
{
Response.Redirect("Login.aspx");
}
//添加用户
protected void insertdata()
{
string UserName = txtUserName.Text.Trim();
string Password = txtPassword.Text.Trim();
string Email = txtEmai.Text.Trim();
int roleid =Convert.ToInt16( DdlUserRole.SelectedValue);
SqlConnection cn = new SqlConnection(Class1.connectionString);
try
{
cn.Open();
string sl = "select * from [User] where UserName=@UserName";
SqlCommand checkcmd = new SqlCommand();
checkcmd.CommandText = sl;
checkcmd.Parameters.AddWithValue("@UserName", UserName);
checkcmd.Connection = cn;
SqlDataReader reader = checkcmd.ExecuteReader();
bool e = reader.Read();
if (e == true)
{
Response.Write("<script>alert('用户名已经存在!')</script>)");
checkcmd.Dispose();
cn.Dispose();
txtUserName.Text = "";
return;
}
reader.Dispose(); string sr = "insert into User (UserName,Password,Email) values(@UserName,@Password,@Email)"; SqlCommand cmd = new SqlCommand();
cmd.CommandText = sr;
cmd.Parameters.AddWithValue("@UserName", UserName);
cmd.Parameters.AddWithValue("@Password", Password);
cmd.Parameters.AddWithValue("@Email", Email);
cmd.Connection = cn;
cmd.ExecuteNonQuery();
cn.Close();
cmd.Dispose();
txtUserName.Text = "";
txtEmai.Text = "";
Response.Redirect("Main.aspx");
Response.Write("<script>alert('恭喜!注册成功')</script>");
}
catch (SqlException ex)
{
Response.Write("<script>alert('" + ex.Message.ToString() + "')</script>");
}
finally
{
cn.Close();
} }
}
为什么不弹出错误信息呢?
Exception 用这个类也不行!
单步跟踪
using(SqlConnection cn = new SqlConnection(Class1.connectionString))
{}
catch (SqlException ex)
{
}
catch (Exception ex)
{
}
Response.Write("<script>alert(ex.Messge);
这样就能够出来
如果你希望弹出,需要
Response.End()一下
Response.Write("<script>alert('恭喜!注册成功')</script>");Respoonse.End(); //在执行End()时,很容易造成应该释放的资源没有释放。一般来说,简单的的话,应该建立一个变量。比如:errorMessage
把错误信息丢到变量里,然后在适当的地方检查变量是否为空,如果不为空,释放资源后,输出变量输到页面。