时间:2024-04-09 22:26:03 浏览:415
库里精巧图片 | 如何才干往数据库里读取图片数据或许从数据库里读图片
摘要本文以VB6与Access97作为开发工具,引见了图像在数据库中的存储与显示技术。
关键词数据库,数据控件,二进制,图像存储,图像显示,ADODB,Recordset
数据库是数据管理的最新技术,是计算机迷信的重要分支,是现代计算机信息系统和计算机运用的基础和中心。在迷信技术高速开展的明天,在信息资源无处不在、无处不用,已成为各部门的重要财富的时分,关于从事顺序开发的人员来说显得尤为重要。
如今,对数据库的操作不只仅满足于对字符和数字的单一操作,图像的存储与显示已显得尤为重要。下面作者将以VB6.0与Access97作为开发工具,区分引见两种图像显示与存储的方法。
应用这种方法,不写或写大批代码就可以结构复杂的数据库运用顺序,这种方法易于被初学者接受。在举例之前,先把数据绑定功用简明的说明一下,凡是具有DataSource属性的控件都是对数据敏感的,它们都能经过数据控件直接运用数据库里的数据。比如CheckBox Control, ComboBox Comtrol, TextBox Comtrol, PictureBox Control,Image Comtrol…由于这种方式触及到的知识点比拟少,也比拟容易了解,不多作说明,现直接引见编程步骤。
1、从数据库中显示所需求的图片
首先,添加一个Data数据控件,设置它的DatabaseName和RecordSource属性,
If Right(strPath, 1)<>'\' Then
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('图片途径'),经过这两步的操作,就可以向数据库中添加图片了。
这种方法最复杂快捷,要写的代码量很少。但是这种方法在运转速度和灵敏性方面有一定的限制,适宜于初学者和一些复杂的运用,要想灵敏多变的显示图像,下面引见的方法或许更顺应您的要求。
应用编写代码完成图片的存储与显示
这种方法相关于方法一来说,代码量大,但是它操作灵敏,可以满足多样方式下的操作,遭到更多编程者的喜爱。但是触及到的知识面相对要多一些,不只要掌握数据库的操作方法,还要二进制文件的读写作进一步的了解。关于数据库及二进制文件的基本操作很多参考书上都引见的比拟详细,需求时请查阅即可。在编程之前把本局部用到的变量说明如下:
Const ChunkSize As Integer= 2384
Dim DataFile As Integer, Chunks, Fragment As Integer
Dim lngOffset, lngTotalSize As Long
1、从数据库中显示所需求的图片
第一步首先翻开数据库,看有没有要查找的内容,有则继续执行,没有就参与
RS.Source='select* from Info Where Name=''& sparaName&'';'
RS.ActiveConnection='UID=;PWD=;DSN=TestDB;'
If RS.EOF Then RS.cCose: Exit Sub
第二步,读出长二进制数据即图片数据,把它转换成图片文件,操作进程如下
MediaTemp= strPath&'picturetemp.tmp'
Open MediaTemp For Binary Access Write As DataFile
lngTotalSize= RS!MyPhoto.ActualSize
Chunks= lngTotalSize\ ChunkSize
Fragment= lngTotalSize Mod ChunkSize
Chunk()= RS!MyPhoto.GetChunk(Fragment)
Chunk()= RS!MyPhoto.GetChunk(ChunkSize)
第三步,封锁数据库,这样就可以显示所要的图片了。
Picture1.Picture= LoadPicture(MediaTemp)
If Picture1.Picture= 0 Then Exit Subj
2、向数据库中添加需求存储的图片
向数据库添加存储的图片是显示图片逆进程,只需掌握了显示图片的操作,存储图片的操作也就迎刃而解了,下面将操作步骤引见如下
第一步首先翻开数据库,进程如下:
RS.Source='select* from Info;'
RS.ActiveConnection='UID=;PWD=;DSN=TestDB;'
第二步,把要存储的图片转换成二进制长文件存入数据库中,操作进程如下
Open strPathPicture For Binary Access Read As DataFile
FileLen= LOF(DataFile)'文件中数据长度
If FileLen= 0 Then: Close DataFile: RS.Close: Exit Sub
Chunks= FileLen\ ChunkSize
Fragment= FileLen Mod ChunkSize
RS!MyPhoto.AppendChunk Chunk()
RS!MyPhoto.AppendChunk Chunk()
第三步,更新纪录后,封锁数据库,就完成了数据图片到数据库的存储。
两种方法在运用方面各有所长,读者可以针对自己的状况做出合理的选择。
方法很容易完成的.和楼上的不太一样.
硬件和软件两个方面都有能够形成花屏的状况。
1、显示出横条或竖,普通是液晶屏排线断线形成的。这种状况普通很难修复。
2、显示出云彩状的斑点花屏,是由于屏幕坏了,需求换新的屏幕。
3、开机或运用进程中偶然出现乱码(图像或文字紊乱),缘由能够有多种,软件坏的能够性最大,重新刷机普通就会好。
4、另外就是CPU损坏也有能够,手机字库(闪存)损坏也有能够,这种缺点普通能修复,但比拟费事。
软件方面主要是有以下两个缘由:
1、假设是在翻开手机中的软件进程中出现的花屏,最好的处置方法就卸载以后软件,然后用同类功用相当的软件来替代。
2、假设还是不行的话,就选择重新刷写手机ROM,普通来说,假设不是由硬件缺点形成的花屏现象,经过重新刷ROM都可以处置。
可以依照以上的缘由逐一排查,直到找出相应的缘由,假设以上缘由都不包括,可及时去相关维修点停止维修。
由于往常手机都是随身携带的,而且运用频率较高,往常运用中需求留意维护,不要让手机进水、摔伤等,以防手机出现各种状况。
标签: