日期:2014-05-19  浏览次数:20819 次

登录验证的时候为什么只能验证数据库中的第一行数据。
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……