如何用啊ADO来保存JPG格式的图片,然后用ADO在从数据库中把JPG格式图片读出来。

解决方案 »

  1.   

    TBOLBFIELD(adodataset.fieldbyname['pic']).loadfrom(picstream)
    TBOLBFIELD(adodataset.fieldbyname['pic']).saveto(picstream)
      

  2.   


                   Tblobfield(adoquery1.FieldByName('zp')).Assign(image1.Picture );
                   adoquery1.Post ;
      

  3.   

    读取!!!!!      
       
    Image1.Picture.Bitmap.Assign(TBLOBField(adoquery1.Fields[0]));
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      JPGImg: TJPEGImage;
      ADOData: TADOBlobStream;
    begin
      ADOQuery1.Open;
      ADOQuery1.Edit;
      //ADOQuery1.FieldValues['ID'] := '2';
      JPGImg := TJPEGImage.Create;
      ADOData := TADOBlobStream.Create(TBlobField(ADOQuery1.FieldByName('PicID')), bmWrite);
      try
        JPGImg.Assign(Image1.Picture.Bitmap);
        JpgImg.SaveToStream(ADOData);
      finally
        JPgImg.Free;
        ADOData.Free;
      end;
      ADOQuery1.Post;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      BS : TStream;
      aStream: TADOBlobStream;
      pic : TJPEGImage;
    begin
      ADOQuery2.Open;
      ADOQuery2.First;
      BS := ADOQuery1.CreateBlobStream(ADOQuery2.FieldByName('PicID'), bmRead);
      if not ADOQuery2.FieldByName('PicID').IsNull then
      begin
        aStream := TADOBlobStream.Create(TBlobField(ADOQuery2.FieldByName('PicID')), bmRead);
        pic := TJPEGImage.Create;
        try
          pic.LoadFromStream(aStream);
          Image2.Picture.Assign(pic);
        finally
          pic.Free;
        end;
      end
      else
      begin
        ShowMessage('fdsa');
        Image2.Picture.Assign(nil);
      end;
    end;