
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB,jpeg, DBCtrls, Masktype
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: TObjectButton: TNavigateBtn)
private
{ Private declarations }
public
{ Public declarations }
endvar
Form1: TForm1implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject)
var
ms:TMemoryStream
jpg:TJPEGImage
begin
ms:=TMemoryStream.Create
jpg:=TJPEGImage.Create
jpg.Assign(img1.Picture.Graphic)
jpg.SaveToStream(ms)
ms.Position:=0
qry1.SQL.Clear
qry1.SQL.Add('Insert Into TIMG(PNAME,PINFO,PPHOTO) values(:pname,:pinfo,:pphoto)')
qry1.Parameters.ParamByName('pname').Value:=edt1.Text
qry1.Parameters.ParamByName('pinfo').Value:=edt2.Text
qry1.Parameters.ParamByName('pphoto').LoadFromStream(ms,ftBlob)
qry1.ExecSQL
jpg.Free
ms.Free
endprocedure TForm1.btn2Click(Sender: TObject)
begin
if OpenDialog1.Execute then
img1.Picture.LoadFromFile(OpenDialog1.FileName)
endprocedure TForm1.btn3Click(Sender: TObject)
var
ms:TMemoryStream
jpg:TJPEGImage
begin
if not qry2.FieldByName('PPHOTO').IsNull then
begin
ms:=TMemoryStream.Create
jpg:=TJPEGImage.Create
TBlobField(qry2.FieldByName('PPHOTO')).SaveToStream(ms)
ms.Position:=0
jpg.LoadFromStream(ms)
img2.Picture.Assign(jpg)
end
endprocedure TForm1.dbnvgr1Click(Sender: TObjectButton: TNavigateBtn)
begin
btn3.Click
endprocedure TForm1.FormShow(Sender: TObject)
begin
con1.Close
con1.ConnectionString:='Driver=Firebird/Interbase(r) driverUID=SYSDBAPWD'+
'=123456Dbname='+ExtractFilePath(Application.ExeName)+'IMG.FDB'
con1.LoginPrompt:=False
con1.Connected:=True qry2.Active:=True
//img2.DataField:='PPHOTO'
endend. 我用的是Firebird数据库,存放图片的字段名是PPHOTO,数据类型是BLOB,其他数据库应该也差不多。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)