论文部分内容阅读
摘要:本文主要描述图形图像数据的处理方式;并介绍集成方式下,如何访问SQL数据库中的图形图像数据的技术。
关键词:图形图像数据;集成式;读取;保存
随着计算机技术的不断发展,计算机可处理的信息源种类也越来越丰富,其中就包括图形图像。在日常处理事务中,人们也往往将图形图像列为一个重要的相关数据加以保存和处理。图形图像文件常见为.bmp、.jpg或.gif文件。
数据库技术中,通常对图形图像数据的处理有两种方式。(1)集成式:将图形图像数据集成到数据库中,和普通的文本和数值数据存储在一起,使得给定数据库实体的所有相关信息都会集中。集成式有利于通过查询图形图像数据的相关文本信息来查找和检索图形图像数据;(2)分离式:即把图形图像文件存储在数据库外部,在数据库中包含对象的文件路径或URL。分离式在编程方面比较容易,数据库也较小,但必须手动创建、维护数据库和外部系统文件间的某种链接,往往稍不注意就会导致不同步。
大多数现代数据库如SQL Server、Oracle和UDB提供的二进制存储区可以容纳所有类型的对象。在本文中就是将图形图像数据集成到SQL数据库中,和它们相关的文本和数值数据保存在一起。那么如何访问集成到数据库中的图形图像数据,并进行存取操作呢?下面就利用SQL数据库Northwind中自己新建的数据表tuxing(学号(char,10),地址(char,60),图形(image,16))进行图形字段值的存取操作。
1. 從SQL数据库中读取图形图像数据显示到窗体的图像控件中
使用SqlDataReader检索图形图像数据类似于检索字符和数值数据,但有一些重要的区别,其中最主要的区别是要在Command对象的ExecuteReader方法上使用CommandBehavior.SequentialAccess来访问标记。在指定SequentialAccess时,会改变DataReader两个方面的默认执行方式。首先,不需按列的返回顺序读取它们,即可以在数据流中快速向前移动。但是,一旦应用程序在返回的数据库中向后读取到某个位置,就不能再读取当前位置之前的数据了。其次,CommandBehavior.SequentialAccess标记关闭了DataReader的正常缓存模式,在正常的缓存模式下,DataReader总是一次返回一行,而不是把结果送回应用程序。
为了访问文件系统,需要把.NET的System.IO命名空间导入到应用程序中。即在项目中添加代码: ImportsSystem 和ImportsSystem. IO 。然后利用SqlDataReader和以下的代码对SQL数据库中的图形图像数据进行访问:
Private Sub ReadPic_Click(ByVal sServer As String, ByValsDB As String) Handles ReadPic.Click
Dim Scnn1 As New SqlClient.SqlConnection(“SERVER=”
关键词:图形图像数据;集成式;读取;保存
随着计算机技术的不断发展,计算机可处理的信息源种类也越来越丰富,其中就包括图形图像。在日常处理事务中,人们也往往将图形图像列为一个重要的相关数据加以保存和处理。图形图像文件常见为.bmp、.jpg或.gif文件。
数据库技术中,通常对图形图像数据的处理有两种方式。(1)集成式:将图形图像数据集成到数据库中,和普通的文本和数值数据存储在一起,使得给定数据库实体的所有相关信息都会集中。集成式有利于通过查询图形图像数据的相关文本信息来查找和检索图形图像数据;(2)分离式:即把图形图像文件存储在数据库外部,在数据库中包含对象的文件路径或URL。分离式在编程方面比较容易,数据库也较小,但必须手动创建、维护数据库和外部系统文件间的某种链接,往往稍不注意就会导致不同步。
大多数现代数据库如SQL Server、Oracle和UDB提供的二进制存储区可以容纳所有类型的对象。在本文中就是将图形图像数据集成到SQL数据库中,和它们相关的文本和数值数据保存在一起。那么如何访问集成到数据库中的图形图像数据,并进行存取操作呢?下面就利用SQL数据库Northwind中自己新建的数据表tuxing(学号(char,10),地址(char,60),图形(image,16))进行图形字段值的存取操作。
1. 從SQL数据库中读取图形图像数据显示到窗体的图像控件中
使用SqlDataReader检索图形图像数据类似于检索字符和数值数据,但有一些重要的区别,其中最主要的区别是要在Command对象的ExecuteReader方法上使用CommandBehavior.SequentialAccess来访问标记。在指定SequentialAccess时,会改变DataReader两个方面的默认执行方式。首先,不需按列的返回顺序读取它们,即可以在数据流中快速向前移动。但是,一旦应用程序在返回的数据库中向后读取到某个位置,就不能再读取当前位置之前的数据了。其次,CommandBehavior.SequentialAccess标记关闭了DataReader的正常缓存模式,在正常的缓存模式下,DataReader总是一次返回一行,而不是把结果送回应用程序。
为了访问文件系统,需要把.NET的System.IO命名空间导入到应用程序中。即在项目中添加代码: ImportsSystem 和ImportsSystem. IO 。然后利用SqlDataReader和以下的代码对SQL数据库中的图形图像数据进行访问:
Private Sub ReadPic_Click(ByVal sServer As String, ByValsDB As String) Handles ReadPic.Click
Dim Scnn1 As New SqlClient.SqlConnection(“SERVER=”