入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

JDBC--获得ResultSet的记录个数、字段个数

创建时间:2016-06-23 投稿人: 浏览次数:10821

1.获得ResultSet的记录个数

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

Statement stmt = conn.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

conn连接对象的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();

也可以直接这样获取:

rs.getMetaData().getColumnCount()
阅读更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像