插入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);
			}