如何获取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中有多少条结果的主要内容,如果未能解决你的问题,请参考以下文章