我要保存jpeg圖像,informix下面使用甚麼類型的字段

解决方案 »

  1.   

    我使用的是blob類型的字段,但是,保存的時候總是提示不合法的?
      

  2.   

    uses jpeg;
    保存Image1中的图象至数据库 :
    var 
      Ms:TmemoryStream;
      jpg:Tjpegimage;
    begin
      ms:=TmemoryStream.Create;
      Jpg.Assign(Image1.Picture.Graphic);
      Jpg.SaveToStream(Ms) ;
      Ms.Position :=0;
      ADOquery1.append;
      TBlobField(ADOquery1.FieldByName('img')).LoadFromStream(Ms);
      ADOquery1.Post;
      Ms.Free ;
      jpg.free;
    end;
    从数据库中读取图象到image2中:
    Var
      Ms:TStringStream;
      jpg:Tjpegimage;
    begin
      Ms:=TstringStream.Create('');
      TBlobField(ADOquery1.FieldByName('img')).SaveToStream(Ms);
      Ms.Position :=0;
      Jpg.LoadFromStream(Ms);
      Image2.Picture.Assign(Jpg);
      Ms.Free;
      jpg.free;
    end;///也许楼主需要,看吧!..  
      

  3.   

    我就是按照上面的方法做的,但是,在保存的時候就說"blob_recv: received and invalid LO,不知道甚麼原因?
      

  4.   

    blob類型,用流的方式读出写入。 参考楼上的。网上现成的代码很多。
      

  5.   

    我不是說了嘛,我的方法是對的,我在sql server 中試過,是可以保存的,但是,在informix中就出錯了.