C#做登录系统的问题,输入的密码与数据库中对应密码一样,但与sql查询结果却不想等

账号zxy,密码123.输入帐号密码正确,但结果总显示“密码错误”,问题在于if(pwd==a)这个语句总是判断错误,我依次输出来看却是一样的,好纠结啊,到底是怎么回事,... 账号zxy,密码123.输入帐号密码正确,但结果总显示“密码错误”,问题在于if(pwd==a)这个语句总是判断错误,我依次输出来看却是一样的,好纠结啊,到底是怎么回事,急救啊各位高手
代码
private void button1_Click(object sender, EventArgs e)
{
string name=this.textBox1.Text.Trim().ToString();//用户名
string pwd=this.textBox2.Text.Trim().ToString();//密码
SqlConnection con=new SqlConnection("server=LENOVO-PC\\MSSQLSERVER2008;uid=sa; pwd=123; database=LGDB");
con.Open();
SqlCommand cmd=new SqlCommand("select * from [user] where uname='"+name+"'",con);
SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
MessageBox.Show(dr["uname"].ToString());//能弹出窗口1显示xyz
MessageBox.Show(dr["upwd"].ToString());//能弹出窗口2显示123
MessageBox.Show(name);//能弹出窗口3显示xyz
MessageBox.Show(pwd);//能弹出窗口4显示123
string a = dr["upwd"].ToString();
if (pwd==a) //if的判断结果却总是false
{
MessageBox.Show("登录成功");
}
else
{
dr.Close();
con.Close();
MessageBox.Show("密码错误");
}
}
else
{
dr.Close();
con.Close();
MessageBox.Show("无此帐号,请注册");

}

}

依次为窗口1 2 3 4
展开
 我来答
百度网友931f824
2012-09-03 · TA获得超过102个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:121万
展开全部
应该是数据库中或者输入值带有空格,可先使用.Trim()方法消除空格,为了下次出现这种问题,建议你把帐号和密码数据类型改成varchar 或者 nvarchar
石军安2012
2012-09-03 · 超过19用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:43.5万
展开全部
看数据库里的字段,好像前面有空格,
你可以这样写试一下
string a = dr["upwd"].Trim().ToString();
if (pwd==a)
{
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2012-09-02 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4352万
展开全部
建议用select count(*) ..where..用户名 and 密码
Executescalar>0的方法
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wrigon
2012-09-02 · TA获得超过250个赞
知道小有建树答主
回答量:462
采纳率:50%
帮助的人:199万
展开全部
你把pwd和a都去下前后空格试试,估计和你在数据库中字段的数据类型有关
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式