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

headstream 2001-07-02 05:47:27
有没有什么现成的方法?
...全文
502 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
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++累加也能算出来啊!

这个难么?
加载更多回复(2)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧