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

如何显示数据库中存储的图片?

楼主snla(走在路上)2001-08-22 09:25:33 在 C++ Builder / 数据库及相关技术 提问

数据库中存储的jpeg,ico   等非bmp类型的文件如何显示,有没有这个控件? 问题点数:21、回复次数:10Top

1 楼luhongjun(过江项羽)回复于 2001-08-22 09:35:49 得分 10

http://www.csdn.net/expert/topic/152/152613.shtm  
   
   
  Top

2 楼HEROIN(HEROIN)回复于 2001-08-22 09:36:22 得分 0

DBImageTop

3 楼lluunn007(书生)回复于 2001-08-22 09:36:49 得分 0

比如用DBGrid,我考的一段代码。  
   
  void   __fastcall   TpForm::DBGrid1CellClick(TColumn   *Column)  
  {  
        if(   Column->Field->DataType==   ftMemo||Column->Field->DataType==ftGraphic   )  
        {  
                  Column->ButtonStyle=cbsEllipsis;  
                  column=Column;                                                   //字段赋值,其实可以不用column  
        }  
  }  
  //---------------------------------------------------------------------------  
  //显示特殊字段(Memo   Graphics)  
  void   __fastcall   TpForm::DBGrid1EditButtonClick(TObject   *Sender)  
  {  
          //显示特殊字段内容  
          if(column->Field->DataType==ftMemo)                     //Memo型字段  
          {  
                  //new   出Memo型窗体  
                  //ShowMessage("V");                   //测试信息  
                  TMemoForm   *memo=new   TMemoForm(Application);  
                  memo->RichEdit1->Lines->Add(DBGrid1->SelectedField->AsString);       //用MEmo组件不会自动换行  
                  memo->ShowModal();  
                  delete   memo;  
          }  
   
          if(column->Field->DataType==ftGraphic)           //Graphics型字段  
          {  
              /*TBlobField   *   aa;                         //用内存流操作控制二进制位图传输  
                  aa=(TBlobField   *)(DBGrid1->SelectedField);             //aa=(TGraphicField*)(DBGrid1->SelectedField);??  
                  //new   出Graphic型窗体  
                  TGraphicForm   *graphic=new   TGraphicForm(Application);  
                  Graphics::TBitmap   *   pic=new   Graphics::TBitmap;  
                  TMemoryStream*   Stream=new   TMemoryStream();  
                  aa->SaveToStream(Stream);  
                  pic->LoadFromStream(Stream);  
                  graphic->Image1->Picture->Bitmap=pic;  
                  graphic->Image1->Repaint();  
                  graphic->ShowModal();  
                  delete   graphic;  
                  delete   pic;*/  
   
                  //new出窗体            
                  TGraphicForm   *graphic=new   TGraphicForm(Application);  
                  graphic->DBImage1->DataSource=DataSource1;  
                  graphic->DBImage1->DataField=DBGrid1->SelectedField->FieldName;  
                  graphic->ShowModal();  
                  delete   graphic;  
   
          }  
   
   
          //  
  }Top

4 楼whitelion(www.ccproj.com)回复于 2001-08-22 10:11:53 得分 0

ccTop

5 楼snla(走在路上)回复于 2001-08-22 14:39:36 得分 0

先谢谢各位,我按luhongjun(过江项羽) 的办法,程序如下:  
                  TBlobField*   pField=(TBlobField*)DataSet->FieldByName("Pic");  
                  TBlobStream   *pmem=new   TBlobStream(pField,bmRead);  
                  pmem->Seek(0,soFromBeginning);  
                  Graphics::TBitmap   *   pBitmap=new   Graphics::TBitmap();  
                  pBitmap->LoadFromStream(pmem);  
                  Image_News->Picture->Assign(pBitmap);  
                  delete   pBitmap;  
                  delete   pmem;  
  结果运行到第二行,出现错误:Invalid   class   typecast.Top

6 楼lluunn007(书生)回复于 2001-08-22 14:43:45 得分 11

原来项羽的方法和我删除的注释是一样的,我当初也是调试出问题没用了,不知道什么原因。知道的欢迎告诉我啊。  
   
  另     帖主可以考虑用DBImage将该字段映射过来的,我的例子就是这样实现,只不过中间夹了个DBGridTop

7 楼snla(走在路上)回复于 2001-08-22 15:00:12 得分 0

不过DBImage不能显示ico,gif等其他格式的图片或图标呀!Top

8 楼snla(走在路上)回复于 2001-08-22 15:18:50 得分 0

luhongjun(过江项羽),你的办法好象只能解决bmp类型的图片Top

9 楼coldbloodfox(冷血狐)回复于 2001-08-22 15:34:24 得分 0

:-DTop

10 楼snla(走在路上)回复于 2001-08-22 16:19:15 得分 0

没人能解决吗>???????????????????????????????????/Top

相关问题

  • 在数据库中存储图片并显示的问题。
  • delphi中显示Access数据库存储的图片
  • xml中显示存储在数据库里的图片问题
  • 何用ADO和access的数据库存储和显示图片
  • 如何通过数据库存储的图片地址,显示图片?
  • 如何用ASP实现图片的数据库存储和显示
  • 关于如何在VB中显示存储在数据库中的图片
  • 请问:如何把数据库中存储的图片显示在页面上?图片在数据库的存储格式如"f.gif"?先谢谢啦!
  • 怎样存储图片到数据库?
  • 图片存储到SQL Server数据库

关键词

  • 字段
  • memo
  • dbgrid1
  • 显示
  • selectedfield
  • datatype
  • 图片
  • graphics
  • column
  • aa

得分解答快速导航

  • 帖主:snla
  • luhongjun
  • lluunn007

相关链接

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

广告也精彩

反馈

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