在delphi中如何取出数据库中的图片显示在image上

在delphi中如何取出数据库中的图片显示在image上,第1张

unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB,jpeg, DBCtrls, Mask;type
TForm1 = class(TForm)
con1: TADOConnection;
qry1: TADOQuery;
img1: TImage;
btn1: TBitBtn;
btn2: TBitBtn;
OpenDialog1: TOpenDialog;
lbl1: TLabel;
edt1: TEdit;
lbl2: TLabel;
edt2: TEdit;
dbnvgr1: TDBNavigator;
ds1: TDataSource;
qry2: TADOQuery;
img2: TImage;
btn3: TBitBtn;
procedure FormShow(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure dbnvgr1Click(Sender: TObject; Button: TNavigateBtn);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R dfm}procedure TForm1btn1Click(Sender: TObject);
var
ms:TMemoryStream;
jpg:TJPEGImage;
begin
ms:=TMemoryStreamCreate;
jpg:=TJPEGImageCreate;
jpgAssign(img1PictureGraphic);
jpgSaveToStream(ms);
msPosition:=0;
qry1SQLClear;
qry1SQLAdd('Insert Into TIMG(PNAME,PINFO,PPHOTO) values(:pname,:pinfo,:pphoto)');
qry1ParametersParamByName('pname')Value:=edt1Text;
qry1ParametersParamByName('pinfo')Value:=edt2Text;
qry1ParametersParamByName('pphoto')LoadFromStream(ms,ftBlob);
qry1ExecSQL;
jpgFree;
msFree;
end;procedure TForm1btn2Click(Sender: TObject);
begin
if OpenDialog1Execute then
img1PictureLoadFromFile(OpenDialog1FileName);
end;procedure TForm1btn3Click(Sender: TObject);
var
ms:TMemoryStream;
jpg:TJPEGImage;
begin
if not qry2FieldByName('PPHOTO')IsNull then
begin
ms:=TMemoryStreamCreate;
jpg:=TJPEGImageCreate;
TBlobField(qry2FieldByName('PPHOTO'))SaveToStream(ms);
msPosition:=0;
jpgLoadFromStream(ms);
img2PictureAssign(jpg);
end;
end;procedure TForm1dbnvgr1Click(Sender: TObject; Button: TNavigateBtn);
begin
btn3Click;
end;procedure TForm1FormShow(Sender: TObject);
begin
con1Close;
con1ConnectionString:='Driver=Firebird/Interbase(r) driver;UID=SYSDBA;PWD'+
'=123456;Dbname='+ExtractFilePath(ApplicationExeName)+'IMGFDB';
con1LoginPrompt:=False;
con1Connected:=True; qry2Active:=True;
//img2DataField:='PPHOTO';
end;end 我用的是Firebird数据库,存放的字段名是PPHOTO,数据类型是BLOB,其他数据库应该也差不多。

以上就是关于在delphi中如何取出数据库中图片显示在image上全部的内容,包括:在delphi中如何取出数据库中的图片显示在image上、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10170777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存