寻求JPG格式文件存入SQLSERVER数据库的方法 ( 积分: 100 )

  • 主题发起人 主题发起人 spwang_pcb
  • 开始时间 开始时间
S

spwang_pcb

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠好:
如何将JPG格式的图片存入SQLSERVER数据库中呀,字段类型为image?
另外,使用dbimage控件能显示JPG格式的字段文件吗?
菜鸟一个实在想学,求助!!!

新年如意!!!
 
//******保存图片开始***********
query.close;
query.sql.clear;
query.sql.add('delete from gydpicture where (bm=''' + curbm + ''') and (hyh=''' + hyh_edit.text + ''') and (hh=''' + hh_edit.text + ''')and (yplx=''' + yplx_edit.text + ''')');
query.ExecSQL;

if image1.Picture.Graphic <> nil then
begin
ADOQuery2.close;
ADOQuery2.sql.clear;
ADOQuery2.sql.add('insert into gydpicture(bm,hyh,hh,yplx,picture) values(''' + curbm + ''',''' + hyh_edit.text + ''',''' + hh_edit.text + ''',''' + yplx_edit.text + ''',:picture)');
if image1.Picture.Graphic <> nil then
begin
try
mys := TMemoryStream.create;
Image1.picture.Graphic.SaveToStream(mys);
ADOQuery2.Parameters[0].LoadFromStream(mys, ftblob);
finally
mys.Free;
end;
end
else
begin
ADOQuery2.Parameters[0].value:='';
end;
ADOQuery2.ExecSQL;
end;
//******保存图片结束***********


//**********调出图片开始********************
adoquery1.Close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from gydpicture where (bm=''' + curbm + ''') and (hyh=''' + hyh_edit.text + ''') and (hh=''' + hh_edit.text + ''')and (yplx=''' + yplx_edit.text + ''')');
adoquery1.open;
if not adoquery1.IsEmpty then
begin
try
jpgpic := Tjpegimage.Create;
mys := TmemoryStream.Create;
tblobfield(adoquery1.fieldbyname('picture')).SaveToStream(mys);
mys.Position := 0;
jpgpic.LoadFromStream(mys);
image1.Picture.Graphic := jpgpic;
ifjpg := true;
except
try
image1.Picture.Bitmap.Assign(adoquery1.FieldByName('picture'));
ifjpg := false;
except
image1.Picture.Bitmap := nil;
end;
end;
Image1.width := Image1.Picture.width;
Image1.height := Image1.Picture.height;
end
else
image1.Picture.Bitmap := nil;
//*******调出图处结束********
 
另外,使用dbimage控件能显示JPG格式的字段文件吗 回答可以
另你存储可以采用TblobField字段的LoadFromFile和Savetofile来实现保存和调出
格式查帮助,Tblobfield(adoquery1.fieldbyname('图片字段')).savetofile('c:/1.jpg');
TBlobField(adoquery1.fieldByName('图片字段')).loadfromfile('c:/1.jpg');
 
用Tblobfield是对的
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部