使用DELPHI对ACCESS和SQL数据库存取图片

这篇博客展示了如何在Delphi中使用ADO连接数据库,实现对ACCESS和SQL Server 2000数据库中图片的存取。通过TStringStream和TJpegImage组件,实现了双击DBGrid显示图片以及点击按钮保存图片到数据库的功能。代码中详细说明了从数据库读取图片到内存流,以及将内存流中的图片保存回数据库的过程。
摘要由CSDN通过智能技术生成
一个在数据库存取图片的演示代码,包含ACCESS数据库和SQL数据库两种方式。

1、 小高端用户ADO+SQL2000
2、 在小高端用户使用的数据库中SQL是最为普遍的。

首先先要用上流(Stream)程序如下:

procedure TForm1.DBGrid1DblClick(Sender: TObject);         //双击DBGrid栏显示图片
Var
Ms:TStringStream;
Jpg:TJpegImage;
begin                                            
  Ms:=TstringStream.Create(');
  Jpg:=TJpegImage.Create;
  TBlobField(ADOTable1.FieldByName('zp')).SaveToStream(Ms);
  Jpg.LoadFromStream(Ms);
  Ms.Position :=0;
  Jpg.LoadFromStream(Ms);
// Form2.Image1.Picture.Bitmap.LoadFromStream(Ms);    //调用bmp图像的方法
  Form2.Image1.Picture.Assign(Jpg);                     
  Form2.Show;
  form2.Position :=poScreenCenter;
end;

{如果JpegImage是从一个文件中load的话(loadfromstream),图像就可以正常显示而从
数据库字段中读到流里,JpegImage再从这个流里load,就不行,会出现错误JPEG error #41。}

procedure TForm1.Button2Click(Sender: TObject);            //保存
Var
Msmem:TmemoryStream;
Jpg:TJpegImage;
begin             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值