后台管理页登陆的问题
后台管理页登陆的问题
就是填写用户名和密码,然后单击Button就可以登陆了,为什么用户名和密码都正确,还提示“嘿嘿,用户或密码不正确!”
后台代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/data/wzw.mdb");//ACCESS链接字符串
OleDbConnection ConnAcc = new OleDbConnection(strConn); //OleDb链接类的实例化
ConnAcc.Open();//打开数据库
string strSQL = "SELECT * FROM wzw_user WHERE wzw_name='"+wzw_name.Text+"' AND wzw_pass='"+wzw_pass.Text+"'";//SQL语句
OleDbCommand cmd = new OleDbCommand(strSQL, ConnAcc);//创建Command命令对象
OleDbDataReader dr = cmd.ExecuteReader();//创建DataReader对象,并调用ExecuteReader从数据源检索行
if (dr.Read()) //如果用户密码正确
{
Session["username"] = wzw_name.Text;
Response.Redirect("admin_index.aspx");//转向后台管理首页
}
else
{
Response.Write("<script>alert('嘿嘿,用户或密码不正确!')</script>");//弹出提示信息
}
dr.Close();//关闭阅读器
ConnAcc.Close();//关闭数据库
}
------解决方案--------------------
if (dr.HasRows)
{
dr.read();
Session["username"] = wzw_name.Text;
Response.Redirect("admin_index.aspx");
}
else
{
Response.Write(" <script>alert('嘿嘿,用户或密码不正确!') </script>");
}
或者
string strSQL = "SELECT * FROM wzw_user WHERE wzw_name='"+wzw_name.Text+"' ";//SQL语句
...
if (dr.Read()) //如果用户密码正确
{
if (wzw_pass.Text==dr["wzw_pass"].tostring());
{
Session["username"] = wzw_name.Text;
Response.Redirect("admin_index.aspx");
}
else
{
Response.Write(" <script>alert('嘿嘿,用户或密码不正确!') </script>");//弹出提示信息
}
}