1. clob字段的插入
clob類型的數據直接insert可能會因為字符過長而出錯,所以要用對象形式插入.
示例:
首先,創建一個含clob字段的表:
create table test (id integer, content clob);
然后插入空值
string strsql = “insert into test(id,content) values(‘0001’,?) ”;
con.setautocommit(false); //conn為connection對象
//創建并實例化一個clob對象
clob clob = new clob((oracleconnection)con);
clob = oracle.sql.clob.createtemporary((oracleconnection)con,true,1);
//對clob對象賦值
clob.putstring(1,formatesinglequotes(content));
oracleconnection ocon = (oracleconnection)con;
oraclepreparedstatement pstmt = (oraclepreparedstatement)ocon.preparecall(strsql);
pstmt.setclob(1,clob);
int i = pstmt.executeupdate();
pstmt.close();
ocon.commit();
ocon = null;
con = null;
boolean flag = true;
if(i <=0)
{
flag = false;
}
if (flag == true)
{
out.print( "<script>alert('成功保存!'); </script>");
}
else
{
out.print( "<script>alert('保存數據時出錯,請檢查你輸入的數據格式是否符合要求');self.history.back ();</script>");
}
注意:
一定不要忘記引入包:import oracle.sql.*,oracle.jdbc.driver.*
2. clob類型的修改
對clob字段的修改除了sql語句外其他和插入相同
string strsql = “update test set content=? where id=’0001’ ”;
con.setautocommit(false); //conn為connection對象
//創建并實例化一個clob對象
clob clob = new clob((oracleconnection)con);
clob = oracle.sql.clob.createtemporary((oracleconnection)con,true,1);
//對clob對象賦值
clob.putstring(1,formatesinglequotes(content));
oracleconnection ocon = (oracleconnection)con;
oraclepreparedstatement pstmt = (oraclepreparedstatement)ocon.preparecall(strsql);
pstmt.setclob(1,clob);
int i = pstmt.executeupdate();
pstmt.close();
ocon.commit();
ocon = null;
con = null;
boolean flag = true;
if(i <=0)
{
flag = false;
}
if (flag == true)
{
out.print( "<script>alert('成功保存!'); </script>");
}
else
{
out.print( "<script>alert('保存數據時出錯,請檢查你輸入的數據格式是否符合要求');self.history.back ();</script>");
}
新聞熱點
疑難解答