



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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按钮进行浏览。三、代码实现1、 声明常量和变量:Dim cnnImage As New ADODB.ConnectionDim rsImage As New ADODB.RecordsetDim strSql As StringDim Chunk() As ByteDim lngLengh As LongDim intChunks As IntegerDim intFragment As IntegerConst ChunkSize = 1000Const lngDataFile = 12、 窗体的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_ClickEnd Sub主要利用ADO对象建立程序与数据库的链接。3、 定义公共函数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) 建立图片临时文件 Put lngDataFile, , Chunk() Next I Close lngDataFile FileName = pictemp Picture1.PaintPicture LoadPicture(FileName), 0, 0, Picture1.Width, Picture1.HeightEnd Sub 4、 打开对话框(cmdBrowse按钮)代码 Private Sub cmdBrowse_Click() 选择JPG OR Bmp 文件 On Error Resume Next With cmdlFilePath .Filter = JPG Files|*.JPG|Bitmaps|*.BMP .ShowOpen txtFilePath.Text = .FileName End WithEnd Sub5、 保存按钮(cmdSave)代码: Private Sub cmdSave_Click() 保存文件到数据库中去 If Trim(txtFilePath.Text) = Then MsgBox .!, vbInformation + vbSystemModal, 保存出错 Exit Sub End If If (Dir(Trim(txtFilePath.Text) = ) Then Exit Sub以二进制的方式打开文件Open Trim(txtFilePath.Text) For Binary Access Read As lngDataFilelngLengh = LOF(lngDataFile) 文件大小If lngLengh = 0 Then Close lngDataFile: Exit Sub intChunks = lngLengh ChunkSize intFragment = lngLengh Mod ChunkSize 新建记录 rsImage.AddNew ReDim Chunk(intFragment) Get lngDataFile, , Chunk() rsImage!picImage.AppendChunk Chunk() ReDim Chunk(ChunkSize) For I = 1 To intChunks Get lngDataFile, , Chunk() rsImage!picImage.AppendChunk Chunk() Next I rsImage.Update Close lngDataFile Call ShowPicEnd Sub6、 各功能按钮(cmdExit、cmdFirst、cmdPrev、cmdNext和cmdLast)代码: Private Sub cmdExit_Click() EndEnd SubPrivate Sub cmdFirst_Click() On Error Resume Next rsImage.MoveFirst Call ShowPicEnd SubPrivate Sub cmdNext_Click() On Error Resume Next rsImage.MoveNext Call ShowPicEnd SubPrivate Sub cmdPrev_Click() On Error Resume Next rsImage.MovePrevious Call ShowPicEnd SubPrivate Sub cmdLast_Click() On Error Resume Next rsImage.MoveLast Call ShowPicEnd Sub四、结束语本实例主要是利用ADO 对象的AppendChunk 和GetChunk 方法来实现数据库存取图片,过程清晰,方法简单易懂,适合初学者参考学习。参考文献
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 珠海艺术职业学院《数据处理与分析》2024-2025学年第一学期期末试卷
- 山东财经大学燕山学院《3d软件处理》2024-2025学年第一学期期末试卷
- 吉林外国语大学《口腔工艺技术概论》2024-2025学年第一学期期末试卷
- 生物医药行业创新药物研发进展报告
- 公司股权转让合同范本2024
- 加油站安全管理制度及责任书范本
- 2025年再保险服务项目规划申请报告
- 安徽理工大学《虚拟空间设计与质感表现》2024-2025学年第一学期期末试卷
- 长春早期教育职业学院《木结构工程保护学》2024-2025学年第一学期期末试卷
- 武汉大学《煤岩学与煤质学》2024-2025学年第一学期期末试卷
- 神经内科常规用药指南
- 矿业公司采矿管理制度
- 新疆维吾尔自治区国际创伤生命支持ITLS职业考试试卷与答案
- 非标设备公司采购管理制度
- 2025年的基层治理理论与实践考核试卷及答案
- 2025年江西省高考物理真题
- 甘肃白银有色集团股份有限公司招聘考试真题2024
- 外贸合伙人合同协议书
- 登销记以及运统46系统运用21课件
- 《电磁感应现象解析》课件
- 职业技术学院旅游管理专业《智慧旅游技术应用》课程标准
评论
0/150
提交评论