try
    {     System.out.println("3");
      Class.forName(DBDRIVER);
      conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
      String sql = "SELECT name FROM person WHERE id=? and password=? ";
      pstmt = conn.prepareStatement(sql) ;
      pstmt.setString(1,id) ;
          pstmt.setString(2,password) ;
      rs = pstmt.executeQuery();
      System.out.println("1");
      
      if(rs.next())
{
flag = true ;
System.out.println("1");
}
rs.close() ;
pstmt.close() ;

     
    }
请问这段代码有什么问题吗?我调试到  if(rs.next())
不能返回TRUE了 希望好心人解答 

解决方案 »

  1.   

    可是我ID 和PASSWORD都输入正确了的啊   
      

  2.   

    是吗?都输入正确!
    我以前输入都正确,可是到后来加了trim()才搞定。
    把if搞个while看看,是没有查到符合的值。
      

  3.   

    额 改了 还是不行啊 急死了 ··2年不搞J2EE手生了··
      

  4.   

    简单
    String sql = "SELECT name FROM person WHERE id=? and password=? "; 改成
    String sql = "SELECT name FROM person WHERE id='"+id+"' and password='"+password+"'"; 
    System.out.println(sql);然后你把打印出来的sql, 手工去查询分析器里运行看看吧。
      

  5.   

    明白了 ID= NULL 是前面的程序有问题 谢谢你的帮助