高手解释一下下面这段是什么意思!谢谢!!!
DataSet ds=new DataSet();
string strUserID=PurifyString.ImportText(this.tbUser.Text.Trim());
string strUserPswd=PurifyString.ImportText(this.tbPswd.Text.Trim());
ds=Script.getDataReord("select count(*) from users where userid='"+strUserID+"' and password='"+strUserPswd+"'","users");
if(ds.Tables.Count>0)
{
if(ds.Tables[0].Rows[0][0].ToString()=="1")
{
Session["UserAccount"]=strUserID;
Response.Redirect("default.aspx",true);
}
else
{
ds=Script.getDataReord("select count(*) from users","users");
if(ds.Tables.Count>0)
{
if(ds.Tables[0].Rows[0][0].ToString()=="0")
{
Session["UserAccount"]="";
Response.Redirect("default.aspx",true);
}
else
{
Script.WarningMsg("用户名密码不匹配,请重新输入。");
}
}
}
}

解决方案 »

  1.   

    string strUserID=PurifyString.ImportText(this.tbUser.Text.Trim());
    string strUserPswd=PurifyString.ImportText(this.tbPswd.Text.Trim());
    这个是对输入的用户名和密码进行过滤的函数,防止对后面sql拼接构成sql注入
      

  2.   

    ds=Script.getDataReord("select count(*) from users where userid='"+strUserID+"' and password='"+strUserPswd+"'","users");
    if(ds.Tables.Count>0)
    {
    if(ds.Tables[0].Rows[0][0].ToString()=="1")
    {
    Session["UserAccount"]=strUserID;
    Response.Redirect("default.aspx",true);
    }
    else
    {
    ds=Script.getDataReord("select count(*) from users","users");
    if(ds.Tables.Count>0)
    {
    if(ds.Tables[0].Rows[0][0].ToString()=="0")
    {
    Session["UserAccount"]="";
    Response.Redirect("default.aspx",true);
    }
    else
    {
    Script.WarningMsg("用户名密码不匹配,请重新输入。");
    }
    }
    }
    }
    这个是验证用户密码,当在数据库中能找到匹配的用户资料就进入default页面,或者当数据库表为空也可以进入,但是session就不同了;除开以上的情况就会报错了
      

  3.   

    就算有的话,如果有两条或多条也同样会
    Script.WarningMsg("用户名密码不匹配,请重新输入。");