插入CLOB¶
创建完Clob对象,如何将这个Clob对象插入到表中去呢?比如存在表TEST_CLOB,它有两个字段,第一个为ID(INT),第二个为FILE(CLOB),括号内为该字段的数据类型。我们可以有两种方法可以使用。
方法一:
/*
* 先将创建的Connection对象con转化为OscarJdbc2Connection类型,
* 然后调用OscarJdbc2Connection中的createClob()方法
*/
Clob clob = ( (OscarJdbc2Connection) con).createClob();
/*插入数据方法一*/
sql = " INSERT INTO TEST_CLOB VALUES(?,?)";
//创建PreparedStatement对象用来插入数据
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(1,1);
pstmt.setClob(2,clob);
//执行,插入到表中
pstmt.execute();
//然后可以操作Clob对象往里面插入数据
String value="abcdefg";
clob.setString(1,value);
方法二:
/*插入数据方法二*/
//empty_clob()将在插入的记录中放入一个空的大对象
sql ="INSERT INTO TEST_CLOB VALUES(2,EMPTY_CLOB())";
//插入一条记录,stmt是已经创建了的Statement对象
stmt.executeUpdate(sql);
//然后可以将那个Clob大对象取出来,往里面插入数据
sql = "SELECT * FROM TEST_CLOB WHERE ID = 2";
ResultSet rs = stmt.executeQuery(sql);
//取得Clob对象clob,接着就可以处理里面的数据了
while(rs.next()){
clob = rs.getClob("FILE");
clob.setString(1,value);
}