当前位置: 代码迷 >> J2EE >> 登录证验的时候为什么只能验证数据库中的第一行数据
  详细解决方案

登录证验的时候为什么只能验证数据库中的第一行数据

热度:53   发布时间:2016-04-22 00:49:47.0
登录验证的时候为什么只能验证数据库中的第一行数据。
try {
while(rs.next()){

String cardcode = rs.getString(3);
String cardpassword = rs.getString(4);

System.out.println("数据库中保存的卡号"+cardcode);
System.out.println("数据库中保存的密码"+cardpassword);

if(cardcode.equals(cardId1)&&cardpassword.equals(cardPassword1)){
return true;
}
else{
return false;
}
}
为什么只验证第一行数据就直接返回,应该如何改才能验证数据库中查出的所有数据。

------解决方案--------------------
if(cardcode.equals(cardId1)&&cardpassword.equals(cardPassword1)){
return true;
}else{
return false;
}
循环第一条,发现if 条件不满足就走else部分的代码了,也就是return了。跳出程序了。

把else语句删掉。另外在while循环外加return false;

Java code
try {    while(rs.next()){    String cardcode = rs.getString(3);    String cardpassword = rs.getString(4);     System.out.println("数据库中保存的卡号"+cardcode);    System.out.println("数据库中保存的密码"+cardpassword);    if(cardcode.equals(cardId1)&&cardpassword.equals(cardPassword1)){        return true;    }}return false;
------解决方案--------------------
你为啥这样做啊?

你把 cardcode 作为 SQL 的查询参数啊,如果 cardcode 是唯一的那最多只有一条数据了,如果有这条数据的话,再和密码进行比较就可以了。
------解决方案--------------------
探讨
if(cardcode.equals(cardId1)&&cardpassword.equals(cardPassword1)){
return true;
}else{
return false;
}
循环第一条,发现if 条件不满足就走else部分的代码了,也就是return了。跳出程序了。

把else语句删掉。另外在while循环外加return fa……
  相关解决方案