DATASET中的值问题。

stringusername=UserName.Text;stringpassword=PassWord.Text;usersTableAdapteradapter=ne... string username = UserName.Text;
string password = PassWord.Text;
usersTableAdapter adapter = new usersTableAdapter();
DataSetUsers.usersDataTable users = adapter.GetDataByusername(username);
if (users.Count <= 0)
{
Response.Write(" <script> window.alert( '用户名/密码错误,请重新输入 '); </script> ");
return;
}
else
{
DataSetUsers.usersRow user = users[0];
if (user.password == password)
{
Response.Write(" <script> window.alert( '登录成功,欢迎光临 '); </script> ");
Response.Redirect("Login.aspx");
return;
}
else
{
Response.Write(" <script> window.alert( '用户名/密码错误,请重新输入'); </script> ");
return;
}
}
为何每次判断if (user.password == password)都为非?tostring()后也一样
展开
 我来答
sugarhu
2012-03-26
知道答主
回答量:18
采纳率:100%
帮助的人:20.1万
展开全部
这个问题问的确实有些强硬了。不管你用的DATASET、DATATABLE、还是DATAVIEW, 跟值是没有任何关系的,判断用户名密码无非就是trim().tostring()。调试出来的值全部相同的话,你就应该排除代码的错误了,那么错误在哪呢?答案肯定是数据库,编码是utf-8的话你password字段的属性就不应该是nvarchar了。换成varchar 你这问题应该就解决了。做为程序员你程序代码的逻辑思路一定要清晰,出问题不要慌张,特别是一些MD5加密的时候,数据库字段属性不推荐使用nvarchar,MD5对varchar和nvarchar字符串读出来的值是完全不同的。
selinagel
2012-03-26 · 超过14用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:47.1万
展开全部
调试看看两个值是不是一样啊
追问
是一样的。肯定
追答
都加上这个 在对比ToLower().Trim(),是不是有空格或着大小写的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式