用VB存取SQL Server2000数据库中图片文件的方法.pdf
文本预览下载声明
科技信息 计算机与网络
用VB存取SQL
锦州师专计算机系 于占虎
【摘要]利用VB6.0中ADO Server2000数据库中图像数据的存取。
Field对象和Stream对象,实现对SQL
【关键词】VB6.0 Server2000
SQL 图片存取
1.引言 Dim As
sTokens0
String
在数据库应用系统开发中,经常要对大容量的图片进行存
个子串的数组
取,如在档案管理系统中存取人员的照片。而SQLServer2000不
SetExecuteCNN=New
支持INSERT和UPDATE语句对image数据类型字段进行编
辑,因此需编写专门过程来处理图像字段。笔者结合自己的实 ExeeuteCNN.OpenConnectString’打开连接
际应用,给出了实现此功能的方法,愿与同仁共享。 SetExecuteRst=New
2.SOLServer2000中图像数据的存储机制 象
Server2000数据库中,对于小于8000个字节的图像
在SQL ExecuteRst.Open
数据可以采用二进制型(Binary、Varbinary)来表示,但通常要保
adLockOpfimistie
Server提供了一种机 Set
存的图片一般都大于8000个字节。SQL
制,能存储每行大到2G的二进制对象(BLOB),这类对象可包EndFunction
括image、text和ntext三种数据类型,其中image数据类型存储
的是二进制数据。VB6.0存取SQLServer中BLOB数据有两种
方法。一是利用ADO
Field对象的AppendChunk和GetChunk方
法。二是利用Stream对象的LoadFromFile和SaveToFile方法。为
Field
了更好说明这两种方法,本示例程序存储图片采用ADO
对象的AppendChunk方法,而读取图片采用Stream对象的
SaveToFile方法。 代码如下:
3.示例实现步骤及代码 PrivateSub
Server2000中创建数据库DAGL。在DAGL中创
①在SQL 存到数据库
Rst.AddNew
建表Student,包括stu_no(char型,存放学号)、stu—name(char
型,存放姓名)、stu_photo(image型,存放照片)三个字段。
DAO
②在vB的“引用”对话框中选择Microsoft3.60biect蚴
ActiveXData 2.5 If Then
Library和MicrosoftObjectsLibrary,在VB的“部
件”对话框中选择MicrosoftCommonControl6.0。
Dialog
显示全部