如何得到ResultSet的记录个数与字段个数

本文介绍了如何在Java中获取数据库查询结果集(ResultSet)的记录总数和字段数量。通过设置可滚动的结果集并利用last()及getRow()方法来获取记录数,同时使用getMetaData().getColumnCount()获取字段数。

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

1.获得ResultSet的记录个数

因为ResultSet没有方法可直接得到记录数,只有另想方法,可采用如下方法:

 

Statement stmt = db.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,        ResultSet.CONCUR_READ_ONLY);

ResultSet rs = stmt.executeQuery(sql);

rs.last();//移到最后一行

int count = rs.getRow();

rs.beforeFirst();//移到初始位置

 

注意:

因为默认的 ResultSet 对象仅有一个向前移动的光标,必须将ResultSet指定为可滚动的。所以第一行代码是必须的,否则会报如下错误:

ResultSet may only be accessed in a forward direction

 

ResultSet类的createStatement(int resultSetType, int resultSetConcurrency);方法中,参数一为结果集类型,可取值为

1)ResultSet.TYPE_FORWORD_ONLY,结果集只可向前滚动;

2)ResultSet.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。

3)ResultSet.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。

 

参数二为结果集可进行的操作,可取值为:

1)ResultSet.CONCUR_READ_ONLY 只读

2)ResultSet.CONCUR_UPDATABLE 可修改


2.获得ResultSet的字段个数  

使用rs.getMetaData()方法,该方法的返回类型是ResultSetMetaData,在这个类中调用getColumnCount()方法,即可得到字段个数。  

       代码如下:

 

ResultSetMetaData   rsmd1 = rs.getMetaData();

int   count = rsmd1.getColumnCount();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值