如何获取rs中有多少条结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取rs中有多少条结果相关的知识,希望对你有一定的参考价值。

在java中进行数据库查询,ResultSet rs = sm.executeQuery(sql);
如何获得人生中有多少条结果???
还有那位大哥能告我rs。getConcurrency()有什么用啊~??

#

在Java中,获得ResultSet的总行数的方法有以下几种。

第一种:利用ResultSet的getRow方法来获得ResultSet的总行数

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数

第二种:利用循环ResultSet的元素来获得ResultSet的总行数

ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next())
rowCount++;


rowCount就是ResultSet的总行数。

第三种:利用sql语句中的count函数获得ResultSet的总行数

ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next())
rowCount=rset .getInt("totalCount ");


rowCount就是ResultSet的总行数。
参考技术A ResultSet,数据库结果集的数据表,通常通过执行查询数据库的语句生成。
ResultSet.last().getRow();
返回的应该是最后一行的编号,加1就是可以看到共多少条结果或记录。

如何在java中获取Resultset的长度或大小[重复]

【中文标题】如何在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();

【讨论】:

以上是关于如何获取rs中有多少条结果的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在java中获取Resultset的长度或大小[重复]

JDBC中如何获取SUM函数返回的结果

thinkphp如何查询数据库某一表中有多少条数据?

Java编程 如何获取从数据库中获取的一条数据中一个一个数据 啊

如何在 RS232 串口和本地笔记本电脑之间获取命令历史记录?