各位大侠我在练习编制一个员工管理的小程序,员工资料中的个人图片允许存有两种格式的图片(jpg,bitmap), 当查询到员工资料时其相应的图片就显示在dbimage中,程序编译通过,但是生成project运行时存在如下问题:
若显示bitmap图片时系统提示 bitmap image is not valid
若显示jpg图片时,系统显示正常
请问各位大侠这个问题如何解决?小虾相关的源程序如下:
//查询员工
with datamoduleado.adoquery1 do
begin
sql.clear;
sql.add('select * from 工号表 where 工号=:工号');
parameters.ParamByName('工号').Value :=edit4.Text ;
open;
dbimage1.Picture.Graphic :=nil;
if datamoduleado.adoquery1.FieldByName('照片属性').Value =1 then
// (该员工的图片为)bitmap
dbimage1.Picture.Bitmap.Assign(datamoduleado.adoquery1.fieldbyname('照片')) ;
else if datamoduleado.adoquery1.FieldByName('照片属性').Value =0 //jpge;
then
begin
jpeg:=tjpegimage.Create ;
try
jpeg.Assign(datamoduleado.adoquery1.FieldByName('照片') );
dbimage1.Picture.Graphic:=jpeg;
finally
jpeg.Free ;
end;
end;
close;
end;
若显示bitmap图片时系统提示 bitmap image is not valid
若显示jpg图片时,系统显示正常
请问各位大侠这个问题如何解决?小虾相关的源程序如下:
//查询员工
with datamoduleado.adoquery1 do
begin
sql.clear;
sql.add('select * from 工号表 where 工号=:工号');
parameters.ParamByName('工号').Value :=edit4.Text ;
open;
dbimage1.Picture.Graphic :=nil;
if datamoduleado.adoquery1.FieldByName('照片属性').Value =1 then
// (该员工的图片为)bitmap
dbimage1.Picture.Bitmap.Assign(datamoduleado.adoquery1.fieldbyname('照片')) ;
else if datamoduleado.adoquery1.FieldByName('照片属性').Value =0 //jpge;
then
begin
jpeg:=tjpegimage.Create ;
try
jpeg.Assign(datamoduleado.adoquery1.FieldByName('照片') );
dbimage1.Picture.Graphic:=jpeg;
finally
jpeg.Free ;
end;
end;
close;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货