先用preparestatement 对象插入(
这时一定要设定connection对象的autocommit为false,即
conn.setautocommit(false);
),语句这样写:
string sql = "insert into flower_news (flower_news_id,news_content,news_author) values (flower_news_id_s.nextval,empty_clob(),?)";
这里news_content字段为clob值。
然后再用select news_content from folwer_news where ….取出刚才插入的那条记录。
再看下面的代码:
rs = st.executequery(sql);
java.sql.clob clob ;
if (rs.next()) {
clob = ((oracleresultset)rs).getclob(1);
oracle.sql.clob my_clob = (oracle.sql.clob)clob;
outputstream writer = my_clob.getasciioutputstream();
byte[] contentstr = this.getcontent().getbytes();
writer.write(contentstr);
writer.flush();
writer.close();
}
conn.commit();//到最后才提交
其中这个方法我是取到要插入的字符串
你看看吧,照这样做是没有问题的
在整个过程中你都不能提交,否则是不会成功的
