从数据库里老师读不到数据

Jermy120 2012-05-20 09:14:43
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("用户名或密码错误!");
}
}

/////////////////////////////////////////////////////
就是这段验证用户登录的代码,老是从数据库都不到数据,所以登录时总是("用户名或密码错误!"不知道咋回事,急死了,
配置文件没有写错,因为可以从数据库导出数据来。不知道什么原因
...全文
243 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
oxk5201314 2012-05-21
  • 打赏
  • 举报
回复
你最好是把你的那sql语先放到数据库去执行一次看能不能有数据出来了,如果没有问题调试下你的代码,看看是不是你的拼接问题。
ONE-PIECE 2012-05-21
  • 打赏
  • 举报
回复
调试 把那句SQL语句放到数据库执行是否有数据,如果没有在检查连接字符串是否错误!!!!!!!!!
IT-Style 2012-05-21
  • 打赏
  • 举报
回复
断点调试得到你拼接的SQL语句,复制粘贴到数据库查询窗口中看看是否能查出数据.
如果查不出数据,那么你输入的用户名和密码可能有错误.
xuelang1225 2012-05-21
  • 打赏
  • 举报
回复
单步调试将得到的SQL语句到数据库里查询
梦世界 2012-05-21
  • 打赏
  • 举报
回复
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试试,确认你的密码是否是加过密的。
EdsionWang 2012-05-21
  • 打赏
  • 举报
回复
估计是数据库里面存的密码不是经过加密的~~~
Jermy120 2012-05-21
  • 打赏
  • 举报
回复
这么多人回答问题啊,令小弟实在感动啊,现在成功了,是数据库里德数据没有加密造成的,十分感谢你们,不知道该把分给谁啊,呵呵
木木_615 2012-05-21
  • 打赏
  • 举报
回复
数据库的连接字符串有冒有问题撒
jiejiep 2012-05-20
  • 打赏
  • 举报
回复
数据库中存的密码也是MD5加密过的吗?
EnForGrass 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

楼上的,加了[]就会提示有错了,根本不行
[/Quote]
调试把你的sql语句拿到查询分析器执行看能不能成功??
Jermy120 2012-05-20
  • 打赏
  • 举报
回复
楼上的,我都看了2天了,实在找不到原因啊,帮帮我把
congMEIda 2012-05-20
  • 打赏
  • 举报
回复
看起来没有什么错,应该是SQL语句的问题吧!!!你在看看!!!
Jermy120 2012-05-20
  • 打赏
  • 举报
回复
楼上的,加了[]就会提示有错了,根本不行
Jermy120 2012-05-20
  • 打赏
  • 举报
回复
没有啊,我都烦死了,几天了还没搞好sql语句饿哦觉得应该没问题的啊
EnForGrass 2012-05-20
  • 打赏
  • 举报
回复
users,UserName,Password是关键字,加[],改成如下试试
string sql = "select * from [users] where [UserName]='" + this.txtUserName.Text.ToString() + "' and [Password]='" + Pwd + "'";
beyond_winner 2012-05-20
  • 打赏
  • 举报
回复
数据库里面的密码是否是已经加密的?
mizuho_2006 2012-05-20
  • 打赏
  • 举报
回复
我看错了,应该是SQL语句的问题,你得到的查询结果为0条。
数据库中的密码是加密过的吗
可以单步调试将得到的SQL语句到数据库里查询试一下。
mizuho_2006 2012-05-20
  • 打赏
  • 举报
回复
检查连接字符串的用户名和密码

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧