奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 程序开发 >> VB >> VB程序中数据库的图片处理的解决方法
程序开发
Asp
PHP
JSP
CGI/Perl
XML
.Net
C/C++/C#
Visual Basic
Visual C++
Delphi
Java
汇编语言
  • VB中使用WinSock控件传

  • VB API函数介绍——控

  • VB从零开始编外挂(完整

  • VB.Net实现Web Servic

  • 老树新芽 体验Visual 

  • vb中利用xmlhttp来下载

  • vb中使用正则表达式

  • ASP.NET中Cookie编程的

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

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-22

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

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

    感官认识。  

        在数据库中,图片的特殊性有两点: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的流式传输,我想,一个临  

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

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

    要的网友有些帮助。

    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.