try{
Statement h1=conn.createStatement();
  ResultSet rs=h1.executeQuery("select password from cp_people where ID='"+t1.getText().toString().trim()+"'");
  String password;
   while(rs.next()){
  password=rs.getString(1).trim();
  System.out.println(password);
  
      if(password.equals(jp.getPassword().toString().trim())==true){
       System.out.println("哈哈");
       JOptionPane.showMessageDialog(null,   "用户名和密码正确正确正确正确正确正确!");   
           
        try{   
        
         System.out.println("Hello,   "     +   ".   Next   year,   you'll   be   "   );   
             }   
             catch(Exception   e2)   {   
             e2.printStackTrace();   
             }   
        finally   {   
        System.exit(0); }      
        
       break;
        }
     else
        { 
         JOptionPane.showMessageDialog(null,   "用户名和密码错误")   ;   
           
        try{   
        
         System.out.println("Hello,   "     +   ".   Next   year,   you'll   be   "   );   
             }   
             catch(Exception   e1)   {   
             e1.printStackTrace();   
             }   
        finally   {   
        System.exit(0); }      
        
        }
      
         
    } 
  
       } catch(Exception v) {
        v.printStackTrace();
         }
}
这段代码,执行时,没发生任何错误
我输入用户名和密码时,无论输入什么都显示用户名和密码错误。请问各位高手,我哪错了?谢谢!

解决方案 »

  1.   

    把t1.getText().toString().trim()打印出来看看是否得到了用户id,然后拿这个用户id直接去数据库执行看看是否取到了password
    然后再把jp.getPassword().toString().trim()打出来看看.这样简单的调试就知道了
      

  2.   

    try{ 
    Statement h1=conn.createStatement(); 
      ResultSet rs=h1.executeQuery("select password from cp_people where ID='"+t1.getText().toString().trim()+"'"); 
      String password; 
      while(rs.next()){ 
      password=rs.getString(1).trim(); 
      System.out.println(password); 
      
          if(password.equals(jp.getPassword().toString().trim())==true){ 
          System.out.println("哈哈"); 
          JOptionPane.showMessageDialog(null,  "用户名和密码正确正确正确正确正确正确!");  
            
          try{  
        
          System.out.println("Hello,  "    +  ".  Next  year,  you'll  be  "  );  
              }  
              catch(Exception  e2)  {  
              e2.printStackTrace();  
              }  
          finally  {  
          System.exit(0); }      
          
        break; 
          } 
        else 
          { 
          JOptionPane.showMessageDialog(null,  "用户名和密码错误")  ;  
            
          try{  
        
          System.out.println("Hello,  "    +  ".  Next  year,  you'll  be  "  );  
              }  
              catch(Exception  e1)  {  
              e1.printStackTrace();  
              }  
          finally  {  
          System.exit(0); }      
          
          } 
          
          
      } 
      
          } catch(Exception v) { 
        v.printStackTrace(); 
          } 

      

  3.   

    因为jp.getPassword返回的是char[],再加上toString方法就不是原字符串了,而是char[]的地址信息了。
    lz可以改成
    String tmp = new String(jp.getPassword());
    if( password.equals(tmp.trim()) ) {
    .
    .
    .
    }
      

  4.   

    lz,代码中jp.getPassword()  jp那来的?
    另外建议你贴代码的时候用下面的插入源代码功能,那样要容易看!!