.NET 中的注册页错误

本文关键字:错误 注册 NET | 更新日期: 2023-09-27 18:34:54

我是.NET和C#领域的新手。我正在为我正在处理的网站创建一个注册页面。我在注册正在创建的网站时不断收到错误。输入我的详细信息时,它不会将我注册到数据库中。我在数据库中创建了一个表(我创建了一个连接字符串(,但我无法注册 - 我收到一个异常,说"错误,请尝试再次注册"(就像我所做的那样(。有人知道我做错了什么吗?!谢谢!

这是我的代码和图像:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Configuration;
    public partial class Registration : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (IsPostBack)
    {
    SqlConnection con = new         SqlConnection(ConfigurationManager.ConnectionStrings["RegisConnectionString"].ConnectionString);
        con.Open();
        string cmdStr = "Select count(*) from Table where Username='" + TextBox1Username.Text + "'";
        SqlCommand userExist = new SqlCommand(cmdStr, con);
      //  int temp = Convert.ToInt32(userExist.ExecuteScalar().ToString());
        con.Close();
       /* if (temp == 1)
        {
            Response.Write("username already exists");
        } */
    }
}

protected void TextBox2_TextChanged(object sender, EventArgs e)
{
}

protected void Submit_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["RegisConnectionString"].ConnectionStr        ing);
    con.Open();
    string insCmd = "Insert into Table (Username, Password, EmailAddress,Fullname, City) values (@Username, @Password, @EmailAddress, @Fullname, @City)";
    SqlCommand insertUser = new SqlCommand(insCmd, con);
    insertUser.Parameters.AddWithValue("@Username", TextBox1Username.Text);
    insertUser.Parameters.AddWithValue("@Password", TextBox2Password.Text);
    insertUser.Parameters.AddWithValue("@EmailAddress", TextBox4Email.Text);
    insertUser.Parameters.AddWithValue("@Password", TextBox2Password.Text);
    insertUser.Parameters.AddWithValue("@City", TextBox6City.Text);
    try
    {
        insertUser.ExecuteNonQuery();
        con.Close();
        Response.Redirect("Login.aspx");
    }
    catch (Exception er)
    {
        Response.Write("error,please try registering again");
    }
}

}

图像:

[URL=http://imageshack.us/photo/my-images/4/os6b.jpg/][IMG=http://img4.imageshack.us/img4/2526/os6b.jpg][/IMG][/URL]

上传者 [URL=http://imageshack.us]ImageShack.us[/URL]

.NET 中的注册页错误

参数

中缺少全名,并且您有两次密码.fix 并再次运行它。

此外,在您的 catch 块中.. 您应该使用异常消息来调试或记录可以清楚地看到错误的地方。 您现在拥有它的方式会给出您键入的错误。 不是实际的消息。

这是他们讨论SQLException的链接。 抓住这一点可能是个好主意。

SqlException 捕获和处理

在插入查询中传递两次密码参数。第二个代替@fullname参数。

这将导致插入命令失败,因为您没有提供查询所需的@fullname参数。

SqlCommand insertUser = new SqlCommand(insCmd, con);
insertUser.Parameters.AddWithValue("@Username", TextBox1Username.Text);
insertUser.Parameters.AddWithValue("@Password", TextBox2Password.Text);
insertUser.Parameters.AddWithValue("@EmailAddress", TextBox4Email.Text);
insertUser.Parameters.AddWithValue("@FullName", TextBox???????.Text);   //<- Get from the correct textbox
insertUser.Parameters.AddWithValue("@City", TextBox6City.Text);

如果您在捕获中将er.Message添加到响应中,您可能会自己发现此问题

try
{
    insertUser.ExecuteNonQuery();
    con.Close();
    Response.Redirect("Login.aspx");
}
catch (Exception er)
{
    Response.Write("error: " + er.Message + " ,please try registering again");
}