您的位置:首页 > 其它

只进ResultSet 不支持请求的操作和不支持此游标类型/并发组合

2016-05-13 09:39 309 查看
使用jdbc操作时 跑出异常  只进ResultSet 不支持请求的操作

那肯定是你 在使用resultset的游标操作 机调用 resultSet.first ()  resultSet.last等等时

你要做的时就是设置可以使用游标操作 就是设置滚动操作

如果是statement

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE );

 
TYPE_SCROLL_SENSITIVE


          该常量指示可滚动并且通常受
ResultSet
底层数据更改影响的
ResultSet
对象的类型。

CONCUR_UPDATABLE


          该常量指示可以更新的
ResultSet
对象的并发模式。

若果是prepareStatement

connection.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
接着出现 不支持此游标类型/并发组合

因为
con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
导致了冲突。

INSENSITIVE
定义一个游标,以创建将由该游标使用的数据的临时复本。对游标的所有请求都从 tempdb 中的这一临时表中得到应答;因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。使用 SQL-92 语法时,如果省略 INSENSITIVE,则已提交的(任何用户)对基础表的删除和更新都反映在后面的提取中。

也就是
ResultSet.TYPE_SCROLL_INSENSITIVE   要求是 只读的。

但是后面的
ResultSet.CONCUR_UPDATABLE  又要求 可更新。

所以导致这个 冲突的问题。

把 ResultSet.CONCUR_UPDATABLE
修改为   ResultSet.CONCUR_READ_ONLY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: