如何在java中获取Resultset的长度或大小[重复]
Posted
技术标签:
【中文标题】如何在java中获取Resultset的长度或大小[重复]【英文标题】:how get length or size of Resultset in java [duplicate] 【发布时间】:2013-11-18 16:42:15 【问题描述】:我想知道执行特定查询后结果集中有多少行
ResultSet rs = ps.executeQuery();
如何获得 rs 的大小??? 提前谢谢
【问题讨论】:
【参考方案1】:如果你只想要ResultSet
中的行数,你可以这样做:
int size= 0;
if (rs != null)
rs.beforeFirst();
rs.last();
size = rs.getRow();
【讨论】:
这只能保证适用于可滚动的结果集,当调用beforeFirst()
或last()
时,仅向前输入结果集应该抛出SQLException
(尽管有些实现不这样做)。
这意味着通过网络读取整个表并丢弃数据,最好直接执行 count(*) sql 查询【参考方案2】:
通过while循环:
int size=0;
while (rs.next())
size++;
【讨论】:
【参考方案3】:您无需对其进行迭代并计算行数。您可以尝试以下简单的方法
boolean b = rs.last();
int numberOfRecords = 0;
if(b)
numberOfRecords = rs.getRow();
【讨论】:
以上是关于如何在java中获取Resultset的长度或大小[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Statement 和 ResultSet 上设置提取大小之间的区别
如何使用java的ResultSet获取mysql的float的精确值
java.io.file对象中获取文件长度时 调用length方法 返回的是文件占用空间大小.如何获取文件自身的大小呢?