我的问题是:ACCESS数据库,有一个字段("图像")是用来存储图片(设置为OLE格式).要求的功能是:1)图片写入数据库(需要对应两个按钮通过剪贴板和文件操作)(2)在浏览记录时同步显示图片(或者利用按钮触发显示).
   请给出较为详细的例程,不胜感激.例程可以工作立即给分.

解决方案 »

  1.   

    bang ni ding yi xia!
      

  2.   

    procedure TDriverInfoForm.BitBtn1Click(Sender: TObject);
    var
            ImageField:TField;
            Picture:TPicture;
            
    begin
      inherited;
    if OpenPicDlg.Execute then
    Begin
            with DataSource.DataSet do
            try
              Query.Edit;
              ImageField := FindField('Pic');
              if ImageField <> nil then
              begin
                Picture := TPicture.Create;
                try
                  Query.Edit;
                  Picture.LoadFromFile(OpenPicDlg.FileName);
                  if Picture.Graphic is TBitmap then
                    ImageField.Assign(Picture)
                  else
                  SaveGraphicToBlobField(Picture.Graphic, ImageField);
                finally
                  Picture.Free;
                  end;
              end;
              
            except
            end;
    End;
    end;procedure SaveGraphicToBlobField(AGraphic: TGraphic; AField: TField);
    var
      BlobStream: TStream;
    begin
      if AField is TBlobField then
        with AField as TBlobField do
        begin
          {$IFNDEF DELPHI3}
          BlobStream := TBlobStream.Create(AField as TBlobField, bmWrite);
          {$ELSE}
          BlobStream := DataSet.CreateBlobStream(AField, bmWrite);
          {$ENDIF}
          try
            AGraphic.SaveToStream(BlobStream);
          finally
            BlobStream.Free;
          end;
        end;
    end;
      

  3.   

    显示的话直接用DBImage就可以了。
      

  4.   

    inherited; 去掉。我是在继承窗体中用的。