如何调用access中存储的图片字段,比如说在access中存有学号,姓名,图片字段如果我
查询学号结果马上图片字段(不要用打开对话窗口),最好能给个小例子。
查询学号结果马上图片字段(不要用打开对话窗口),最好能给个小例子。
解决方案 »
- treeview 显示数据表结构
- 重构delphi项目
- array [0..7]of char 和string有什么区别,string 可以用的函数char数组是否可用
- 关于TStringStream的问题
- 关于打印的问题PrinterDialog,请帮忙,谢谢!急!
- delphi问题,急!
- DbGrid的问题 关于DbGrid的列的宽度的问题?
- 大哥,能否一条语句求出三个表中某字段的最大值/最小值.
- copy 文件的命令是什么?
- 关于获取数据库时间的问题!
- 请教高手:怎么用DELPHI代码自动修改paradox表中的某个字段属性?20变40长度?
- 怎样知道SQL server 2000的服务管理器是否正在运行?
aQuery.Open;
TblobField(aQuery.fieldbyname('fileData')).SaveToFile(
aQuery.fieldbyname('fileName').asString);
image1.Picture.LoadFromFile(fileName) ; //使用文件名字段可以不用区别Bmp,Jpg类型
image1.Height := image1.Picture.Graphic.Height ; //image1最好放在ScrollBox里
image1.Width := image1.Picture.Graphic.Width ;
给一个例子你参考!
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, ExtDlgs, ExtCtrls;type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
DataSource1: TDataSource;
Table1: TTable;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit4: TEdit;
Label3: TLabel;
Label4: TLabel;
Image1: TImage;
Button2: TButton;
OpenPictureDialog1: TOpenPictureDialog;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
table1.Active:= true;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
if OpenPictureDialog1.execute then
image1.picture.loadfromfile(OpenPictureDialog1.filename);
end;procedure TForm1.Button1Click(Sender: TObject);
var
bmp: TBitmap;
begin
bmp:=TBitmap.Create;
bmp.Assign(Image1.Picture.Bitmap);
table1.Append;
table1.fieldbyname('name').asstring:=edit1.text;
table1.fieldbyname('telephone').asstring:=edit2.text;
table1.fieldbyname('address').asstring:=(edit3.text);
table1.fieldbyname('zip').asstring:=(edit4.text);
table1.fields[4].assign(bmp);
table1.post;
bmp.free;
end;end.
有问题请发信息到我的E-mail:[email protected]
procedure TForm1.SavePicture;
var
MyJPEG : TJPEGImage;
MS: TMemoryStream;
begin
MS:=TMemoryStream.Create;
MyJPEG:=TJPEGImage.Create;
try
MyJPEG.Assign(DBImage1.Picture.Graphic);
MS:=TMemoryStream.Create;
MyJPEG.SaveToStream(MS);
MS.Position:=0;
TBlobField(ADOQuery1.FieldByName('pic')).LoadFromStream(MS);
finally
MS.Free;
MyJPEG.Free;
end;
end;procedure TForm1.LoadPicture;
var
MyJPEG : TJPEGImage;
MS: TMemoryStream;
begin
MS:=TMemoryStream.Create;
MyJPEG:=TJPEGImage.Create;
ADOQuery1.Open;
try
TBlobField(ADOQuery1.FieldByName('pic')).SaveToStream(MS);
MS.Position:=0;
MyJPEG.LoadFromStream(MS);
DBImage1.Picture.Bitmap.Assign(MyJPEG);
finally
MS.Free;
MyJPEG.Free;
end;
end;如果是在Access里插入的图片会有些问题,Access自己在数据前面加了一些信息。
对JPG和BMP图片都适用。