asp制作网页登录界面数据库出错
这是登录界面的部分代码,登录输入用户名密码时只有数据库第一行的数据可以登录,其他行的提示密码错误,删除第一行之后,第二行就可以登录了,其他的还是不可以。请大家帮忙看下时哪个语句出错了 谢谢protected void Button1_Click(object sender, EventArgs e)
{
Session["value"] = txt1.Text;
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString);
string sql = "select Username,Password from Users";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
dr = cmd.ExecuteReader();
if (dr.Read() && txt1.Text == dr[0].ToString() && txt2.Text == dr[1].ToString())
{
Response.Redirect("petmsg.aspx");
}
else
{
txt1.Text = "";
txt2.Text = "";
lblMsg.Text = "账号密码错误请重新输入!";
}
dr.Close();
conn.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("注册.aspx");
}
} --------------------编程问答-------------------- if (dr.Read() && txt1.Text == dr[0].ToString() && txt2.Text == dr[1].ToString())
{
Response.Redirect("petmsg.aspx");
}
这段代码 明显不执行 当读取第一条的只默认读的第一条数据
dr.read 返回的值 是读取的第一行的值 所以 --------------------编程问答-------------------- string sql = "select Username,Password from Users";
第一:
sql 没有写对
改成:select top 1 Username,Password from Users
第二:
if (dr.Read())
{
string u = dr["Username"].ToString()
string p = dr["Password"].ToString())
if(txt1.Text==u.tostring() && txt2.Text == p.tostring())
{
Response.Redirect("petmsg.aspx");
}
else
{
txt1.Text = "";
txt2.Text = "";
lblMsg.Text = "账号密码错误请重新输入!";
}
}
补充:.NET技术 , ASP.NET