社区
Web 开发
帖子详情
如何得到ResultSet返回的记录数?
headstream
2001-07-02 05:47:27
有没有什么现成的方法?
...全文
502
22
打赏
收藏
如何得到ResultSet返回的记录数?
有没有什么现成的方法?
复制链接
扫一扫
分享
转发到动态
举报
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)
将
ResultSet
中
得到
的一行或多行结果集封装成对象的实例
主要介绍了将
ResultSet
中
得到
的一行或多行结果集封装成对象的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
JAVA的JDBC详解,面试必问
通过实例代码,让你认识JDBC,简单实用,面试必问 * Statement是一个接口,它表示语句对象。 * executeQuery():只能执行查询语句(DQL),
返回
ResultSet
对象,即结果集对象。 * executeUpdate():执行DML语句(增删改语句)和DDL语句(
数
据定义语言,Create、Alter、Drop),
返回
受影响
记录
数
或者零。 * execute():执行上术三种语句,
返回
布尔值。
返回
TRUE,表示执行的是查询语句;
返回
FALSE表示执行的是DML或DDL。 * 当执行完此方法,可以调用getUpdateCount()方法
得到
受影响的
记录
数
; * 可以调用get
ResultSet
()方法
得到
查询结果集。
获得
ResultSet
返回
记录
数
这两天在回来写一些业务代码的时候,发现需要一个需要获得表的
记录
数
,其实可以通过循环获得,不过,那也是实在效率低的可怜。因为之前没有用过,现在用起来,还真是有点小问题,起初使用JDBC,都是使用 预编译方式PreparedStatement执行SQL语句的,发现rs.last()不能用,那当然rs.getRow()也得不到
数
据
记录
数
啦。然后问了朋友半天,发现还有个 Statement ,蛮好用的,
获取
ResultSet
记录
数
JDBC中的
ResultSet
API没有直接获取
记录
条
数
的方法,现介绍几个: 方法一:利用
ResultSet
的getRow方法来获得
ResultSet
的总行
数
Java代码
ResultSet
rs; rs.last(); //移到最后一行 int rowCount = rs.getRow(); //
得到
当前行号,也就是
记录
数
rs.bef
JDBC--获得
ResultSet
的
记录
个
数
、字段个
数
1.获得
ResultSet
的
记录
个
数
因为
ResultSet
没有方法可直接
得到
记录
数
,只有另想方法,可采用如下方法:Statement stmt = db.createStatement(
ResultSet
.TYPE_SCROLL_INSENSITIVE,
ResultSet
.CONCUR_READ_ONLY);
ResultSet
rs = stmt.executeQuery(sq
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章