java 存储clob字段

StringclobSql="SELECTnameFROMTestWHEREFID="+paras[2]+"FORUPDATE";ps=ct.prepareStateme... String clobSql = "SELECT name FROM Test WHERE FID="+paras[2]+" FOR UPDATE" ;

ps = ct.prepareStatement(clobSql);

rs = ps.executeQuery();

while (rs.next()) {
/* 取出此CLOB对象 */
oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("name");

clob.putString(1,paras[1]);

String sql1="update Test set name=? where Fid="+paras[2];

PreparedStatement pstmt=ct.prepareStatement(sql1);

pstmt.setClob(1,clob);

pstmt.executeUpdate(); //为什么执行完后,name这个Clob字段为空呢?
展开
 我来答
匿名用户
推荐于2016-02-28
展开全部
不可以使用update Test 语法来更新。

PreparedStatement pstat=conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs1 = pstat.executeQuery();
rs1.moveToInsertRow();
rs1.updateBlob(1, in, file.length() );
rs1.updateInt(2, 1);
rs1.insertRow();
in.close();
rs1.close();
pstat.close();

新增的方法,其实,修改也相似。
追问
您好,这个rs1.updateBlob(1, in, file.length() );这里的in是什么?而且我这里只有rs1.updateBlob(columnIndex, x)个方法。Writer   out = null ;     代码段     out.flush();为什么这个在linux上面不能执行呢?
追答
in 是 FileInputStream,文件流.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式