Blob 内容为串时 :insert 可以直接用insert 语句实现
那 select ???

解决方案 »

  1.   

    Blob b=result.getBlob("bb");java.lang.NullPointerException
    at _jsp._db._db1__jsp._jspService(_db1__jsp.java, Compiled Code)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:89)
    at com.caucho.jsp.JavaPage.subservice(JavaPage.java:83)
    at com.caucho.jsp.Page.service(Page.java:334)
    at com.caucho.server.http.Invocation.service(Invocation.java, Compiled Code)
    at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java, Compiled Code)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java, Compiled Code)
    at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java, Compiled Code)
    at com.caucho.server.TcpConnection.run(TcpConnection.java, Compiled Code)
    at java.lang.Thread.run(Thread.java:479)------------
    b=(Blob) (result.getObject("bb"));java.lang.ClassCastException
    at _jsp._db._db1__jsp._jspService(_db1__jsp.java, Compiled Code)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:89)
    at com.caucho.jsp.JavaPage.subservice(JavaPage.java:83)
    at com.caucho.jsp.Page.service(Page.java:334)
    at com.caucho.server.http.Invocation.service(Invocation.java, Compiled Code)
    at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:201)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java, Compiled Code)
    at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java, Compiled Code)
    at com.caucho.server.TcpConnection.run(TcpConnection.java, Compiled Code)
    at java.lang.Thread.run(Thread.java:479)
      

  2.   

    String  sSql  =  "INSERT  INTO  test(content)  VALUES(?)";
      
    stmt  =  conn.prepareStatement(sSql);
      
    String  content="你的内容";
      
    byte[]  pic  =  content.getBytes();
        
    InputStreamReader  bais  =  new  InputStreamReader(new  ByteArrayInputStream(pic));
      
    stmt.setCharacterStream(1,  bais,  pic.length);
      
    stmt.execute();
      

  3.   

    Blob 内容为串时 :insert 可以直接用insert 语句实现
    那 select 怎么做???在我的第二个回复中,我写了 两个方法,但都提示错误!请高手指点!!!
      

  4.   

    从数据库中取出blob字段???里面存的是个长串,
    我用Blob b=result.getBlob("bb");
    b=(Blob) (result.getObject("bb"));
    都 不 可 以 ??? 错误提示见此页的第二个回复中5~~~~~~~~~~~~5~~~~~~~~~~~~~~`
      

  5.   

    StatQueryBean query = new StatQueryBean();
    query.setEnterpriseCode("sygs");
    query.setBeginDate("2001/01/01"); ByteArrayOutputStream output = new ByteArrayOutputStream();
    ObjectOutput out = new ObjectOutputStream(output);
    out.writeObject(query);
    byte[] by = output.toByteArray();
    try{
    Pre pre = new Pre();
    String sql = "insert into xl_test values(?,?)";
    pre.setPreStmt(sql);
    pre.setBytes(1,by);
    pre.setObject(2,"");
    pre.update(); pre = new Pre();
    sql = "select * from xl_test";
    pre.setPreStmt(sql);
    ResultSet rs = pre.searchForRs();
    rs.next();
    Blob blob = rs.getBlob(1);
    InputStream input = blob.getBinaryStream();
    ObjectInputStream in = new ObjectInputStream(input);
    StatQueryBean query1 = (StatQueryBean)in.readObject();
    pre.closePreStmt();
    }catch(Exception e){
    e.printStackTrace();
    }
      

  6.   

    我的数据库为mysql 我今天改用mm.mysql.jdbc-2.0pre5
    用b=result.getBlob("bb");
    提示为
    org.gjt.mm.mysql.jdbc2.NotImplemented
    at org.gjt.mm.mysql.jdbc2.ResultSet.getBlob(ResultSet.java:2084)
    at _jsp._db._db1__jsp._jspService(_db1__jsp.java, Compiled Code)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:89)
    at com.caucho.jsp.JavaPage.subservice(JavaPage.java:83)
    at com.caucho.jsp.Page.service(Page.java:334)
    at com.caucho.server.http.Invocation.service(Invocation.java, Compiled Code)
    at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:201)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:217)
    at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java, Compiled Code)
    at com.caucho.server.TcpConnection.run(TcpConnection.java, Compiled Code)
    at java.lang.Thread.run(Thread.java:479)----------------------
    用b=(Blob) result.getObject("bb");
    提示和以前一样,造型错误不知是不是mm.........
    它不支持???
      

  7.   

    我在oracle上用过getBlob(),没有问题啊。
      

  8.   

    取的时候应该这样:
    InputStream inStream = rs.getBinaryStream("x");
      

  9.   

    rush2001() 非常感谢!
    这回没错了,但是取InputStream 却出错
    不知有什么好的方法把它取成串
    我用的是
     InputStream inStream = result.getBinaryStream(2);
      byte[] byte_array=null;
      inStream.read(byte_array);//出错
      

  10.   

    这样当然错啦,用
    byte[] byte_array = new byte[instream.available()]试试