社区
数据库及相关技术
帖子详情
各位大哥!如何显示保存在SQL Server中的图片???
sunshinning
2003-10-19 03:09:36
我想把保存在SQL Server中的图片(二进制格式)显示出来,除了使用DBIMage之外,用什么办法??谢谢!
...全文
56
10
打赏
收藏
各位大哥!如何显示保存在SQL Server中的图片???
我想把保存在SQL Server中的图片(二进制格式)显示出来,除了使用DBIMage之外,用什么办法??谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
13312933476
2003-10-20
打赏
举报
回复
好像ADO不能从数据库里取出大于200K的数据图片哟!不能显示大于200K
的图片!!
sunshinning
2003-10-20
打赏
举报
回复
我要显示图片,并不想将此图片保存在硬盘中啊!各位高手帮忙啊!!
yst_killed
2003-10-20
打赏
举报
回复
xuexi
sunshinning
2003-10-20
打赏
举报
回复
啊,要是这样我就惨了,我的图片都是超过200K的啊!
sunshinning
2003-10-19
打赏
举报
回复
谢谢,我试一下阿!非常感谢!!
zzhong2
2003-10-19
打赏
举报
回复
不用TDBImage还可以用TImage
zzhong2
2003-10-19
打赏
举报
回复
SQL中存图片的数据类型一定要是image
存jpeg到SQL数据库:
if(OpenPictureDialog1->Execute())
{
ADOQuery1->Edit();
TBlobField *Field = (TBlobField*)ADOQuery1->FieldByName("photo");
Field->LoadFromFile(OpenPictureDialog1->FileName);
ADOQuery1->Post();
}
//以下是从数据库读jpeg
#include <clipbrd.hpp>
TStream *Stream1;
TJPEGImage *Pjp;
Pjp=new TJPEGImage();
ADOQuery1->Open();
try
{
Stream1=ADOQuery1->CreateBlobStream(ADOQuery1->FieldByName("treenodes"), bmRead);//treenodes是存放jpeg内容的字段,它的类型一定要用image
Pjp->LoadFromStream(Stream1);
//Image2是TDBImage组件,它的DateSource,和FieldName属性要空着
Image2->Picture->Bitmap->Assign(Pjp);
delete Stream1;
}
__finally
{
ADOQuery1->Close();
delete Pjp;
}
下面是别人的更好的方法,可存各种图形
以下是讀出各種類型的圖片的程序,支持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類。
支持多種格式
存入:
if(OpenPictureDialog1->Execute())
{DataSet->Edit();
TBlobField *Field = (TBlobField*)DataSet->FieldByName("photo");
Field->LoadFromFile(OpenPictureDialog1->FileName);
DataSet->FieldByName("photoFormat")->AsString =
ExtractFileExt(OpenPictureDialog1->FileName).UpperCase();
DataSet->Post();
}
sunshinning
2003-10-19
打赏
举报
回复
谢谢!感激涕零!!怎么找得到啊!
freshman2003
2003-10-19
打赏
举报
回复
FAQ,要不要我帮你找?
sunshinning
2003-10-19
打赏
举报
回复
有没有人关注一下啊
实战化课程:全面掌握
SQL
Server
高可用技术,从菜鸟到专家
本课程根据讲师十多年在世界500强外企的生产环境
中
的
SQL
Serer数据库管理和项目实施经验倾心打造。课程系统性强,知识体系完整,覆盖90%以上的企业环境下
SQL
Server
高可用场景,课程
中
不仅演示详细的操作步骤,更加突出最常见的故障和问题,让学员少走“弯路”,不只是让学员学会“操作”更能让学员“操作”的规范,满满的干货分享,一些课程资料(架构图、部署规划表格等)不仅可以帮助学员掌握技能,也可以作为学员在企业生产环境
中
实施
SQL
Server
高可用的配置文档、操作手册等。课程的实验环境介绍:1)全部基于微软域环境和企业版
SQL
Server
AOAG - 95%以上的企业环境都是在域环境
中
,不介绍非域环境和标准版的
SQL
Server
高可用性组,这的配置在企业
中
较罕见,没有实践意义,不浪费学员时间。2)相应域环境已提前部署和配置好 - 学员导入虚拟机即可开始实验,无需从零开始搭建域环境,所有实验
中
SQL
Server
均已加域,直入主题,节省大量时间。3)最新的Windows
Server
故障转移集群(WS2016、WS2019)和最新版本的
SQL
Server
(
SQL
2017、
SQL
2019) - WS2016-
SQL
2017与WS2019-
SQL
2019是目前大多数企业
SQL
Server
高可用的主要平台,基于微软产品生命周期现在一些企业也在讲早期的AOAG向这两个版本迁移,掌握这两种组合不仅让学员学会,更能学有所用。本课程为后续
SQL
Server
进阶课程铺垫,是通向
SQL
Server
DBA 专家的必经之路,讲师每周答疑两次。所有课程资料包括:课程PPT、架构图、部署规划表格、各类脚本学员均可下载。
MS-
SQL
Server
基础类 -
SQL
语句
vb/vb.net开发技巧荟萃(六)
300元请人做一个自动点击领取的软件 300元请人做一个自动点击领取的软件 vb
中
如何将excel导入到
sql
server
的数据库
中
vb调用vc动态连接库问题!!(100分求)
SQL
查询问题??会的快来 已会C++, 再学习VB还是C#? 如何在用一个程序打开一个文件的同时,用另一程序获取该文件的文件名? VB
中
如何用ADO从ORACLE
中
复制一个表到AC...
vb/vb.net开发精粹(8)
300元请人做一个自动点击领取的软件 300元请人做一个自动点击领取的软件 vb
中
如何将excel导入到
sql
server
的数据库
中
vb调用vc动态连接库问题!!(100分求)
SQL
查询问题??会的快来 已会C++, 再学习VB还是C#? 如何在用一个程序打开一个文件的同时,用另一程序获取该文件的文件名? VB
中
如何用ADO从ORACLE
中
复制一个表到ACCESS数据库
数据库帖子收集
这样的数据列表在存储过程
中
应该怎么样选择得到? 请问造成
SQL
2000服务不能启动的原因有哪些?
sql
server
中
有無類似于if 的函數,即像這樣select if(cancel=1,'cancel','') from sales 这样怎么返回呀!!!!记录集的返回。。 谁能跟我说说期初库存怎么样的一个业务逻辑!都要处理哪些内容!需要每月进...
数据库及相关技术
1,178
社区成员
18,939
社区内容
发帖
与我相关
我的任务
数据库及相关技术
C++ Builder 数据库及相关技术
复制链接
扫一扫
分享
社区描述
C++ Builder 数据库及相关技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章