SqlConnection con = new SqlConnection("server=.;database=users;Trusted_Connection=true;");
con.Open();
SqlCommand cmd = new SqlCommand("select Acc,Pass from admin where Acc='" + TextBox1.Text + "' or Pass='" + TextBox2.Text + "'", con);
SqlDataReader rd = cmd.ExecuteReader();
if (rd.Read())
{
if (rd.GetValue(0).ToString() == TextBox1.Text)
{
if (rd.GetValue(1).ToString() == TextBox2.Text)
{
Response.Redirect("Default.aspx");
}
else
{
Response.Write("<script>alert('密码错误!')</script>");
}
}
else
{
Response.Write("<script>alert('用户名错误!')</script>");
}
}
else
{
Response.Redirect("Info.aspx");
}我按照数据库里的数据来填,明明都写对了,但老是提示用户名错误,怎么回事?
con.Open();
SqlCommand cmd = new SqlCommand("select Acc,Pass from admin where Acc='" + TextBox1.Text + "' or Pass='" + TextBox2.Text + "'", con);
SqlDataReader rd = cmd.ExecuteReader();
if (rd.Read())
{
if (rd.GetValue(0).ToString() == TextBox1.Text)
{
if (rd.GetValue(1).ToString() == TextBox2.Text)
{
Response.Redirect("Default.aspx");
}
else
{
Response.Write("<script>alert('密码错误!')</script>");
}
}
else
{
Response.Write("<script>alert('用户名错误!')</script>");
}
}
else
{
Response.Redirect("Info.aspx");
}我按照数据库里的数据来填,明明都写对了,但老是提示用户名错误,怎么回事?
就是这样而已哦。。
SqlCommand cmd = new SqlCommand("select Acc,Pass from admin where Acc='" + TextBox1.Text + "' or Pass='" + TextBox2.Text + "'", con);
改成
SqlCommand cmd = new SqlCommand("select Acc,Pass from admin where Acc='" + TextBox1.Text + "' and Pass='" + TextBox2.Text + "'", con); 下面就可以判断了
if(dr.read())
{
response.write "登陆成功"
}
else
{
response.write "用户名或密码错误"
}
或者直接用
response.write输出判断文本框的值有没获得然后再与数据库关联判断