CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  数据库及相关技术

有ADO连接MSsql,请问怎样存入调出数据库中的图片(多种格式)

楼主hafili(我没读过书)2002-11-20 16:27:07 在 C++ Builder / 数据库及相关技术 提问

用TBlobStream及TBlobField好像在BDE中有效,到了ADOQuery中就提示类型不匹配,请问该如何解决??? 问题点数:5、回复次数:5Top

1 楼PPower(月亮光光,照地堂)回复于 2002-11-20 17:29:29 得分 5

以下是讀出各種類型的圖片的程序,支持ADO,BDE或TClientDataSet  
  #define   PICTURE_MAP__(TBit)   {TBit   *PG   =   new   TBit();   \  
                                                            try   {PG->LoadFromStream(TmpStream);\  
                                                                      Pic->Assign(PG);   \  
                                                                    }\  
                                                            catch(...)\  
                                                                {delete   PG   ;\  
                                                                  return   false;\  
                                                                }\  
                                                            delete   PG;\  
                                                            }  
  //----------------------------------------------------------------  
  //該模板將二進制字段中的圖像(GIF或JPG等等)使用Assign方法轉為TPicture,TBitmap等等。  
  template   <class   T   >  
  bool   LoadPhotoFromField(TField   *F_Photo,const     AnsiString   Format,T   *Pic)  
  {if(!F_Photo->DataSet->Active)   return   false   ;  
    if(F_Photo->IsNull)   return   false   ;  
    else  
      {TStream   *TmpStream   =   F_Photo->DataSet->CreateBlobStream(F_Photo,bmRead);  
        if(Format   ==   ".JPG"   ||   Format   ==   ".JPEG")PICTURE_MAP__(TJPEGImage   )  
        else   if(Format   ==   ".BMP")                                                       PICTURE_MAP__(Graphics::TBitmap)  
  //       else   if(Format   ==   ".GIF")                                             PICTURE_MAP__(TGIFImage   )  
        else   if(Format   ==   ".ICO")                                             PICTURE_MAP__(TIcon)  
        else   if(Format   ==   ".WMF"   ||   Format   ==".EMF")     PICTURE_MAP__(TMetafile)  
        else       return   false   ;  
      }  
    return   true;  
  }  
  #undef   PICTURE_MAP__(TBit)  
  //如果要支持GIF,那你要安裝支持GIF的VCL類。Top

2 楼PPower(月亮光光,照地堂)回复于 2002-11-20 17:53:59 得分 0

存入請看:  
  http://expert.csdn.net/Expert/topic/1189/1189166.xml?temp=.1843683Top

3 楼zzhong2()回复于 2002-11-20 20:34:22 得分 0

markTop

4 楼hafili(我没读过书)回复于 2002-11-21 14:56:53 得分 0

谢谢Top

5 楼GaoLun(高论)回复于 2002-11-25 07:07:58 得分 0

厉害!     这位用繁体字的老兄是那里人阿!~Top

相关问题

  • 请教:VFP6编程,如何将WORD和EXCEL文档存入SQL Server表中,如何将存入的文档调出?谢谢!
  • 如何在ado中调出datalink属性对话框
  • 如何在程序中调出ADO的property page?
  • ado如何向SQL的IMAGE字段中存入文件?
  • 如何使用ADO把文件存入 Image 字段中?
  • 如何将网页(特别是图形图像)存入sql2000数据库,如何调出并能在网页上正常显示图形图像?
  • 如何以把数据以单链表形式存入文件,再次调出文件数据时可以进行单链表的删除,查找等功能?
  • 如何在程序中调出创建ADO连接字符串的对话框
  • 怎样用路径将图片存入mssql中
  • 谁知道如何在程序中调出ADO控件的设置ConnectionString的窗体。

关键词

  • tbit
  • picture
  • pg
  • photo
  • format
  • gif
  • map
  • 支持
  • else

得分解答快速导航

  • 帖主:hafili
  • PPower

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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