这条检测语句为什么不对啊,是检测我输入的用户名和密码是否于数据库的相等(if(userName.equals(rs.getString(2)) && passwd.equals(rs.getString(3))){
break;
}

那两个字段分别是第二个和第三个字段!
**************************************************************************************************
public boolean checkLogin(String userName, String passwd) {

PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select userName,passwd from bankproject";

try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
System.out.println(passwd);
while(rs.next()){
if(userName.equals(rs.getString(2)) && passwd.equals(rs.getString(3))){
break;
}
}
return true;
} catch (SQLException e) {
e.printStackTrace();
}

return false;
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【dp1123】截止到2008-07-13 07:26:45的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    while(rs.next()){ 
      if(userName.equals(rs.getString(2)) && passwd.equals(rs.getString(3))){ 
        break; 
      } 

    return true;
    你的程序无论怎么检测,都返回true,改成这样
    while(rs.next()){ 
      if(userName.equals(rs.getString(2)) && passwd.equals(rs.getString(3))){ 
        return true; 
      } 

    return false;
      

  3.   

    本帖最后由 java2000_net 于 2008-07-13 08:04:18 编辑
      

  4.   

    我的数据库有好几个字段
    userName和passwd在数据库里是第二和第三个字段