如何在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 获取行数?

如何在Java中获取文本的字体和大小特定长度?

如何使用java的ResultSet获取mysql的float的精确值

java.io.file对象中获取文件长度时 调用length方法 返回的是文件占用空间大小.如何获取文件自身的大小呢?

java中如何获取ResultSet rs结果集中的条数?