System.out.println(rSet.next()); 这句话去掉

解决方案 »

  1.   

    很有可能就是这句已经把next值给取出来,所有就没有next啦。
      

  2.   

    System.out.println(rSet.next());
    if(rSet.next()){
    打印的这条语句已经遍历了一次
    if里面的遍历的是第二条数据,所以你这个值有问题。
      

  3.   

    System.out.println(rSet.next());这句话的打印结果就为false
      

  4.   

    那为什么System.out.println(pStatement.execute());这句话打印出来为true
      

  5.   

    楼主没清楚rSet.next()的含义,这是一个类似指针的东西,你System.out了一下next,那么他就往后走了一下,等你在遍历的时候,他已经走了第一条数据了,所以就从第二条数据开始取了,明白了吧
      

  6.   

    System.out.println(pStatement.execute());为true表示他执行成功吧,并不一定代表他查询到值吧。
      

  7.   

    我把System.out.println(pStatement.execute());删掉后还是进不到if语句那为什么System.out.println(pStatement.execute());这句话打印出来为true
    错了,是输出为false
      

  8.   

    我把 System.out.println(rSet.next());删除后,还是进不去if语句
      

  9.   

    我把 System.out.println(rSet.next());删除后,还是进不去if语句如果删除了还进不去 ,那就是rSet本身就是空的,把sql打印出来看下~~~
      

  10.   

    select * from bank where Card_no=?
      

  11.   

    那为什么System.out.println(pStatement.execute());这句话打印出来为true
    pStatement.execute()返回true不代表你就能查询出来值,只能说明你的sql顺利执行完了,即使结果集是空的。
    比如你传这条SQL进去,pStatement.execute()的到的结果一样是true。
    SELECT 1 FROM dual WHERE 1=2;
      

  12.   

    pStatement.execute()返回true不代表你就能查询出来值,只能说明你的sql顺利执行完了,即使结果集是空的。
    比如你传这条SQL进去,pStatement.execute()的到的结果一样是true。
    SELECT 1 FROM dual WHERE 1=2;
    原来是这样的!那应该是哪里出问题了?