数据库的图片显示问题.(100分)

  • 主题发起人 主题发起人 netriones
  • 开始时间 开始时间
N

netriones

Unregistered / Unconfirmed
GUEST, unregistred user!
我们学校正在做一个数学测验软件.要求数据库能贮存数学公式和图片.请问有什么解决方案吗?
(主要问题是:能从数据库存储图片和提取图片.)
 
1、你可以用Stream来存取图片

2、你再参考这个
var myfilestream:tfilestream;
myblob:tblobfield;
begin
adoquery1.edit;
myfilestream:=tfilestream.Create('路径+文件名.bmp',fmopenread);
myblob:=tblobfield(adoquery1.FieldByName('Photo'));
myblob.LoadFromStream(myfilestream);
myfilestream.Free;
adoquery1.Post;
end;
 
请问用哪个控件呢?
 
我有一个程序中也用到这个功能,你看看行不行:
//选择位图,写入数据库
procedure Tdriverinfform.SpeedButton1Click(Sender: TObject);
var
bmp:tbitmap;
begin
if driverinfform.OpenpictureDialog1.Execute then
begin
bmp:=tbitmap.Create;
try
try
bmp.LoadFromFile(driverinfform.OpenpictureDialog1.FileName);
driverinfform.Table1.Edit;
driverinfform.Table1.FieldByName('照片').Assign(bmp);
driverinfform.Table1.Post;
except
on einvalidgraphic do application.MessageBox('错误的位图文件[.bmp]!','通知');
end;
finally
bmp.Free;
end;
end;
end;
//从数据库读出并保存为位图文件
procedure Tdriverinfform.SpeedButton2Click(Sender: TObject);
var
bmp:tbitmap;
begin
if driverinfform.saveDialog1.Execute then
begin
bmp:=tbitmap.Create;
try
bmp.Assign(driverinfform.Table1.FieldByName('照片'));
bmp.savetoFile(driverinfform.saveDialog1.FileName);
finally
bmp.Free;
end;
end;
end;
 
谢谢大家
 
后退
顶部