从数据库里老师读不到数据
if (this.IsValid)
{
string pwd= this.txtPassword.Text.ToString();
//Commons.DbTools DbTools = new Commons.DbTools();
string Pwd = Commons.DbTools.Md5(pwd); //调用DbTool的Md5方法来对密码加密
//pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5"); //此种方法与上面的效果一样
string sql = "select * from users where UserName='" + this.txtUserName.Text.ToString() + "' and Password='" + Pwd + "'";
Common common = new Common();
DataSet ds= common.GetDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
this.Response.Redirect("main.aspx");
}
else
{
DbTools.MsgBox("用户名或密码错误!");
}
}
/////////////////////////////////////////////////////
就是这段验证用户登录的代码,老是从数据库都不到数据,所以登录时总是("用户名或密码错误!"不知道咋回事,急死了,
配置文件没有写错,因为可以从数据库导出数据来。不知道什么原因
------解决方案--------------------
if (this.IsValid)
{
string pwd= this.txtPassword.Text.ToString();
//Commons.DbTools DbTools = new Commons.DbTools();
string Pwd = Commons.DbTools.Md5(pwd); //调用DbTool的Md5方法来对密码加密
//pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5"); //此种方法与上面的效果一样
string sql = "select * from users where UserName='" + this.txtUserName.Text.ToString() + "' and Password='" + Pwd + "'";
第一你的txt 文本框本来就是string类型的,就不用 Tostring();
第二 ,密码:你应该去数据库里面看看密码是否是加过密的,你也可以直接把Pwd 换成 pwd试试,确认你的密码是否是加过密的。