Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

解决方案 »

  1.   

    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
    改成:
    stmt = conn.createStatement();
      

  2.   

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

  3.   

    to blackcourser(be stronger……) 和 shuneng() :我代码就是这样写的。to  wandou999(弯豆):同样也是不行,开始我没有指定,就是采用的默认,发现问题后改为: stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);同样也是抛出异常。
      

  4.   

    我也碰到此同样问题,我用的是ORACLE817的JDBC驱动,
    conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    的几个属性都试过,数据操作是单表,表也有主键;
    把JDK换到1.3.1;JDBC驱动换成ORACLE 9i 9.2.0.5;
    故障依然如故!
    500 Servlet Exception
    java.sql.SQLException: 对只读结果集的无效操作: moveToInsertRow
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.driver.BaseResultSet.moveToInsertRow(BaseResultSet.java:628)
      

  5.   

    我好象还没有听说过JDBC2.0的ResultSet可以修改数据库的,
      

  6.   

    莫名其妙的解决,把SQL语句改成如下即可插入数据,至少我这成功通过:
    rs=stmt.executeQuery("select c.* from books c");奇怪的ORACLE!