如何在ACCESS存取JPG图片?
用ADO+insert我打开本地JPG的代码
var
  JPEGImage:TJPEGImage;
begin
opendialog1.Execute;
if opendialog1.FileName<>'' then
jpegimage:=tjpegimage.Create;
try
JPEGImage.LoadFromFile(opendialog1.FileName);
   image1.Picture.Graphic:=jpegimage;
     finally
   JPEGImage.Free;
end;

解决方案 »

  1.   

    ADOQuery.SQL.Text:='insert into table (picturefield [,fieldlist...]) values(:pictureparameter [,valuelist...])';
    ADOQuery.Parameters.ParamByName('pictureparameter').DataType= ftBlob;
    ADOQuery.Parameters.ParamByName('pictureparameter').LoadFromFile(FileName);
    try
       ADOQuery.ExecSQL;
       //图片成功增入数据库
    except
       //新增数据库数据失败
    end;
      

  2.   

    use jpeg
    就可以使用JPG图片了。否则就只能读BMP
       其实有一个很简单的方法存取图象(仅限BMP和JPEG)到数据库字段中,不需要使用流,我初学还不会流。
       这是我的一个例程代码:(winxp+delphi7+access2000中运行正常)unit Unitpic;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DBCtrls, StdCtrls, DB, Grids, DBGrids, ADODB, Mask;type
      TForm1 = class(TForm)
        ADOTable1: TADOTable;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        ADOTable1DSDesigner: TWideStringField;
        ADOTable1DSDesigner2: TWideStringField;
        ADOTable1DSDesigner3: TBlobField;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        DBImage1: TDBImage;
        OpenDialog1: TOpenDialog;
        DBEdit1: TDBEdit;
        DBComboBox1: TDBComboBox;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure DBImage1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
        if not adotable1.Bof then
           adotable1.Prior;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
        if  not adotable1.Eof then
            adotable1.Next;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
        adotable1.Insert;
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
        adotable1.Delete;
        if adotable1.Eof then
        showmessage('没有数据了!');
    end;procedure TForm1.DBImage1Click(Sender: TObject);
    begin
        if opendialog1.Execute then
            begin
                adotable1.Edit;
                 ADOTable1DSDesigner3.LoadFromFile(opendialog1.FileName);
            end;
    end;end.