DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: deliping
今日帖子: 2
在线用户: 2
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 sellgod (sellgod) ★☆☆☆☆ -
普通会员
2003/10/8 20:12:42
标题:
如何显示access中的OLE字段(image) 浏览:2677
加入我的收藏
楼主: 用Access做的数据库,其中有一个字段类型为OLE,用来存放BMP的图像文件。在Access中可以很好的预览这些图片。但是在delphi中用data control中的DBimage控件没有办法预览,报错“Bitmap image is not valid”.请问,采用什么方法才能正确的读取、预览这些图片。谢谢
----------------------------------------------
-
作者:
男 btredfox ( ) ★☆☆☆☆ -
普通会员
2003/10/8 21:48:46
1楼: 摘自李维的电子书《Delphl5.x ADO/MTS/CoM+高级程序设计篇》
p r o c e d u r e TForm1.btnTargetClick(Sender: TObject);
v a r
sFileName : String;
f u n c t i o n B l o b C o n t e n t T o S t r i n g (c o n s t FileName: string): string;
b e g i n
w i t h TFileStream.create(FileName, fmOpenRead) d o
t r y
SetLength(Result, Size);
Read(Pointer(Result)^, Size);
f i n a l l y
F r e e ;
e n d ;
e n d ;
b e g i n
i f (OpenDialog1.Execute) t h e n
b e g i n
sFileName := OpenDialog1.FileName;
a d o d s B l o b s . E d i t ;
adodsBlobs.FieldByName('Blobs').AsString :=
B l o b C o n t e n t T o S t r i n g ( s F i l e N a m e ) ;
a d o d s B l o b s . P o s t ;
e n d ;
e n d ;
至于B l o b C o n t e n t To S t r i n g方法则是使用T F i l e S t r e a m对象从打开的文档中读取
数据,并且把文档内容转换为字符串流。
9) 双击“显示B l o b内容”按钮,在它的事件处理程序中撰写如下的程序代码:
p r o c e d u r e TForm1.btnShowBlobsClick(Sender: TObject);
v a r
sFileName: String;
BS : TADOBlobStream;
b e g i n
BS :=
T A D O B l o b S t r e a m . C r e a t e ( T B l o b F i e l d ( a d o d s B l o b s . F i e l d B y N a m e ( ' B l o b s ' ) ) ,
b m R e a d ) ;
t r y
sFileName := ExtractFilePath(Application.ExeName)+'tmpBlob';
sFileName := sFileName + '.' +
a d o d s B l o b s . F i e l d B y N a m e ( ' E x t e n s i o n ' ) . A s S t r i n g ;
B S . S a v e T o F i l e ( s F i l e N a m e ) ;
OleContainer1.CreateObjectFromFile(sFileName, False);
f i n a l l y // wrap up
B S . F r e e ;
e n d ; // try/finally
e n d ;
----------------------------------------------
-
作者:
男 sellgod (sellgod) ★☆☆☆☆ -
普通会员
2003/10/26 8:09:00
2楼: 非常感谢!!!
我先试试
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS