如何在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;
用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;
ADOQuery.Parameters.ParamByName('pictureparameter').DataType= ftBlob;
ADOQuery.Parameters.ParamByName('pictureparameter').LoadFromFile(FileName);
try
ADOQuery.ExecSQL;
//图片成功增入数据库
except
//新增数据库数据失败
end;
就可以使用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.