用stmt.executeUpdate("select * from "+this.tableName+" for update");

解决方案 »

  1.   

    airlulu
    Statement类的executeUpdate方法返回值是long不是ResultSet
      

  2.   

    不会吧!
    你的RESULSET不可以使用RS.UPDATEXXX()的方法吗!?
    不要使用你的那句SQL,可以使用一个简单的查询试试看!应该可以的!
      

  3.   

    airlulu(airlulu)
    executeUpdate()只能执行insert,update,delete等sql语句
    再说它的返回值是一个long型,不是 ResultSet
      

  4.   

    用stmt.executeUpdate("select "+Field1...Fieldn+" from "+this.tableName+" for update");
      

  5.   

    pengji(彭乃超)
    就是不能执行updateXXX
      

  6.   

    错误如下
    java.sql.SQLException :对只读结果级的无效操作 updateString;
      

  7.   

    http://otn.oracle.com/tech/java/sqlj_jdbc/content.html
      

  8.   

    JDBC - Technical White Papers 
    --JDBC FAQ 
    --JDBC 2.0 Features
    --JDBC Compatability Paper
      

  9.   

    jew(木鱼) 
    还是没有发现问题的原因
      

  10.   

    你的
    Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                                 ResultSet.CONCUR_UPDATABLE);
    ResultSet rs=stmt.executeQuery("select * from "+this.tableName+" for update");
    的作用是
    create a scrollbale result set that is updatable and sensitive to updates.
    我怀疑你的数据库是否被设为只读。
      

  11.   

    去看看你的DB2的JDBC帮助吧!看看它是不是JDBC2.0兼容的!
      

  12.   

    classes12.zip不支持JDBC2.0中的
    Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,                      ResultSet.CONCUR_UPDATABLE);下的updateString()操作。
      

  13.   

    下载最新的driver或用PreparedStatement吧。
      

  14.   

    应该不是数据库的问题
    可以执行INSERT语句
      

  15.   

    to mote_li(无底洞):
    我试了是可以的
    classes12.zip或classes12.jar
    但是不知道你的"for update"是干什么用的(对SQL不是很懂)
    我加上即出错
    去掉就成功
    --- ZJQ