大家看看我这到底是什么问题啊,很简单就是错

dino815613 2006-03-30 11:05:51
代码如下:
try
{
string str="Data Source=(local);Initial Catalog=MyLife;uid=;pwd=;Integrated Security=SSPI";
//string sql="select UserID,Pwd from User";
SqlConnection conn=new SqlConnection(str);
SqlCommand com=new SqlCommand("select * from UserTable",conn);
conn.Open();
SqlDataReader reader=com.ExecuteReader();
if(reader.Read())
{
if(reader["UserID"].ToString()==id.Text&&reader["Pwd"].ToString()==mima.Text)
{
MessageBox.Show("Welcome");
this.Close();
}
else
{
MessageBox.Show("你输入的用户名和密码不正确,请重新输入");
id.Text="";
mima.Text="";
}
}
conn.Close();
}
catch(SqlException se)
{
MessageBox.Show(se.Message,"Warnning");
}
我只是验证数据库的密码,如果和数据库里面的一样就登陆成功,但是我输入数据库里面保存的信息总是执行("你输入的用户名和密码不正确,请重新输入")这句话,怎么这样的
...全文
114 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ticle 2006-03-30
  • 打赏
  • 举报
回复
更好的方法是
SqlCommand com=new SqlCommand("select * from UserTable ",conn);
改成
SqlCommand com=new SqlCommand("select * from UserTable where UserID='"+id.Text.Trim()+"' and pwd='"+mima.Text.Trim()+"'",conn);
ticle 2006-03-30
  • 打赏
  • 举报
回复
换成
bool bPass=false;
while (reader.Read())
{
if(reader["UserID"].ToString()==id.Text&&reader["Pwd"].ToString()==mima.Text)
{
bPass = true;
}
}
if (bPass==true)
{
MessageBox.Show("Welcome");
this.Close();

}
else
{
MessageBox.Show("你输入的用户名和密码不正确,请重新输入");
id.Text="";
mima.Text="";
}
ticle 2006-03-30
  • 打赏
  • 举报
回复
不好意思,理解错了,你用的是
if(reader.read())
这个只会执行一次的,换句话说,如果你表中只有一个用户名和密码就会判断,但如果多了,第二条记录就不走了
dino815613 2006-03-30
  • 打赏
  • 举报
回复
我的uid和pwd是空的,这个我以前用都是对的
ticle 2006-03-30
  • 打赏
  • 举报
回复
string str="Data Source=(local);Initial Catalog=MyLife;uid=;pwd=;Integrated Security=SSPI";
这句错了
改成string str="Data Source=(local);Initial Catalog=MyLife;uid=你的sql用户名,sa;pwd=;Integrated Security=SSPI";
bifrost 2006-03-30
  • 打赏
  • 举报
回复
SQL语句改成"select * from UserTable where UserID='"+id.text+"' and Pwd='"+mima.text"'";
后面的reader["UserID"].ToString()==id.Text&&reader["Pwd"].ToString()==mima.Text就直接写if(reader.Read())
这样试试
lovefootball 2006-03-30
  • 打赏
  • 举报
回复
跟踪调试一下
看看
reader["UserID"].ToString()
id.Text
reader["Pwd"].ToString()
mima.Text
这些东西分别是什么
dino815613 2006-03-30
  • 打赏
  • 举报
回复
各位看看,帮帮忙啊,谢谢了
dino815613 2006-03-30
  • 打赏
  • 举报
回复
不关这个事的,我原来是有加的,后来才不要,出现这个结果应该是读取不到数据库的原因吧,或者我的读取语句有问题
臭写代码的 2006-03-30
  • 打赏
  • 举报
回复
在ToString() 后边加上 .Trim() 试试
dino815613 2006-03-30
  • 打赏
  • 举报
回复
titcle,我按照你的方法成功了,谢谢你了,但是我不知道怎么给分,真的不好意思

111,115

社区成员

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

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

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