关于java中返回ResultSet结果集行数

本文介绍了在Java中如何获取ResultSet结果集的行数。分别讲述了在不提供参数和提供参数的情况下,利用Statement创建ResultSet的方式。当设置为ResultSet.TYPE_SCROLL_INSENSITIVE时,可以通过resultSet.last()和resultSet.getRow()获取行数,并使用resultSet.beforeFirst()回到结果集开头进行遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. 如何获取返回ResultSet结果集的行数:


(1).括号内部没有参数,则可以用以下方法

st=conn.createStatement();   
int  rowcount = 0;
ResultSet resultSet = st.executeQuery(sql);
while(resultSet.next()){
        rowcount++;
}

此时返回的rowcount就是对应的结果集的总的行数。但是此时的resultSet.next()已经执行到最后一行,无法滚动执行。


(2).在括号内部添加参数

st=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);  

注:第一个参数:

  ResultSet.TYPE_FORWARD_ONLY:不滚动结果集;

  ResultSet.TYPE_SCROLL_INSENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;

  ResultSet.TYPE_SCROLL_SENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;

第二个参数:

  CONCUR_READ_ONLY:结果集是只读的,不能通过修改结果集而反向影响数据库;

  CONCUR_UPDATABLE:结果集是可更新的,对结果集的更新可以反向影响数据库。


则可以继续执行:

int rowcount =0;

ResultSet resultSet = st.executeQuery(sql);
resultSet.last();      //直接执行跳到结果集的最后一行

rowcount = resultSet.getRow();   //这一句就能得到结果集的行数
resultSet.beforeFirst();   //重新执行到第一行的前一行,以便查询结果集的集体内容



 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值