今天调用DbUtil类直接操作数据库,取得ResultSet,想判断其是否为空(sql中有exists判断有无相关记录),结果出现异常:
[ERROR] 2009-03-19 11:04:44 [http-8080-1] com.utils.DbUtil.executeSql(DbUtil.java:57)
java.sql.SQLException: 对只转发结果集的无效操作: first
java.sql.SQLException: 对只转发结果集的无效操作: first
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.BaseResultSet.first(BaseResultSet.java:74)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.first(NewProxyResultSet.java:3420)
at com.utils.DbUtil.executeSql(DbUtil.java:53)
分析及解决:
在Statement建立时
stmt = conn.createStatement();
使用的是默认参数(结果集类型为ResultSet.TYPE_FORWARD_ONLY),这种类型的结果集只能通过rs.next();方法逐条读取,使用其他读取方法时就会报错。如果需要执行一些其他或复杂的移动结果集指针的操作就要使用其它参数。
如,更改如下,可解决:
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
各参数介绍:
引用
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-child`只选择每个`ul`的第一个子元素,如果这个子元素是`li`,就像`John`那样,否则不匹配。因此,`$("ul li:first-child")`只会返回`John`。而`$('li:first')`会匹配所有`ul`列表中的第一个`li`元素,所以...
在CSS(层叠样式表)中,`:first-child`伪类选择器是一个非常有用的工具,它允许我们选择并应用样式给父元素下的第一个子元素。然而,在实际使用中,可能会出现一些误解,导致预期效果与实际效果有所偏差。本文将...
在网页设计和开发中,IE6(Internet Explorer 6)作为一个较旧的浏览器版本,存在很多兼容性问题,其中就包括对CSS伪对象`:first-letter`和`:first-line`的不支持。这两个伪对象在现代浏览器中是常用的设计工具,...
在jQuery中,`:first-child`选择器是一种非常实用的定位元素的方法,它允许开发者精确地选取父元素下的第一个子元素。这个选择器是基于CSS选择器标准,因此不仅在jQuery中,也在纯CSS中同样可用。`:first-child`选择...
操作系统进程调度算法
#### 四、IPv6 First-Hop 安全特性 - **概念介绍**:报告中提及的“第一跳”指的是数据包从源端点发送到目的端点过程中经过的第一个路由器。 - **安全特性**: - RA-guard(Router Advertisement Guard):用来阻止...
Patterns: Model-Driven Development Using IBM Rational Software Architect First Edition (December 2005) This edition applies to Version 6.0.0.1 of Rational Software Architect (product number 5724-I70).
操作系统之内存管理算法
a-first-course-in-database-systems-3rd-edition 数据库系统基础教程(原书第3版) 基本信息 原书名: First Course in Database Systems, A (3rd Edition) 原出版社: Prentice Hall 作者: (美)Jeffrey D. Ullman ...
百度Apollo - Safety First For Automated Driving:2019 - 完整英文电子版(157
在这个项目中,我们关注的是三种经典的分区分配策略:First-Fit、Next-Fit和Worse-Fit。这些算法都是为了在有限的内存资源中尽可能优化内存的利用率。 First-Fit(首次适应算法): First-Fit是最简单的分区分配...
### CSS3的first-child选择器实战攻略知识点总结 #### 1. first-child与:first-of-child的区别 - **first-child选择器**:该选择器用于选择父元素中的第一个子元素。不论该子元素的类型是什么,只要它是第一个即可...
在上面的代码中,我们使用了 p 元素的 ::first-letter 伪元素,并将其 float 设置为 left,使其浮动在左侧。然后,我们将 font-size 设置为 5em,使其字体变大。同时,我们还将 font-weight 设置为 bold,使其字体变...
Call the cross-build.cmd batch file suppling the version of Visual Studio as the first parameter. See the contents of the cross-build.cmd file for all possibilities. This will build the Visual ...
:first-letter ::first-line 与内容相关的伪“元素” ::before ::after 基于位置/数字的伪类选择器 去做 很可能我们必须在这些选择器中使用React.Children方法和Array.prototype方法 :first-child :last-child :...