如何得到ResultSet返回的记录数?

headstream 2001-07-02 05:47:27
有没有什么现成的方法?
...全文
467 点赞 收藏 22
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lucong 2002-02-06
通常来说count(*)比rs.last()的开销小。
count(*)把计算的负担丢给了数据库,只把count(*)的结果返还给Web服务器。
回复
zijianyi 2002-02-06
count(*)许多书上的原代码都用的这个的!应该没有问题吧,反正我一直用这个......
回复
wy_cool 2002-02-05
呵呵 。。。看见会的就做了。。尽管别人都作好了。。
int i;
while(rs.next()){
i++}
out.print(i)
呵呵。。。不是抄的 。。
回复
programer 2001-11-06
用count(<某字段>)是可以更快点,不过要保证这个字段是关键字,否则结果会出错
回复
programer 2001-11-06
count(*) 比 rs.last() 开销要小很多,对结果集对象进行移动操作的开销是很大的
放心用count(*),开销并不大
回复
gzproger 2001-07-20
count(*)比较慢,count(<某自段>)快很多;
有些jdbc驱动不支持jdbc2.0,用last就不能回去了;所以
count()是一个通用的办法。
至于哪一个快,还真的要测试一下才知道了。
回复
blackdove 2001-07-16
我觉得count(*)是个笨方法!
回复
blackdove 2001-07-16
ResultSet result = ...;
result.last();
int totalrecords = result.getRow(); //获得记录总数
这是个好办法,我也是这样做的?
但是只能在jdbc 2.0 API中使用!!!
一定要注意jdbc的版本!
回复
scsteven 2001-07-14
看看ResultDatabaseMetaData接口行不行
回复
hccpro 2001-07-13

ResultSet.last()开销大,那count(*)开销就小么?
回复
headstream 2001-07-13
to wjfling2001:我编程已经有13年了,只是刚开始学java,对java不熟悉,想知道解决这问题有没有什么好方法。
回复
nintyuui 2001-07-13
还是select count(*) as totalcnt from student方法好
result.last();开销很大.JAVA的类库说明都不推荐使用.

回复
windygirl 2001-07-10
同意
回复
keiga 2001-07-10
example:
sql = "select count(*) as totalcnt from student";
rs = statement.executeQuery(sql);
rs.next();
totalRecord = rs.getInt("totalcnt");
回复
wjfling2001 2001-07-06
老兄我还是劝你好好对程序设计学一下,这么简单的问题还要问,有些问题需要自己好好的考虑的我给你个代码:
int counter=0;
while(res.next()){ //---res为ResultSet的实例变量;
counter++;
}
out.print(counter);
回复
sososo 2001-07-04
最好的还是lci21(流浪少年)的方法,就给他点分吧^_^
回复
hccpro 2001-07-03

呵呵,当然不方便,要不俺怎么说“再笨”呢!
回复
headstream 2001-07-03
to:hccpro(hcc)
如果有几千万条记录,这样做不方便吧?
回复
lci21 2001-07-03
ResultSet result = ...;
result.last();
int totalrecords = result.getRow(); //获得记录总数

此时游标指针已指向最后一条记录,如果想从第一条开始取记录,还要把游标移回去
给分吧!
回复
hccpro 2001-07-02

再笨用while(rs.next()) count++累加也能算出来啊!

这个难么?
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-07-02 05:47
社区公告
暂无公告