晕倒,刚学jsp帮不上啊,帮你找个人看看

解决方案 »

  1.   

    好的,热心人 :)  我的代码如下:<%
    Class.forName("oracle.jdbc.driver.OracleDriver");
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    String url="jdbc:oracle:thin:@192.168.0.1:1521:test";
    Connection conn=DriverManager.getConnection(url,"test","test");
    Statement stmt = conn.createStatement();
    ResultSet rs = null;    conn.setAutoCommit(false);    //*
        String sql = "insert into test2 values(1, empty_clob())";
        stmt.executeUpdate(sql);
        
        conn.commit();            //*
        sql = "select content from test2 where id=1 for update";
        rs = stmt.executeQuery(sql);

        if (rs.next()) {
            CLOB clob = ((OracleResultSet)rs).getCLOB(1);
    clob.putString(1, "5564656456546546546456");
    out.println(clob);
            sql = "update test2 set content=? where id=1" ;
            PreparedStatement pstmt  = conn.prepareStatement(sql); pstmt.setClob(1,clob); //********这里有错误 pstmt.executeUpdate();
    pstmt.close();
        }
    rs.close();
    %>异常错误如下:C:\Tomcat\work\Standalone\localhost\_\test_jsp.java:114: setClob(int,java.sql.Clob) in java.sql.PreparedStatement cannot be applied to (int,oracle.sql.CLOB)
    pstmt.setClob(1,clob);
                         
    我这样做也不对:pstmt.setClob(1,(java.sql.Clob)clob);
    高手请指教 :) :) 多谢多谢
      

  2.   

    Statement stmt = conn.createStatement();
    把上面的改为
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);加两个参数就可以把记录集返回给数据库了!
      

  3.   

    多谢了 :)
    可是 .... 修改成你说得那样了,还是不对,错误信息没变,关键是 java.sql.PreparedStatement  的参数类型不对,你说的那个是修改记录集的指针属性的啊,再帮我想想 ...... :)