62,623
社区成员
发帖
与我相关
我的任务
分享public void blobWrite(String tablename, long rowid, byte[] mycontent ){
try{
String newid=java.lang.String.valueOf(rowid);
String content = new String();
//
System.out.println("开始将数据写入到blob列中");
conn.setAutoCommit(false);
//前提是插入成功,id 唯一,且存在 ID字段
String sql2 = "select xm,xp from "+tablename+" where id="+newid+" for update";
System.out.println(sql2);
Statement st = conn.createStatement();
ResultSet rs=st.executeQuery(sql2);
if(rs.next()){
System.out.println(rs.getString("xm"));
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("xp");
OutputStream outStream = blob.getBinaryOutputStream();
outStream.write(mycontent);
outStream.flush();
outStream.close();
conn.commit();
rs.close();
st.close();
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("xp");这句中的blob是空值,可是我现在就是要去往xp字段里存东西,要是blob为空的话这两句保存数据的就没法运行了(报空指针异常)OutputStream outStream = blob.getBinaryOutputStream();
outStream.write(mycontent);