- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB中用数据库存取图片的实现
摘 要:VB 数据库中图像数据的存取对初学者来说是个难点,本文利用ADO 对象的AppendChunk 和GetChunk 方法来实现数据库存取图片,以供初学者参考。
关键字:VB;数据库;图片;存取;AppendChunk ;GetChunk
图像数据的存取对初学者来说是个难点,而当前的VB 教学因课时较短,所选教材或讲授过程对数据库一章要么忽略要么只是简单地介绍,很少涉及到图像的存取问题,而专业数据库开发书籍中的大量源代码又让初学者看得头疼,所以本文利用ADO 对象的AppendChunk 和GetChunk 方法来实现数据库存取图片,以供参考。
一、界面设计
在Form1中添加控件1个PictureBox(名称为picture1),1个TextBox(名称为txtfilepath),1个CommonDialog(名称为cmdlFilePath),7个CommandButton(名称分别为cmdBrowse、cmdSave、cmdExit、cmdFirst、cmdPrev、cmdNext和cmdLast),整体界面如下图所示:
主界面示意图
二、编程思路
利用Access创建一个数据库命名为image,在image数据库中创建一个数据表imagestore,在imagestore数据表中创建srno和picimage两个字段,其中srno字段类型为自动编号,picimage字段类型为OLE对象。在程序中点击cmdBrowse按钮打开CommonDialog,选择要插入的图片,选中后该图片的路径在txtfilepath中显示,点击保存按钮后图片被保存进image.mdb,同时在picture1中显示图片。保存多个图片后可利用cmdFirst、cmdPrev、cmdNext和cmdLast按钮进行浏览。
三、代码实现
声明常量和变量:
Dim cnnImage As New ADODB.Connection
Dim rsImage As New ADODB.Recordset
Dim strSql As String
Dim Chunk() As Byte
Dim lngLengh As Long
Dim intChunks As Integer
Dim intFragment As Integer
Const ChunkSize = 1000
Const lngDataFile = 1
窗体的FormLoad事件代码:
Private Sub Form_Load()
rsImage.LockType = adLockOptimistic
rsImage.CursorType = adOpenKeyset
cnnImage.Provider = Microsoft.Jet.OLEDB.4.0
strSql = App.Path \Image.mdb
cnnImage.Open strSql
strSql = Select * From ImageStore
rsImage.Open strSql, cnnImage
If (rsImage.BOF = True) And (rsImage.EOF = True) Then Exit Sub
Call cmdFirst_Click
End Sub
主要利用ADO对象建立程序与数据库的链接。
定义公共函数ShowPic
Public Sub ShowPic()
On Error Resume Next
Open pictemp For Binary Access Write As lngDataFile
lngLengh = rsImage!picImage.ActualSize
intChunks = lngLengh \ ChunkSize
intFragment = lngLengh Mod ChunkSize
ReDim Chunk(intFragment)
Chunk() = rsImage!picImage.GetChunk(intFragment)
Put lngDataFile, , Chunk()
For I = 1 To intChunks
ReDim Buffer(ChunkSize)
Chunk() = rsImage!picImage.GetChunk(ChunkSize)
’’’’’’’’’’’’’’’’’’’
文档评论(0)