我在把图象存入到数据库中的IMAGE字段中时,出现 invalid BLOB length  这个错误
我写在
BeforePost事件中
    if Image1.Picture <> nil then
       TBlobField(FieldByName('图片')).LoadFromStream(ms);ms是我把读取的图片写到MS(TMemoryStream)中各位高手开开恩吧,我好急!在线等!

解决方案 »

  1.   


    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;
    //参考一下
      

  2.   

    楼上的兄弟是用ADO,我知道ADO行,但BDE不行呀,就是报invalid BLOB length  错误,哪位仁兄能帮解决呀?