CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

delphi中如何将jpg图片通过access数据库存取!!!

楼主miczi(chenmymic)2004-12-01 21:42:08 在 Delphi / 数据库相关 提问

delphi中如何将jpg图片存入access数据库,又如何将已存入到数据库的图片读取回delphi的Image控件里,请指教!!! 问题点数:100、回复次数:7Top

1 楼kasteboy()回复于 2004-12-01 22:08:40 得分 25

procedure   savejpg(Sender:   TObject);  
  var  
      fs   :   Tfilestream;  
  begin  
      fs   :=   TFileStream.Create('c:\test.jpg',   fmOpenRead);  
      adoquery1.close;  
      adoquery1.sql.text   :=   'select   id,   img   from   table1';  
      adoquery1.open;  
      adoquery1.append;  
      adoquery1.fieldbyname('id').asinteger   :=   1;  
      TBlobfield(adoquery1.fieldbyname('img')).loadfromstream(fs);  
      adoquery1.post;  
      fs.Free;  
  end;  
  -------  
  procedure   getjpg(Sender:   TObject);  
  begin  
      adoquery1.close;  
      adoquery1.sql.text   :=   'select   id,   img   from   table1';  
      adoquery1.open;  
      TBlobfield(adoquery1.fieldbyname('img')).savetofile('c:\test.jpg');  
      image1.loadfromfile('c:\test.jpg');  
  end;Top

2 楼li_chengbin(小李飞刀)回复于 2004-12-01 22:35:35 得分 25

保存:  
      ADOQuery1.Insert;  
      TBlobField(ADOQuery1.FieldByName('Image')).LoadFromFile('C:\test.jpg');  
      ADOQuery1.Post;  
   
  读取:  
      Stream   :=   TMemoryStream.Create;  
      TBlobField(ADOQuery1.FieldByName('Image')).SaveToStream(Stream);  
      Jpg   :=   TJPEGImage.Create;  
      Jpg.LoadFromStream(Stream);  
      Image1.Picture.Assign(Jpg);  
      Jpg.Free;  
      Stream.Free;Top

3 楼xx_adam(一无所有)回复于 2004-12-01 22:49:30 得分 25

有好几种方法:  
   
    一、   assign方法可以将一个图片存到数据库中  
   
      Adoqry.parameters.parambyname('img').assgin(image1.picture.bitmap)  
  二、Tmemorystream  
   
    ms:Tmemorystream  
     
  ms:=Tmemorystream.create;  
   
  ...  
   
  Adoquery.parameters[0].loadfrom(ms)  
   
  ....Top

4 楼miczi(chenmymic)回复于 2004-12-01 23:09:26 得分 0

可以说明一下吗?TBlobfield(adoquery1.fieldbyname('img')).loadfromstream(fs);  
  TBlobfield(adoquery1.fieldbyname('img')).savetofile('c:\test.jpg');  
  这两句的作用,还有TBlobfield是什么  
   
  最后就是如何给分?Top

5 楼coeltdit(每天多顶几下----->>>大虾就是这样练成的)回复于 2004-12-02 08:30:00 得分 25

保存图片到数据库中:  
  procedure   AddPicToDatabase(Filename:string);  
  var  
      JPG:TJPEGImage;  
      Stream:TMemoryStream;  
  begin  
  try  
      jpg:=TJPEGImage.Create;  
      stream:=TMemoryStream.Create;  
      jpg.LoadFromFile(Filename);  
      jpg.SaveToStream(stream);  
      stream.Position:=0;  
      TBlobField(mainfrm.Table1.FieldByName('Pic')).LoadFromStream(stream);  
      jpg.Free;  
      stream.Free;  
  except  
  end;  
  end;  
   
  从数据库中读出图片  
  procedure   LoadPicFromDatabase(Sender:TImage);  
  var  
      Jpg:TJpegImage;  
      Stream:TMemoryStream;  
  begin  
      jpg:=TJpegImage.Create;  
      stream:=TMemoryStream.Create;  
      TBlobField(mainfrm.Table1.FieldByName('Pic')).SaveToStream(stream);      
      stream.Position:=0;  
      jpg.LoadFromStream(stream);  
      sender.Picture.Assign(jpg);  
      jpg.Free;  
      stream.Free;  
  end;  
  ----------------------------------------------    
            最后教你给分:  
  点管理-------------->找到Coeltdit----------->输入100分,OK完成;  
   
  Top

6 楼1_(我第一)回复于 2004-12-02 08:45:18 得分 0

MarkTop

7 楼qizhanfeng(glacier)回复于 2004-12-02 08:54:34 得分 0

http://blog.csdn.net/ghyghost/archive/2003/07/21/15773.aspxTop

相关问题

  • 数据库存取JPG的问题
  • 有关IP存取数据库问题(delphi,sqlserver)
  • delphi里面在console application中如何存取sql server数据库?
  • Delphi如何存取Oracle数据库中的图片数据呢?
  • Delphi如何存取Oracle数据库中的图片数据呢?
  • 如何往数据库存取jpg图片,望指教
  • 怎么存取图片(*.jpg)到数据库的某个字段?
  • 数据库存取问题
  • 数据库存取文件???!!!
  • 数据库存取问题

关键词

  • 数据库
  • delphi
  • adoquery1
  • jpg
  • tblobfield
  • tmemorystream
  • fieldbyname
  • tjpegimage
  • loadfromstream
  • stream

得分解答快速导航

  • 帖主:miczi
  • kasteboy
  • li_chengbin
  • xx_adam
  • coeltdit

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo