频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

VB程序中数据库的图片处理的解决方法

来源: 作者: 出处:巧巧读书 2006-10-13 进入讨论组
引用:http://www.qqread.com/vb/i219171.html


    在数据库中,我们经常遇到需要处理图片的情况。例如,如  

果我们在产品数据库中存储了产品的照片,那将给顾客以直接的  

感官认识。  

    在数据库中,图片的特殊性有两点:1、图片所占存储空间常  

常是比较大的;2、图片的处理常常需要外部的程序。  

    在标准SQL语言中,提供了BLOB和CLOB数据类型来存储巨大的  

二进制或字符数据。Microsoft SQL Server中的text数据类型相  

当于BLOB,而image数据类型相当于CLOB。  

    小型数据库我们常用ACCESS。在ACCESS中,备注数据类型可  

以存储最多为 65,535 个字符,而OLE对象数据类型可以存储最多  

1 G 字节的链接或嵌入的对象(例如 Microsoft Excel 电子表格  

、Microsoft Word 文档、图形、声音或其他二进制数据)。  

    因为图片的大小常超出备注数据类型的限制,且用OLE类型更  

方便,下面叙述一种在VB程序中处理ACCESS数据库中图片处理的  

办法。  

    在该方法中,我们要利用ACCESS数据库中的OLE数据类型存储  

图片,在VB程序中用OLE控件处理图片。  

    由于OLE对象不能支持ADO和OLEDB,我们要用DAO来连接数据  

。  

    首先,在ACCESS数据库的表中,增加一个OLE对象数据类型的  

列,用来存储图片。  

    其次,在VB程序中,添加一个Data控件,设置必要的属性,  

建立数据库连接。当然,可以用代码实现,只是比较麻烦,有挑  

战性,但更灵活。  

    在VB程序中添加一个OLE控件,出现插入对象对话框,选择新  

建画笔图片或图像文档、位图图像等等反正能处理图像的OLE类型  

。在此,我们选择新建画笔图片。  

    设置OLE控件的DataSource属性为Data控件,DataField属性  

为数据库表的OLE类型列的名字。  

    就这么简单,我们可以试着运行它。  

    我们可以右键单击运行中的VB程序的OLE控件,出现编辑和打  

开快捷菜单。选择编辑将会在窗口中嵌入画图程序的菜单;选择  

打开将调用画图程序来打开图片。这样,我们就可以很方便地编  

辑图片了。我们可以双击OLE控件,这样相当于选择编辑快捷菜单  

。  

    以上方法我在VB6+ACCESS 2000中测试通过。其实,只要我们  

理解Windows的OLE技术,以上方法是很容易理解的。  

    那么,如果在不支持OLE类型的大型数据库中,如Oracle、  

Microsoft SQL Server中,如何来处理图片呢。  

    在大型数据库中,我们可以用BLOB或CLOB类型来存储图片。  

因为图片数据是二进制的,用BLOB类型更好。  

    我们把图片文件的内容整个当作一个BLOB字段,读入数据库  

中。  

    我们要在客户程序中处理图片时,将数据库中的BLOB字段读  

出,写入到一个临时文件中,再调用外部程序打开该临时文件,  

处理完后更新数据库,最后删除临时文件。  

    由于数据库不支持象Real Movie的流式传输,我想,一个临  

时文件是免不了的。如果你能力强,可以寻求在内存中处理。  

    以上是我对数据库中的图片处理的一些看法,希望能对有需  

要的网友有些帮助。

更多文章 更多内容请看数据库专栏数据库处理专题城域网专题专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章