Connection cnn=.......;

PreparedStatement ps=cnn.prepareStatement("select * from test",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=ps.executeQuery();
while (rs.next()){
rs.updateString(1,"xyz");
rs.updateRow();
}
// cnn.commit();
cnn.close();结果运行的时候报错不能对只读记录集进行更新,这是为何?

解决方案 »

  1.   

    我记得ORACLE 的JDBC连接不支持可以更新的记录集.最好用UPDATE语句.没有环境,可能引起误导.
      

  2.   

    我搜索了一个以前的贴子,也遇到了这个问题,最好也没说个所以然来。这难道就是oracle驱动的问题吗
      

  3.   

    jdbc2.0中对可更新的记录集作了一个限制,就是不能用select * 进行选取操作,必须将*号代替成指定的列或表名.列的形式。否则就会丢出java.sql.SQLException: Invalid operation for forward only resultset