关于VB 与Access 中图片的存取问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于VB 与Access 中图片的存取问题.doc

关于VB 与Access 中图片的存取问题   摘 要:在数据库应用系统中,经常需要对图片进行处理,包括图片在数据库中的直接存储和只将图片地址存储于数据库中两种存储方式。本文主要论述了图片的存储方式、读取方式,它们各自的优缺点以及怎样存取才能达到效率最高。   关键词:移植性 数据负担 OlE 对象 图片地址   中图分类号:G718 文献标识码:A 文章编号:1674-2117(2014)22-00-01   在教学中,我们常常会用VB及Access做些小的数据库应用系统,如学籍管理系统、考试系统、图书管理系统等,在这些数据库应用系统中,经常需要对图片进行处理。图片在数据库中应该如何存取、怎样存取才能达到效率最高,是我们最常碰到又急需解决的问题。   1 图片在数据库中的存储   以考试管理系统为例来说,在考试报名界面上必须有考试照片,而这照片必须存入后台数据库中。图书管理系统新书入库时需将新书封面图片存入数据库等。   一般来说,图片在数据库中的存储有两种方式:直接将图片存储在数据库中和在数据库中存储图片地址。   1.1 直接将图片存储在数据库   这种存储方式采用的是数据流技术。数据库设计时,存储图片的字段数据类型定义为“OLE对象”。要插入图片直接双击该字段即可。若要在程序中写入数据库,实现代码如下:   SUB SFILE()   DIM STR As ADODB.STREAM   DIM REAS ADODB.RECORDSET   DIM STR AS STRING   SET STM = NEW ADODB.STREAM   STM.TYPE= ADTYPEBINARY   STM.OPEN   STM.LOADFROMFILE APP.PATH+”\ABC.JPG”   SET RE= NEW ADODB.RECORDESET   RE.OPEN”SELECT * FROM IMG” ,STM,1,3   RE.ADDNEW   RE.FIELDS(“PHOTO”)=STM.READ   RE.UPDATE   RE.CLOSE   STM.CLOSE   END SUB   从代码看图片操作与其他字段写入数据库基本一样,只不过使用的是流对象。它的优点是移植性好,不受系统前台程序约束,可在不同地方使用;缺点是加大了数据库的负担,在图片量大的情况下会导致数据读取、备份等操作缓慢。   1.2 将图片地址存储在数据库中   这种方式对数据库的操作简单,主要操作都在程序与操作系统之间的通信上了。只要将存储图片的字段数据类型定义为字符型即可。其操作与存储字符数据相同,用这样的方式首先要在代码中获取图片的地址,其他与存储普通类型数据代码类似。它的优点是只存储字符数据,数据库负担小,易于读取备份等;缺点是系统移植不方便,需要同时移植图片文件夹。   以上的两种方式都各有缺点,具体选用哪种方法要看所做系统的具体情况而定,一般来说,考虑到数据库的优化,一般采用存储图片地址这种存储方式。   2 图片从数据库中的读取   图片存入数据库是为了后期前台使用,如查询某考生的报考信息,则要调出考生照片,查询某本书籍资料,也要有相应的封面图片信息调出。   图片的存储有两种方式,相应的,从数据库中读取图片也有两种方式。   2.1 读取直接存储在数据库中的图片   由于存储时使用的是流对象 ADODB.STREAM,那么读取也需要流对象,代码如下:   SUB RFILE()   DIM STM AS ADODB.STREAM   DIM RE AS ADODB.RECORDSET   RE.OPEN “ select top 1* from img order by id desc”, iConc, adOpenKeyset , adLockReadOnly   SET STM =NEW ADODB.STREAM   STM.MODE=ADMODEREADWRITE   STM.TYPE= ADTYPEBINARY   STM.OPEN   STM.WRITE RE(“PHOTO”)   STM.SAVE TOFILE APP.PATHamp;”\ABC.JPG”   IMAGE1.   PICTURE=LOADPICTURE(APP.PATHamp;”\ABC.JPG”)   RE.CLOSE   STM.CLOSE   END SUB   2.2 读取将地址存储在数据库中的图片   将地址存储于数据库中的图片则容易处理,直接调用获取字段值,再使用LOADPICTURE 函数显示图片

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档