请问在JSP中利用数据库连接池从数据库中读入一条记录到ResultSet 对象rs当中(数据库中也确实有一条满足条件的记录被返回),
直接读取out.println(rs.getFetchSize());返回结果是0,
后来加上了if(rs.next())out.println(rs.getFetchSize());结果就对了返回1.
不知道加上一个rs.next()与不加有什么区别,请问rs.next()是不是就是为了判断一下rs中是否有数据,为什么不加就会出现错误呢??

解决方案 »

  1.   

    rs默认指向数据前一条。
    rs.next() 是第一条数据
      

  2.   

    那我也没有引用rs.next()啊,,只是在if里面做了一个判断,加和不加判断,程序的主体不还是rs.getFetchSize()么。。
      

  3.   

    rs.getFetchSize()
    这个不是得到所有记录数
    得到所有记录数应该先让rs走到最后一条结果,然后返回rowsize才对,
    rs.next()的作用有2个,第一是如果rs里面有结果的话,那么让rs跳到第一条数据上,第二是 判断rs是否有结果。如果没有返回false
      

  4.   

    rs是第一条记录
    rs.next下一条记录
    可以这么说吧.如果RS ID是1
    那么RS.NEXT ID就是2