首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 操作系统-> 注册表教程
vb实现图像在数据库的存储与显示_visualbasic教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
摘要本文以VB6与Access97作为开发工具,介绍了图像在数据库中的存储与显示技术。

  关键词数据库,数据控件,二进制,图像存储,图像显示,ADODB,Recordset

  数据库是数据管理的最新技术,是计算机科学的重要分支,是现代计算机信息系统和计算机应用的基础和核心。在科学技术高速发展的今天,在信息资源无处不在、无处不用,已成为各部门的重要财富的时候,对于从事程序开发的人员来说显得尤为重要。

  如今,对数据库的操作不仅仅满足于对字符和数字的单一操作,图像的存储与显示已显得尤为重要。下面作者将以VB6.0与Access97作为开发工具,分别介绍两种图像显示与存储的方法。

  利用数据控件和数据绑定控件

  利用这种方法,不写或写少量代码就可以构造简单的数据库应用程序,这种方法易于被初学者接受。在举例之前,先把数据绑定功能简要的说明一下,凡是具有DataSource属性的控件都是对数据敏感的,它们都能通过数据控件直接使用数据库里的数据。比如CheckBoxControl,ComboBoxComtrol,TextBoxComtrol,PictureBoxControl,ImageComtrol…因为这种方式涉及到的知识点比较少,也比较容易理解,不多作说明,现直接介绍编程步骤。

  1、从数据库中显示所需要的图片

  首先,添加一个Data数据控件,设置它的DatabaseName和RecordSource属性,

->strPath=App.Path
IfRight(strPath,1)<>"\"Then
 strPath=strPath&"\"
MyData.DatabaseName=strPath&"ExampleDB.mdb"数据库存地址
MyData.RecordSource="Info"表名->

  第二步,添加Image控件用来显示图片,设置它的DataSource和DataField属性。例如本例中:Image1.DataSource="MyData"和Image1.DataField="MyPhoto"。然后设置其它具有数据绑定功能的控件用来显示所要的其它内容,经过这两步的操作,运行程序就可以显示你要的数据了。

  2、向数据库中添加需要存储的图片

  首先,利用数据控件所具有的AddNew属性,添加一个按钮,双击后添加如下代码MyData.Recordset.AddNew

  第二步,为Image控件图片指定图片路径Image1.Picture=LoadPicture("图片路径"),经过这两步的操作,就可以向数据库中添加图片了。

  这种方法最简单快捷,要写的代码量很少。但是这种方法在运行速度和灵活性方面有一定的限制,适合于初学者和一些简单的应用,要想灵活多变的显示图像,下面介绍的方法或许更适应您的要求。

  利用编写代码实现图片的存储与显示

  这种方法相对于方法一来说,代码量大,但是它操作灵活,能够满足多样形式下的操作,受到更多编程者的青睐。但是涉及到的知识面相对要多一些,不仅要掌握数据库的操作方法,还要二进制文件的读写作进一步的了解。关于数据库及二进制文件的基本操作很多参考书上都介绍的比较详细,需要时请查阅即可。在编程之前把本部分用到的变量说明如下:

->DimRSAsNewADODB.Recordset
DimChunk()AsByte
ConstChunkSizeAsInteger=2384
DimDataFileAsInteger,Chunks,FragmentAsInteger
DimMediaTempAsString
DimlngOffset,lngTotalSizeAsLong
DimiAsInteger->

  1、从数据库中显示所需要的图片

  第一步首先打开数据库,看有没有要查找的内容,有则继续执行,没有就退出

->RS.Source="select*fromInfoWhereName="&sparaName&";"
RS.ActiveConnection="UID=;PWD=;DSN=TestDB;"
RS.Open
IfRS.EOFThenRS.cCose:ExitSub->

  第二步,读出长二进制数据即图片数据,把它转换成图片文件,操作过程如下

->MediaTemp=strPath&"picturetemp.tmp"
DataFile=1
OpenMediaTempForBinaryAccessWriteAsDataFile
lngTotalSize=RS!MyPhoto.ActualSize
Chunks=lngTotalSize\ChunkSize
Fragment=lngTotalSizeModChunkSize
ReDimChunk(Fragment)
Chunk()=RS!MyPhoto.GetChunk(Fragment)
PutDataFile,,Chunk()
Fori=1ToChunks
ReDimChunk(ChunkSize)
Chunk()=RS!MyPhoto.GetChunk(ChunkSize)
PutDataFile,,Chunk()
Nexti
CloseDataFile->

  第三步,关闭数据库,这样就可以显示所要的图片了。

->RS.Close
IfMediaTemp=""ThenExitSub
Picture1.Picture=LoadPicture(MediaTemp)
IfPicture1.Picture=0ThenExitSubj->

  2、向数据库中添加需要存储的图片

  向数据库添加存储的图片是显示图片逆过程,只要掌握了显示图片的操作,存储图片的操作也就迎刃而解了,下面将操作步骤介绍如下

  第一步首先打开数据库,过程如下:

->RS.Source="select*fromInfo;"
RS.CursorType=adOpenKeyset
RS.LockType=adLockOptimistic
RS.ActiveConnection="UID=;PWD=;DSN=TestDB;"
RS.Open->

  第二步,把要存储的图片转换成二进制长文件存入数据库中,操作过程如下

->RS.AddNew
DataFile=1
OpenstrPathPictureForBinaryAccessReadAsDataFile
FileLen=LOF(DataFile)文件中数据长度
IfFileLen=0Then:CloseDataFile:RS.Close:ExitSub
Chunks=FileLen\ChunkSize
Fragment=FileLenModChunkSize
ReDimChunk(Fragment)
GetDataFile,,Chunk()
RS!MyPhoto.AppendChunkChunk()
ReDimChunk(ChunkSize)
Fori=1ToChunks
 GetDataFile,,Chunk()
 RS!MyPhoto.AppendChunkChunk()
Nexti
CloseDataFile->

  第三步,更新纪录后,关闭数据库,就完成了数据图片到数据库的存储。

->RS.Update
RS.Close
SetRS=Nothing->

  两种方法在使用方面各有所长,读者可以针对自己的情况做出合理的选择。->


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·更改internet explorer的图标
·C#中的类型转换-.NET教程,C#语言
·找回flash的序列号sn
·更改ie的图标
·如何让你的VB6 IDE支持鼠标滚轮(过程)-.NET教程,VB.Net语言
·正则表达式Replace-.NET教程,Asp.Net开发
·Windows 2003下不注册组件用ASP发邮件-ASP教程,邮件相关
·防止ie被恶意修改的初级技巧
·asp.net实现分组全选部分复选框-ASP教程,ASP应用
·清理ie网址列表
最新文章
·seo新手教程:title的写法_seo网站优化
·从注册表下手 切断一切黑客入侵的路径_注册表教程
·用flash 8 as代码写摄像头拍照功能_flash教程
·小站长赚钱思路:ip不到1000,一个月赚940元_网赚技巧
·陈艺光:网络游戏平台与游戏网站实现共赢_站长访谈
·留住访客 如何最优化设计网站的首页?(2)_站长心得
·为什么在google上搜不到我的网页?_google推广
·google的秘密 搜索引擎利用软件的魔力加快奔跑_google推广
·域名与网站排名_站长心得
·怎样避免被搜索引擎视为作弊_站长心得
相关主题
  • vb实现图形动画的三种方法_visualbasic教程
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭