CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  Access

怎样读出ACCESS数据库中长二进制数据(新手)

楼主duanbf()2006-05-04 10:31:18 在 其他数据库开发 / Access 提问

我有一个ACCESS数据库,其中有一个表中一个字段类型为OLE,打开表可以看到表中的数据为"长二进制数据",请问怎样才能正确读出这个字段中的内容.(这个字段内容确为文本,而非图片).VBscript过程怎么写. 问题点数:50、回复次数:2Top

1 楼wangtiecheng(不知不为过,不学就是错!)回复于 2006-05-04 11:11:14 得分 20

参见版主的文章:  
  http://access911.net/fixhtm/71FAB51E16DC.htmTop

2 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-05-05 14:26:46 得分 30

Access911.net       |       a9BBS       |       OTaA   System        
        搜索文章:                
     
     
               
          主页                 上传                 繁體版                  
      设为首页     |     加入收藏            
     
     
  2006年5月5日   星期五     欢迎您,来自上海市   电信的朋友!    
    你现在的位置:文章索引   ->   文章分类   ->   表        
     
     
      首页   |     近日更新   |     下载   |     文章索引     |     搜索   |     BBS   |     术语   |     承接工程   |        
         
     
     
  系统正在加载内容,请耐心等待...    
     
    表    
   
    查询    
   
    窗体    
   
    报表    
   
    页    
   
    宏    
   
    VBA    
   
    函数    
   
    ADO/DAO/ADO.NET    
   
    API    
   
    ADP    
   
    安全    
   
    发布    
   
    OA    
   
    ASP/ASP.NET    
   
    其他语言    
   
    控件    
   
    DELPHI    
   
    本站    
   
    其他    
   
       
  友情链接    
    Access911    
    a9   BBS    
    911静态资料    
    Office中国    
    access   QQ    
    Access软件网    
    CSDN    
    IT世界网络学院    
    MS   Support    
    上海朋扬电脑    
    access爱好者    
    交流中心    
    ezlavie    
    艾赛思俱乐部    
    设计在线    
    宇宙网络    
       
  访问人次    
    751669    
       
  站长   E-Mail    
    net911@sina.com    
    access911@etang.com      
       
  RSS   订阅    
     
                  显示附加信息   >>>  
   
  数据库与图片或者文件的关系如何处理?  
     
   
  作者:cg1     摘自:access911.net     编辑:cg1     更新日期:2002-12-21     浏览人次:6132  
     
  专题地址:  
  http://access911.net/?kbid;71FAB51E16DC  
     
     
   
  简述:  
  数据库与文件之间的关系如何处理,是将文件保存在   OLE字段   中呢?还是存路径呢?存了路径以后该如何显示哪?详细看看本文以及所有的相关文章吧  
     
   
  阅读前需掌握:  
     
   
  难度等级:  
  等级未评定  
     
     
     
   
  问题:  
   
   
   
    数据库与照片/图片/文件的关系如何处理?  
  也就是,比如有照片若干,怎样能在数据库中存储并显示?    
   
     
   
   
  方法一:  
   
   
   
    把照片放进数据库,照片的格式最好是bmp,这样就可以在窗体上显示出来,不过这样数据库的体积会暴增。  
  详细的使用方法请参考Access帮助中的   PictureData   属性(本文末尾有相关帮助)。  
  而且,你可以直接用   commdlg   API   函数来给图像框赋值,然后直接读取某个图像框的   PICTUREDATA   并存储到某个   IMAGE   字段中。这样做的优点是显示、读取方便,缺点是如果图片精度高,占用的硬盘空间会爆大。  
  详细示例请参考:  
  http://access911.net/down/eg/OLEfieldAndPictureData.rar(46KB)  
     
   
     
   
   
  方法二:  
   
   
    设一个OLE字段,然后插入对象就行了(对着字段单击右键)。但是要注意的是,用上述方法加入数据库的图片只能以手动方式保存,需要用程序读取的时候会碰到存储在ole字段中二进制数据与源文件不符的情况。主要是因为ole引擎在图片的前面加了一段信息给他自己用。  
  请参考:  
  http://access911.net/index.asp?board=4&mode=3&recordid=75FAB21E12DC  
     
   
     
   
   
  方法三:  
   
   
    将图片文件以二进制方式存储在数据库中,使用时调用。详细情况请参考:  
   
  使用   ADO   的   STREAM   对象的   LoadFromFile   方法以及   SaveToFile   方法实现:  
  http://access911.net/index.asp?board=4&mode=3&recordid=74FAB51E13DC  
   
  使用   ADO   的   RECORDSET.FIELD   对象的   GetChunk   以及   AppendChunk   方法实现:  
  http://access911.net/index.asp?board=4&mode=3&recordid=75FAB01E  
   
  ASP   中使用的方法:  
  http://access911.net/index.asp?board=4&mode=3&recordid=79FAB31E  
   
  下列例程就是采用这种方法,在显示的时候把长二进制数据保存为临时文件用于显示  
  http://access911.net/down/photo.rar(size=308K)  
   
     
   
     
   
   
  方法四:  
   
   
    不把照片放入数据库,只把照片的路径保存到数据库中,动态加载,这样可以支持很多种图片格式。作法是在窗体上放一个图像控件,然后根据员工编号或别的有关联的字段去找出路径,用以下语句来加载图像:  
  图像1.Picture   =路径名  
  路径名必须包括图象文件名。  
  详细情况你可以参考   access   xp   的示例   northwind.mdb   中的雇员窗体  
  你也可以参考:http://access911.net/down/eg/LinkPicture.rar(61.1KB)    
   
     
   
   
   
  以下是   PictureData   的参考::  
   
   
   
     
   
  PictureData   属性  
  请参阅   应用于   示例   特性    
  使用   PictureData   属性可以将窗体、报表或控件中的图片复制到另一个支持   Picture   属性的对象中。Variant   型,可读写。  
   
  expression.PictureData  
   
  expression       必需。返回“Applies   To”列表中的一个对象的表达式。  
   
  说明  
  PictureData   属性设置值可以是其他图像控件、命令按钮、切换按钮、窗体或报表的   PictureData   属性。  
   
  使用   Visual   Basic   可以对该属性进行设置。  
   
  使用该属性可以根据用户所执行的操作的不同,在窗体中显示不同的背景图片。例如,可以根据“客户”窗体打开的目的是输入数据还是浏览数据而在打开窗体时使用不同的背景图片。  
   
  另外,将   PictureData   属性、Timer   事件和   TimerInterval   属性一起使用,可以在窗体中产生简单的动态背景效果。  
   
  示例  
  下面的示例使用三个图像控件实现一只蝴蝶从窗体中飞过的动态效果。Hidden1   图像控件包含的图片是一只双翅向上的蝴蝶,Hidden2   图像控件包含的图片也是一只蝴蝶,不过这只蝴蝶的双翅是向下的。这两个控件的   Visible   属性都设为   False。TimerInterval   属性设为   200。每次发生   Timer   事件时,就通过使用隐藏图像控件的   PictureData   属性更改   Visible1   图像控件中的图片,并且可见图像控件向右移动   200   缇。当可见图像控件的   Left   属性值大于公用变量   gfrmWidth   中存储的窗体宽度时,可见图像控件即重新移回窗体的左边。gfrmWidth   变量值在窗体的   Open   事件中设为   Me.Width。  
   
  Private   Sub   Form_Timer()  
   
          Static   intPic   As   Integer  
   
          Select   Case   intPic  
                  Case   Is   =   1  
                          Me!Visible1.PictureData   =   Me!Hidden1.PictureData  
                  Case   Is   =   2  
                          Me!Visible1.PictureData   =   Me!Hidden2.PictureData  
                  Case   Else  
          End   Select  
   
          If   intPic   =   2   Then   intPic   =   0  
          intPic   =   intPic   +   1  
          If   (Me!Visible1.Left   >   gfrmWidth)   Then   Me!Visible1.Left   =   0  
          Me!Visible1.Left   =   Me!Visible1.Left   +   200  
   
  End   Sub  
     
   
     
   
   
     
       
  适用环境:  
  Access   97  
  Access   2000  
  Access   XP  
  Access   2003  
     
   
  关键字:  
  数据库,图片,路径,字串,OLE字段   文件     >>>  
     
       
     
         
  相关文章    
            怎么把图片加入到数据库里面    
            如何编程打开其他数据库中的窗体?    
            在窗体的图片控件中,如何指定只显示我选定的图片的某个区域?    
            以文字(路径)方式保存文件名的图片如何在报表中预览?    
            新手来看:如何屏蔽Access的启动图片?    
            如何用adox新建数据库和表    
            关于jet   db的连接字串,以及加密后的字串    
            access数据库规格问题,如表能放多少字段,多大。。。    
            如何查询其他数据库内的表(IN子句实例)?    
            如何隐藏或最小化access数据库窗口    
            如何获取mdb本身路径或文件名?    
       
  评论    
            各位读者请仔细参考本评论!从表的OLE字段中读写文件作者:tmtony/zhuy...(   2005年3月9日   )    
            查看或发表更多的评论,请单击这里。    
       
       
       
         
       
         
             
      Access911.net       |       a9BBS       |       OTaA   System       |    
    建站日期:2000年4月2日     |     设计施工:陈格   (   access911   &   cg1   )      
    Copyright   ©   2000   -   2003   COMET,   陈格   保留所有权利      
         
     
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:duanbf
  • wangtiecheng
  • changechange

相关链接

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

广告也精彩

反馈

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