delphi 实现数据库读取图片文件。

procedure TForm1.Button1Click(Sender: TObject); 
// 插入图片过程
var Stream:TMemoryStream;
 Img: TImage;
begin 
try Img := TImage.Create(nil); 
Stream := TMemoryStream.Create; // 创建内存流 
Img.Picture.LoadFromFile(FileName);
 Img.Picture.Graphic.SaveToStream(Stream); // Image1.Picture.Graphic.SaveToStream(Stream); // 将图片保存到内存流中 
adoquery1.Close; adoquery1.SQL.Clear; 
adoQuery1.SQL.Add('Insert into tbltemp (Image) values (:photo)'); // 进行插入操作 
adoQuery1.Parameters.ParamByName('photo').LoadFromStream(Stream,ftBlob); // 读取保存的内存图 
adoquery1.ExecSQL;
 finally Stream.Free; // 释放内存流 
end;
end;
procedure TForm1.Button2Click(Sender: TObject); //读取图片过程
var Stream:TMemoryStream; 
Jpg:TjpegImage;
begin 
ADOQuery1.Close; 
ADOQuery1.SQL.Text:='SELECT * FROM tbltemp'; // 查询图片 
ADOQuery1.Open; 
if not ADOQuery1.FieldByName('Image').IsNull then 
begin 
Stream:=TMemoryStream.Create ; 
Jpg:=TjpegImage.Create ; 
TBlobField(ADOQuery1.FieldByName('Image')).SaveToStream(Stream); // 显示的转换为BlobField并保存到内存流 
Stream.Position :=0; 
jpg.LoadFromStream(Stream); // 加载图片 
image2.Picture.Assign(Jpg); 
end else 
begin 
image2.Picture :=nil; 
end;
end;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值