RecordSet 如何取得当当包含的记录总数?有什么高效方法?

Semigod 2004-01-14 10:10:23
rt
...全文
118 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
youthy_yy 2004-02-02
  • 打赏
  • 举报
回复
关注此问题,我也想知道
Yssss1980 2004-02-02
  • 打赏
  • 举报
回复
使用rs.last()效率极低,尤其条数很多的时候,不建议使用

还是使用select count(0) from 要快得多
老土豆T 2004-02-02
  • 打赏
  • 举报
回复
用存储过程范围rs..

然后
rs.last();
rs.getRow();
chashui 2004-02-02
  • 打赏
  • 举报
回复
up
mxlmwl 2004-01-14
  • 打赏
  • 举报
回复
<%
ResultSet rs;
rs=test.executeQuery("select count(*) from test");
rs.next();
int a=rs.getInt(1);
out.println(a);
%>
获取记录总数的源代码如上。输出的a为你想要的结果
Leemaasn 2004-01-14
  • 打赏
  • 举报
回复
通用的SQL,推荐使用:
可以用select count(*) 的sql来查询,然后rs.getRow(1)。。。


如果使用专用的数据库,可以用专用数据库提供的API。。。
mxlmwl 2004-01-14
  • 打赏
  • 举报
回复
可以用select count(*) 的sql来查询,然后rs.getRow(1)
zkjbeyond 2004-01-14
  • 打赏
  • 举报
回复
jboss数据库的有专门的方法
fast_time 2004-01-14
  • 打赏
  • 举报
回复
现在还没有高效的方法
只能rs.last();
rs.getRow();
Semigod 2004-01-14
  • 打赏
  • 举报
回复
我不需要得到所有记录的个数,而是当前记录集中所包含的记录的个数.
我发现使用
rs.last();
int count = rs.getRow(); 可以得到当前记录集的个数,
但对于存储过程返回的记录集就不行,返回错误是TYPE_FORWORD_ONLY
我偏偏就需要从获取存储过程返回来的记录集中记录的个数,
●●●请问该怎么办?●●●

我的存储过程很简单:
ALTER PROCEDURE dbo.ListUserAlerts
(
@uid int = -1
)
AS
if (@uid <> -1)
SELECT * FROM Alerts WHERE (UID = @uid)
else
RETURN

62,614

社区成员

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

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