CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

我用的是sqlserver的数据库,怎么样在数据库里面存取图片呢?

楼主luo1105(凡星)2006-03-08 10:22:54 在 Delphi / 数据库相关 提问

如题  
  问题点数:50、回复次数:3Top

1 楼chb5210(沉默)回复于 2006-03-08 10:47:15 得分 25

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

2 楼janezjtjdx(学习中)回复于 2006-03-08 11:18:13 得分 25

var  
      myfilestream:tfilestream;  
      myblob:tblobfield;  
      file_path:string;  
  begin  
  file_path:=opendlg1.filename;  
  adoquery1.append;  
  myfilestream:=tfilestream.Create(file_path,fmopenread);  
  myblob:=tblobfield(adoquery1.FieldByName('字段名'));  
  myblob.LoadFromStream(myfilestream);  
  myfilestream.Free;  
  end;  
  adoquery1.Post;  
   
  保存Top

3 楼comerliang(天地良心)(性欲被自己倒分倒没了,以后再也不敢倒分了,想倒分的兄弟看看我的下场吧,男人没了性欲真不爽)回复于 2006-03-09 08:23:18 得分 0

google下,很多源代码的Top

相关问题

  • 如何存取数据库图片呢?
  • 怎样用数据库存取图片?
  • 从数据库中存取图片,
  • 数据库存取图片问题!!
  • 如何利用Delphi存取任何格式的图片文件 到SQLSERVER数据库中
  • 怎样用vb编程在access数据库中存取图片?
  • 请教一下-数据库存取图片的问题
  • 如何往数据库存取jpg图片,望指教
  • 怎么存取图片(*.jpg)到数据库的某个字段?
  • 怎么样在数据库里面存取图片?

关键词

  • 内存
  • sql
  • adoquery1
  • teststream
  • tmemorystream
  • 图片
  • 内存流
  • image
  • begin
  • create

得分解答快速导航

  • 帖主:luo1105
  • chb5210
  • janezjtjdx

相关链接

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

广告也精彩

反馈

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