大家可不可以给个方法。。

解决方案 »

  1.   

    如何在ACCESS数据中存取并显示及删除图片
      

  2.   

    用流的方式把图片写入数据库。用TBLOBFIELD(字段名).loadformstream
    sqlserver 是这样用的。ACCESS就不知道了
      

  3.   

    var
       mstream : TMemoryStream;
    begin
       mstream := Tmemorystream.create();
       image1.picture.bitmap.savetostream(mstream);
       TBLobField(query.fieldbyname('...')).loadfromstream(mstream);
       mstream.free ;
    end;
      

  4.   

    上层楼主,请问我用TBLobField时需要声明或者调用哪个单元函数?我现在需要把IMAGE1控件里边图片存入数据表中的某个字段,然后要查询时再可以显示到IMAGE1控件里边,能给实例吗?谢谢
      

  5.   

    我觉得还是存路径比较好,显示图片的时候在调库中的路径就可以了
    我的是SQL SERVER 2000的
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Jpeg, Buttons, StdCtrls, Mask, DBCtrls, DB, ADODB, Grids, DBGrids,
      ExtCtrls;type
      TForm1 = class(TForm)
        ADOConnection1: TADOConnection;
        DBGrid1: TDBGrid;
        ADOQuery1: TADOQuery;
        ADOQuery2: TADOQuery;
        DataSource1: TDataSource;
        DataSource2: TDataSource;
        DBEdit1: TDBEdit;
        DBEdit2: TDBEdit;
        SpeedButton1: TSpeedButton;
        Image1: TImage;
        Open1: TOpenDialog;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Label1: TLabel;
        procedure SpeedButton1Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure datasource1datachange(Sender: TObject; Field: TField);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    //显示有保存的图片
    procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
    open1.Execute;
    if open1.FileName <> '' then
    begin
      dbedit2.Text:=open1.FileName;     //保存图片的路径
      image1.Picture.LoadFromFile(open1.FileName);   //显示图片
    end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    adoquery1.Append;   //添加
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
    adoquery1.Post;    //保存
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
    adoquery1.Delete;    //删除
    end;//读取数据库中的所在路径的图片
    procedure TForm1.datasource1datachange(Sender: TObject; Field: TField);
    begin
    if adoquery1.State in [dsinsert] then
    label1.Caption:='1'
    else
    image1.Picture.LoadFromFile(trim(adoquery1.FieldValues['pimage']));
    label1.Caption:='';
    end;end.