public static boolean addNewsPic()
       {
         Connection co=null;
         java.sql.PreparedStatement st=null;
         ResultSet rs=null;
         boolean bool=false;
         try{               co=DB.DBCtl.Connect();              String sql="insert into te (id,data) values('1',empty_blob())";              co.setAutoCommit(false);
              DB.DBCtl.outPutLog(sql);
              st=co.prepareStatement(sql);              st.executeUpdate();               rs = st.executeQuery("select data from  te where id=1 for update");             if(rs.next())
              {                  oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("data");                  BufferedOutputStream  out  =  new  BufferedOutputStream(blob.getBinaryOutputStream());
                   out.write("abc".getBytes());
                   out.close();              }               co.commit();
               bool=true;
         }catch(Exception e){DB.DBCtl.outPutLog(e);}
         finally{DB.DBCtl.closeConnection(co,st,rs);}
         return bool;
     }
  public static boolean addNewsPic()
       {
         Connection co=null;
         java.sql.PreparedStatement st=null;
         ResultSet rs=null;
         boolean bool=false;
         try{               co=DB.DBCtl.Connect();              String sql="insert into te (id,data) values(?,?)";              co.setAutoCommit(false);
              DB.DBCtl.outPutLog(sql);              st=co.prepareStatement(sql);
              st.setInt(1,1);
              st.setString(2,"empty_blob()");
              st.executeUpdate();               rs = st.executeQuery("select data from  te where id=1 for update");             if(rs.next())
              {                  oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("data");                  BufferedOutputStream  out  =  new  BufferedOutputStream(blob.getBinaryOutputStream());
                   out.write("abc".getBytes());
                   out.close();              }               co.commit();
               bool=true;
         }catch(Exception e){DB.DBCtl.outPutLog(e);}
         finally{DB.DBCtl.closeConnection(co,st,rs);}
         return bool;
     }
第一种写法是可以的,第二种写法红色字体那句报错:java.sql.SQLException: ORA-01465: 无效的十六进制数字
应该怎么写才对?