站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题请大家帮忙CLOB字段更新的疑惑

请大家帮忙CLOB字段更新的疑惑

摘要: 请大家帮忙CLOB字段更新的疑惑


CLOB字段更新的疑惑
简单情况:
Java平台。JDBC Thin驱动。
Clob字段。

目的:

更新CLOB字段的内容。

操作:

记录1Clob字段的内容为“1234567”,我想更新其为“a”。但每次操作完成后读出来的CLOB字段的内容为“a234567”,看来是只更新了原CLOB字段内容中从开始到新字符串长度这一段的内容。

请问各位有没有遇到过类似的问题,是怎么解决的?
strSQL="select content from testclob where id="+id+" for update";
rs=cn.getResultSet(strSQL);
if(rs.next()){
CLOB clob = ((OracleResultSet)rs).getCLOB(1);
clob.setString(1,"更新"+id);
strSQL="update testclob set content=? where id="+id;
System.out.println(strSQL);
cn.setClob(strSQL,1,clob); // col 插入的字段的位置,问号?
}
rs.close();
cn.stmtClose();



.....

public PreparedStatement setClob(String strSQL,int col,CLOB clob){
try{
PreparedStatement pstmt = cn.prepareStatement(strSQL);
pstmt.setClob(col,clob);
pstmt.executeUpdate();
pstmt.close();
}catch(Exception e){
System.out.println("insert clob error!!!"+e);
}
return null;
}


参考一下

http://java.ccidnet.com/art/3737/20030601/467141_1.html


我的写法为什么不对


在获取Clob字段后,应该先清空该字段
然后再更新
缺少一个清空的操作


首先谢谢楼上的朋友,不过你能说的具体些吗,用什么方法进行清空操作呢。


update testclob t set t.content = empty_clob() where ...



↑返回目录
前一篇: 如何从action中传递数组到jsp中! 试了几个都不行,数据量比较大
后一篇: 在ie 6.0.2900版本上,如何设置cookie的可用性?