如何取得ResultSet的行数
2009-07-01 10:27 薛凯凯圆滚滚 阅读(529) 评论(0) 编辑 收藏 举报
如果你想的取得一个结果集的行数,怎么办?
在ResultSet对象里面,我们找不到取得结果行数的办法。
其实我们通常的解决方法无非有一下几种:
Code
Code
在ResultSet对象里面,我们找不到取得结果行数的办法。
其实我们通常的解决方法无非有一下几种:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
缺点:如果想要遍历结果集,你不得不在执行一次查询,取得结果集。
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
你将得到的total是0
因为,getRow是在遍历结果集的时候的指针,也是在结果集内移动的指针,也就是说,指向了当前的记录索引号,所以,在进行结果集的遍历前和后都被重置成0。
所以,想取得记录的条数,可以把指针移到最后一条记录,然后取得当前记录的编号就是记录的条数。
所以,必须用
rst.last();
之后才能用 rst.getRow()来取得,才能取到值。
注意:想要用这种方法来取得结果集的行数,必须用 可滚动结果集
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
否则,你就不能执行
rst.last()
也就不能取得结果集的条数。