public partial class SignUp:System.Web.UI.Page { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings [" dbcon"]。ToString());
public int chkuser()
{
if (con.State.ToString() == "open")
con.Close();
SqlCommand cmd = new SqlCommand("select count(*) from Task2_SignUp where UserName= '"+txtUName.Text+"'",con);
con.Open();
int flag = Convert.ToInt32(cmd.ExecuteScalar().ToString());
return flag;
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSignUp_Click(object sender, EventArgs e)
{
if(chkuser()==0)
{
if (con.State.ToString() == "open")
con.Close();
SqlCommand cmd = new SqlCommand("insert into Task2_SignUp (UserName,Password,Name) values (@UserName, @Password, @Name)", con);
cmd.Parameters.AddWithValue("@Username", txtUName.Text);
cmd.Parameters.AddWithValue("@Password", txtPassword.Text);
cmd.Parameters.AddWithValue("@Name", txtName.Text);
con.Open(); //ERROR SHOWING IN THIS LINE
cmd.ExecuteNonQuery();
con.Close();
lblSignUp.Text = "Registration Successfull";
_blank();
}
else if(chkuser()>0)
{
lblSignUp.Text = "Username not available";
}
}
public void _blank()
{
txtName.Text = "";
txtUName.Text = "";
txtPassword.Text = "";
}
protected void btnNext_Click(object sender, EventArgs e)
{
Response.Redirect("Login.aspx");
}
}
}
问题:这是我不知道为什么的错误..并且令人惊讶的是,这个相同的代码工作了两周但现在还没有工作..请尽可能帮助我。
答案 0 :(得分:0)
的问题:
功能chkUser
有问题。如果txtUName.Text
包含单引号,则会引发异常。最好重新编码以使用参数。
此外,发生异常的是什么?发布堆栈跟踪。
当您可以使用con.State.ToString() == "open"
时,无需connection.State == ConnectionState.Open
。
我们无法看到您的数据库自两周以来是否发生了变化,因此您可能会从那里开始。
答案 1 :(得分:0)
问题已经解决。这是一个小错误。而不是(con.State.ToString()==" Open")我写了(con.State.ToString()==" open")...意味着代替资本& #39; O'我写了小' o' ..因此出现了这个问题..休息我的代码非常好。作为一名实习开发人员,我学到了这一点。如果还有像我这样的dot net的其他实习开发人员,那么你一定不要犹豫。只记得语法。