您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> ACCESS >> 辅导 >> 正文    
  Access之图像文件的存储 【注册男护士专用博客】          

Access之图像文件的存储

www.nanhushi.com     佚名   不详 

  人们越来越热衷于在数据库中存储图像文件。例如销售产品的说明图片、工程设计图纸、公安部门存储身份证照片和指纹图像、图书馆数据库里的动植物标本照片、商品图片等等,类似的例子举不胜举。其中有很多存储在数据库里的图像是可以通过浏览器访问,提供给很多人使用的。

  想要将图片存储在数据库里有好几种方法。本文将为大家讲述如何在Access里存储图像,不过您也可以稍加变通扩展到其他不同的数据库引擎。

  数据库里的图像

  正如文本存储在文本框、日期存储在日期栏一样,图像也需要特定文件类型来存储。在SQL Server中,虽然被称为“图像”文件,不过在其他的数据库引擎中,可能有不同的名字,包括那个听起来很神气的二进制大型对象(BLOB)数据类型。在Access中,图像文件以OLE类型字段进行存储。这里为对细节感兴趣的人总结了用OLE类型存储图像文件的利弊。

  以OLE对象来存储图像会遇到一个问题,那就是Access数据库膨胀的速度急剧加快,从而使运行速度减慢。特别是当您存储GIF和JPEG格式文件时尤为明显,因为OLE会为每一个图像文件另外创建一个包含显示信息的位图文件;也就是说,如果您添加一个1MB的图像文件,那么实际占用的数据库空间要比1MB大多了。这些附加文件比原始文件的容量更大,从而使您的数据库变得臃肿不堪。牢记一点,Access数据库的最大存储空间只有2GB。如果要存储大量图像,很快就会达到这一存储极限,失去可用空间。不过,除了要小心数据库的膨胀之外,这确实是一个用于存储少量图像的简便之法。而且,如果您要移动数据库,这些存储在内的图像也会随之移动,不过在下面要讲到的方法中可能就不是这样了。

  指向图像

  我们还是使用OLE对象数据类型,不过在选择图像时使用“链接”选项(见后续实际步骤)。图像并非复制到数据库里,只是向数据库插入一个链接,链接到该图像。

  这样做也是有利有弊。有利的方面显而易见,是数据库膨胀问题得到了缓解。如果您对其中存储在磁盘上的某个图像文件进行编辑,当您从数据库内部查看该图像时,就能看到修改的痕迹。这种特性是好是坏取决于您想要实现的功能。

  不过,如果您想把Access文件转移到另外一台计算机,这些图像就无法跟着一起转移了。而且要更新两者之间的链接可能很困难,因为必须存放在Access某处的指向图像的指针(如C:\MyPics\Travels\lake.jpg)无法随时用于编辑。

  使用代码

  除了用OLE对象字段,还可以使用文本字段。用这种方法,您不是存储图像,而是存储了该图像路径的文本。您可以使用VB代码来控制图像的调用,以及图像显示的方式。这种做法可以节省大量存储空间,因为不管图像有多大,您存储的都只是一串文本字符串。

  此外,如果您把图像文件转移到另外的计算机,就算您存储的图像文件都不在同一个文件夹,您要做的只是在文本字段运行一个更新查询把指针指向新的位置。不过不足之处就是必须会用代码(当然,这取决于用户的专业知识水平)。如果需要存储的图像数量较多,建议使用此方法。

  花钱购买具有额外功能的控件

  您可以花钱为您的数据库添加新功能,用来处理和应用图像文件,如DBPix等。必须得承认,Access的图像处理功能并不能给您留下什么深刻印象,像对JPG文件的支持就非常弱。不过将这些文件存储在Access中还是没问题的,只是无法在某种形式下显示出来,至少默认设置下是不行的。要显示这些常见类型的图像文件就必须安装其他软件。

  虽然有很多不足,但存储和检索这些图像文件的过程倒是非产容易。下面我们就来看看具体操作的方法。

  进入实际应用阶段

  首先,创建一个表,添加一个OLE对象数据类型的字段。您会发现几乎没有什么可供设置的属性。接着点击“自动窗体”按钮,创建一个基于该表的默认窗体。奇怪的是,您在窗体里可以获得比在表里更多的图像属性控制权。如右击控件,您会找到可供设置的属性。现在,右击图像控件,选择“插入对象”,然后单击“由文件创建”的单选按钮。从这里开始您就可以选择是把图像嵌入到数据库还是链接到数据库。您还可以浏览并选择图像文件。

  不管您是将其嵌入还是将其链接,JPEG文件都不会出现在该控件里。不过,如果您双击控件,就会打开一个包含了图像的应用程序。另一方面,BMP格式的图像文件则可以在窗体里显示。

  用这种方法来添加图像文件会比较繁琐,不过您还可以将图像文件拖放到控件上,这样会快很多。虽然对于Access对JPEG文件的支持问题有点吹毛求疵,不过,在Access里处理图像文件已经是非常简单容易的了。

  输入和存储条形码

  在数据库中存储物品的条形码就像存储图像一样越来受到大家重视。这在商品经济发达的今天倒是显而易见的。在商品出售之前,其上的条形码需要被扫描到销售点的数据库里。其实整个过程并不困难。只要您有合适的扫描仪就没问题。

  可以这样想,我们通常用的输入设备是键盘。当光标出现在某个区域时我们可以打字,这样就会在屏幕上出现字符。键盘可以是USB设备,条形码扫描仪也可以制成USB设备。所以条形码扫描仪的制造商就把他们做成像键盘一样的USB简单输入设备。就像您可以安装两套都能用鼠标设备一样,您也可以安装两个均可用的“键盘”,把条形码读取器当成另外一个键盘一样正常操作数据库,把光标从一个字段移动到另一个字段。当光标移动到条形码字段时,您只要拿起读码器,按下按钮,过一会条形码上的数字就会在字段中。相当简单易行。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。