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()后也一样 展开
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()后也一样 展开
2个回答
展开全部
这个问题问的确实有些强硬了。不管你用的DATASET、DATATABLE、还是DATAVIEW, 跟值是没有任何关系的,判断用户名密码无非就是trim().tostring()。调试出来的值全部相同的话,你就应该排除代码的错误了,那么错误在哪呢?答案肯定是数据库,编码是utf-8的话你password字段的属性就不应该是nvarchar了。换成varchar 你这问题应该就解决了。做为程序员你程序代码的逻辑思路一定要清晰,出问题不要慌张,特别是一些MD5加密的时候,数据库字段属性不推荐使用nvarchar,MD5对varchar和nvarchar字符串读出来的值是完全不同的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询