将textarea中的内容插入到数据库中clob的字段,出现错误。
package com.sinosoft;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.sql.CLOB;
public class insertEmptyClob {
getConnection g = new getConnection();
Connection connection = g.getconn();
public int insert(String id) throws Exception {
System.out.println(id);
Statement statement = null;
int intResult = -1;
try {
// 创建数据库操作语句
statement = connection.createStatement();
// 定义SQL语句
String strSQL = "INSERT INTO TEST(ID,CONTENTS) VALUES(" + id
+ ",EMPTY_CLOB())";
// 执行SQL语句
System.out.println(strSQL);
intResult = statement.executeUpdate(strSQL);
System.out.println(" intResult valus is" + intResult);
return intResult;
} catch (Exception e) {
e.printStackTrace();
return -1;
} finally {
if (statement != null) {
statement.close();
return -1;
}
}
}
public void insertClob(String id,String fileName,String strContents){
Statement statement = null;
System.out.println(strContents+"999999999");
System.out.println(a+"======-=-=-=");
ResultSet resultset = null;
try {
// 设置不自动提交
connection.setAutoCommit(false);
// 创建数据库操作语句
statement = connection.createStatement();
// 定义SQL语句
String sql ="SELECT CONTENTS FROM TEST WHERE ID="+id;
System.out.println(sql+"==============");
resultset = statement.executeQuery(sql);
System.out.println(resultset);
oracle.sql.CLOB contents = null;
// 取出CLOB对象
while(resultset.next()){
contents = (oracle.sql.CLOB)resultset.getClob(fileName);
System.out.println(contents+"为什么呢");
BufferedWriter out = new BufferedWriter(contents.getCharacterOutputStream());
BufferedReader in = new BufferedReader(new FileReader(strContents));
System.out.println("9956565");
int c;
while ((c=in.read())!=-1) {
out.write(c);
}
in.close();
out.close();
connection.commit();
// 数据库提交
}
connection.commit();
}
catch (Exception e) {
System.out.println("出错误了"+e.getMessage());
} finally {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
数据库中的test表,有id和contents两个字段,contents字段为clob类型的。
执行后总出现“(文件名、目录名或卷标语法不正确。)”错误。 哪位大侠能指教下,感激不尽