+ -
当前位置:首页 → 问答吧 → 关于rs.next()的问题

关于rs.next()的问题

时间:2011-08-29

来源:互联网

用了if(rs.next())后,下次再用rs.next()是不是还是从第一条记录读起的?用了while(rs.next()){}后,下次是不是就是从第二条记录读起了

作者: qizhiduoluo21   发布时间: 2011-08-29

引用楼主 qizhiduoluo21 的回复:
用了if(rs.next())后,下次再用rs.next()是不是还是从第一条记录读起的?用了while(rs.next()){}后,下次是不是就是从第二条记录读起了

执行了rs.next() 下次再用(rs没有被重新复值)rs.next()都是从第二条记录读起(有记录的情况下)

作者: jianglang_a   发布时间: 2011-08-29

用了if(rs.next())后,也是从第二条记录读起了


作者: gl74gs48   发布时间: 2011-08-29

第一次rs.next()就是读第一条数据,if(rs.next())一般是用来读唯一结果集,而while(rs.next())用来读多条记录的

顺便在帖子里问一下,有时候rs.next()报错,说结果接耗尽,也没找到解决办法就突然又好了

作者: jnhcd   发布时间: 2011-08-29

可以这样理解:rs内部有一个指针,最开始是指向第一条数据之前的,因此此时beforeFirst()方法返回是true;每调一次rs.next()方法,该指针向后移动一条记录,rs.get()方法读取的是当前指针指向的那条记录的数据。

作者: forestandriver23   发布时间: 2011-08-29

引用 2 楼 gl74gs48 的回复:
用了if(rs.next())后,也是从第二条记录读起了

好像不是啊,我用了if(rs.next()) //有的话就进去读
{来判断,然后在用了while(rs.next()){int id=rs.getInt(1);}
开始读出的就是第一条记录啊,不是从第二条记录读起的

作者: qizhiduoluo21   发布时间: 2011-08-29