function Tform1.imagesavetosql(dataset:TCustomADODataSet;zdxh:integer):boolean; { ////////////////////图片信息存入SQL数据库/////////////////////////// ///////输入参数: 1.dataset 数据集控件名 2.zdxh 字段序号(integer) ///////输出参数: 无 结果成功返回true ///////涵数功能: 把bmp,jpg,ico类型的图片数据存入sql中的image字段 ///////autor: xgy ///////完成时间:2003-07-15 ///////最后修改时间:2003-07-15 //////////////////////////////////////////////////////////////////// } var imagebmp:Timage; //bmp图片 imagejpg:Tjpegimage; //jpg图片 imageico:Ticon; //ico图片 zhbl:Tbitmap; //ico到bmp的转化变量 lx:string; //图片类型 picdialog:Topenpicturedialog;//自定义对话框 image:Timage; //自定义图片控件 begin imagebmp:=Timage.Create(nil); imagejpg:=Tjpegimage.Create; imageico:=Ticon.Create; zhbl:=Tbitmap.Create; image:=Timage.Create(nil); picdialog:=Topenpicturedialog.Create(nil); picdialog.InitialDir:=extractfilepath(Application.ExeName); picdialog.Title:='请选择要保存的图片'; if picdialog.execute then begin image.Picture.LoadFromFile(picdialog.FileName); image.Hint:=picdialog.FileName; image.showhint:=true; end; if image.Hint<>'' then begin lx:=ExtractFileExt(image.Hint); if (lx='.bmp') or (lx='.BMP') then begin imagebmp.Picture.Bitmap.LoadFromFile(image.Hint); end; if (lx='.jpg') or (lx='.JPG') then begin imagejpg.LoadFromFile(image.Hint); imagebmp.Picture.Bitmap.Assign(imagejpg); end; if (lx='.ico') or (lx='.ICO') then begin imageico.LoadFromFile(image.Hint); zhbl.Width:=imageico.Width; zhbl.Height:=imageico.Height; zhbl.canvas.Draw(0,0,imageico); end; end; try if (lx='.ico') or (lx='.ICO') then begin dataset.Fields[zdxh].Assign(zhbl); end else begin dataset.Fields[zdxh].Assign(imagebmp.Picture); end; result:=true; finally imagebmp.Free; imagejpg.Free; imageico.Free; zhbl.Free; picdialog.Free; image.Free; end; end;
我该如何从数据库中取出BMP的图片呢?
谢了
解决之后马上结帐
{
////////////////////图片信息存入SQL数据库///////////////////////////
///////输入参数: 1.dataset 数据集控件名 2.zdxh 字段序号(integer)
///////输出参数: 无 结果成功返回true
///////涵数功能: 把bmp,jpg,ico类型的图片数据存入sql中的image字段
///////autor: xgy
///////完成时间:2003-07-15
///////最后修改时间:2003-07-15
////////////////////////////////////////////////////////////////////
}
var
imagebmp:Timage; //bmp图片
imagejpg:Tjpegimage; //jpg图片
imageico:Ticon; //ico图片
zhbl:Tbitmap; //ico到bmp的转化变量
lx:string; //图片类型
picdialog:Topenpicturedialog;//自定义对话框
image:Timage; //自定义图片控件
begin
imagebmp:=Timage.Create(nil);
imagejpg:=Tjpegimage.Create;
imageico:=Ticon.Create;
zhbl:=Tbitmap.Create;
image:=Timage.Create(nil);
picdialog:=Topenpicturedialog.Create(nil);
picdialog.InitialDir:=extractfilepath(Application.ExeName);
picdialog.Title:='请选择要保存的图片';
if picdialog.execute then
begin
image.Picture.LoadFromFile(picdialog.FileName);
image.Hint:=picdialog.FileName;
image.showhint:=true;
end;
if image.Hint<>'' then
begin
lx:=ExtractFileExt(image.Hint);
if (lx='.bmp') or (lx='.BMP') then
begin
imagebmp.Picture.Bitmap.LoadFromFile(image.Hint);
end;
if (lx='.jpg') or (lx='.JPG') then
begin
imagejpg.LoadFromFile(image.Hint);
imagebmp.Picture.Bitmap.Assign(imagejpg);
end;
if (lx='.ico') or (lx='.ICO') then
begin
imageico.LoadFromFile(image.Hint);
zhbl.Width:=imageico.Width;
zhbl.Height:=imageico.Height;
zhbl.canvas.Draw(0,0,imageico);
end;
end;
try
if (lx='.ico') or (lx='.ICO') then
begin
dataset.Fields[zdxh].Assign(zhbl);
end
else
begin
dataset.Fields[zdxh].Assign(imagebmp.Picture);
end;
result:=true;
finally
imagebmp.Free;
imagejpg.Free;
imageico.Free;
zhbl.Free;
picdialog.Free;
image.Free;
end;
end;