码迷,mamicode.com
首页 > 其他好文 > 详细

对只转发结果集的无效操作 first

时间:2014-08-05 09:29:38      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:style   color   java   使用   io   数据   for   ar   

今天只用jdbc连接Oracle查询结果时,出现了一个: 对只转发结果集的无效操作 first 的错误java.sql.sqlexception。

出现这个结果的原因是:使用 Statement ste = this.con.createStatement();这种方式获得的
tatement 只使用默认方式的 ResultSet。它只能通过 next()方法来进行遍历。如果使用 first()或者 last()方法就会出错。
解决的方法很简单:如下
PreparedStatement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

或者就不要使用 first() 和 last() 方法。只使用 next() 方法遍历


顺便简单介绍一下各个参数:

1. ResultSet.TYPE_FORWARD_ONLY (略)
2. ResultSet.TYPE_SCROLL_INSENSITIVE 双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
3. ResultSet.TYPE_SCROLL_SENSITIVE 双向滚动,并及时跟踪数据库里的更新,以便更改ResultSet中的数据。
4. ResultSet.CONCUR_READ_ONLY 只读取ResultSet
5. ResultSet.CONCUR_UPDATABLE 用ResultSet更新数据库

对只转发结果集的无效操作 first,布布扣,bubuko.com

对只转发结果集的无效操作 first

标签:style   color   java   使用   io   数据   for   ar   

原文地址:http://www.cnblogs.com/qufanblog/p/3891447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!