【【 老大们,你们说得关于 Clob 字段的写入方法不对啊 :( 】】
conn.setAutoCommit(false); //*
String sql = "insert into test (id,content) values(1, EMPTY_CLOB())";
stmt.executeUpdate(sql);
conn.commit(); //*
sql = "select content from test where id=1 for update";
rs = stmt.executeQuery(sql);
if (rs.next()) {
CLOB clob = ((OracleResultSet)rs).getCLOB(1);
clob.putString(1, "WWWWWWWWWWWWWW");
sql = "update test set content=? where id=1" ;
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setClob(1,clob); //********* 报错行
pstmt.executeUpdate();
pstmt.close();
}
rs.close();
这是我在这里看到的大家提供的代码,有问题啊,pstmt.setClob(1,clob); 有错,因为 pstmt.setClob(1,clob) 的 setClob()方法的参数类型为(int,java.sql.Clob),而上面我们得到的 clob 是 oracle.sql.CLOB 类型的,哪位朋友帮忙提供一下解决方法吧,小弟刚刚开始学习,很多地方不是很懂,多谢各位指教了 。。。。。。鞠躬 :)