想把图片存储到数据库中,但总是出错,请教各位大侠
procedure TForm1.Button2Click(Sender: TObject);
var
Graphic1:TGraphic;
begin
OpenDialog1.Execute
Graphic1:=TGraphic.Create();
Graphic1.LoadFromFile(OpenDialog1.FileName); //出错处
Table1.DatabaseName:='DB1.mdb';
Table1.TableName:='t1';
Table1.Active:=True;
Table1.Insert;
Table1.Fields[0].Assign(Graphic1);
Table1.Post;
Graphic1.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Graphic1:TGraphic;
begin
OpenDialog1.Execute
Graphic1:=TGraphic.Create();
Graphic1.LoadFromFile(OpenDialog1.FileName); //出错处
Table1.DatabaseName:='DB1.mdb';
Table1.TableName:='t1';
Table1.Active:=True;
Table1.Insert;
Table1.Fields[0].Assign(Graphic1);
Table1.Post;
Graphic1.Free;
end;
解决方案 »
- 关于Memo控件显示的问题
- 我想通过一个判断语句调用form3里的数据送到form1或form2
- 请问如何安装GIFIMAGE这个控件呢?
- 请问如何将QuickRep 报表保存为一个word 文件?
- 怎么实时刷新,最好不用TIMER控件,能实现吗?
- 一个Delphi控制Word的报表例子——很多人帮助过我,现在拿出来帮助那些还不会的人
- DELPHI 7.0没有报表控件,我该怎么办?
- 报表打印问题?
- 鼠标移动到某按钮(假设会发亮),如果用WM_MOUSEMOVE怎么实现?
- xe5自带的TJSONObject如何解析这种json
- 请大哥哥帮帮忙!!!谢谢了
- 如何将*.xml文件中的数据保存到sql数据库中?
注意错误处是在
Graphic1.LoadFromFile(OpenDialog1.FileName); //出错处
var
Graphic1:TBitMap;
begin
OpenDialog1.Execute;
Graphic1:=TBitMap.Create;
Graphic1.LoadFromFile(OpenDialog1.FileName);
Table1.DatabaseName:='db';
Table1.TableName:='t1';
Table1.Active:=True;
Table1.Insert;
Table1.Fields[0].Assign(Graphic1);
Table1.Post;
Graphic1.Free;
end;
但在Table1.Fields[0].Assign(Graphic1); //又出错
Graphic1是TBitMap而Table1.Fields[0].Assign(..)需要TBlobField类型,如何转换。
{
////////////////////图片信息存入SQL数据库///////////////////////////
///////输入参数: 1.dataset 数据集控件名 2.zdxh 字段序号(integer)
///////输出参数: 无 结果成功返回true
///////涵数功能: 把bmp,jpg,ico类型的图片数据存入sql中的image字段
///////完成时间: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;