如何用VB存取SQL Server中的图像数据--免费毕业论文、毕业论文范文、毕业论文格式、毕业论文提纲,毕业论文网,提供计算机应用论文,计算机论文,工学论文毕业论文提纲、毕业论文范文、毕业论文格式等.
喜欢WitkeyCity.Com,请把WitkeyCity.Com告诉你QQ上的5位好友,多谢支持!
网站地图
合作联系
收藏本站

首 页 经济学论文 财政税收 证券金融 管理学论文 会计审计 工商管理 财务管理 公共管理 法学论文 理学论文 医药学论文
政治论文 社会学论文 文学论文 教育类论文 工学论文 计算机论文 艺术类论文 哲学论文 文化论文 英语论文 应用文 论文写作指导
邮电通信

   
 ·推荐免费论文
·2007县委办公室先进性教育活动工
·用科学发展观统领农业和农村经济
·计算机实习报告范文
·调查报告:大学生眼中的电子商务
·当前农村初中生学习心理的调查报
·求职信的格式和写作要点 
·英文简历写作的注意事项 
·毕业论文写作的基本要求
·计算机软件许可证协议书
 ·最近更新论文
·在电子商务中如何正确的使用数据
·大型ORACLE数据库优化设计方案
·在VB6.0数据库程序开发中使用ADO
·浅谈VFP报表打印问题
·通用网页查询函数的设计与应用
·构建校园网页面电子邮件系统
·Delphi中画布应用两则
·利用RCM2200实现以太网与异步串口
·Oracle数据库的优化
 ·推荐链接
   当前位置:首页 > 计算机论文 > 计算机应用 > 论文正文
联系我们 客户反馈

如何用VB存取SQL Server中的图像数据

来源:  [ 2007-3-8 21:22:37 ]  作者:未知  编辑:
收藏到VIVI | 收藏到365KEY | 收藏到YOUNOTE | 收藏到博采| 收藏到天极网摘 | 收藏到和讯网摘
摘要   本文介绍MIS SQL Server对图像数据的存储机制和存取方法。针对VB开发工具,介绍了一种通过ADO Field 对象的GetChunk 方法和AppendChunk 方法来存取MIS SQL Server中的图像数据的方法。
关键词    ADO Field对象  BLOB  对象 GetChunk和AppendChunk 方法   image数据类型   医院信息系统
 MIS SQL Server  
 
          在一个完善的医院信息MIS中,图像数据的存取是必不可少的,比如X光片、CT像片的保存。一方面,这些图像数据在远程诊疗为准确诊断病情提供了重要的依据,另一方面,也为快速查阅病人资料提供了基本条件。图像数据的存取在其它应用系统如GIS中也有广泛的应用。
1、   SQL Server中图像数据的存储机制
     在MIS SQL Server 中,对于小于 8000 个字节的图像数据可以用二进制型(binary、varbinary)来表示。但通常要保存的一些医学影像图片都会大于 8000个字节。SQL Server提供了一种机制,能存储每行大到 2G的二进制对象(BLOB),这类对象可包括image、text和ntext三种数据类型。Image数据类型存储的是二进制数据,最大长度是 231-1 (2,147,483,647)个字节[2][3]。
BLOB数据在MIS SQL Server系统中的存储方式不同于普通的数据类型,对于普通类型的数据系统直接在用户定义的字段上存储数据值,而对于BLOB类型数据,系统开辟新的存储页面来存放这些数据,表中BLOB类型数据字段存放的仅是一个16个字节的指针,该指针指向存放该条记录的BLOB数据的页面。
2、 SQL Server中图像数据的存取
在MIS SQL Server中,当数据小于 8000 个字节时,可以用普通的SQL操纵语句(SELECT、INSERT、UPDATE、DELETE)来完成对字段的操纵,当数据大于8000个字节时,SQL提供了 WRITETEXT 、READTEXT和UPDATETEXT这三个函数来读取和修改数据。这三个函数的使用方法为:
(1) WRITETEXT {table.column text_ptr}[WITH LOG] {data} 
table.column为表中的字段,text_ptr为一个16个字节的指针,data为要写的数据值。可
选参数WITH LOG表示是否要写入日志文件中。
例: DECLARE @ptrval     binary(16)  --指针
    SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
    WRITETEXT zy_ct.img_ct @ptrval 0x024324142342134214213421421454353452341
(2) READTEXT {table.column text_ptr offset size} [HOLDLOCK]
table.column为表中的字段,text_ptr为一个16个字节的指针,offset 为偏移量,即从
第几个字节开始读数据,size为要读的字节数,HOLDLOCK 为在读数据中是否充许其他用户
修改该数据。
例:DECLARE @ptrval varbinary(16)
    SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
    READTEXT zy_ct.img_ct @ptrval 1 25
(3) UPDATETEXT {table_name.dest_column_name dest_text_ptr}{NULL|insert_offset}
{ NULL | delete_length}[WITH LOG][ inserted_data| {table_name.src_column_name src_text_ptr}]
table_name.dest_column_name 为要修改的text, ntext, 或 image字段;
dest_text_ptr为指向其的指针;insert_offset为偏移量,对于text和image为从
第几开始字节开始写,对于ntext为从第几个字符(双字节)开始写;delete_length
为从insert_offset开始删除delete_length长度的字节(符),为0时不删除,为NULL时
为删除从insert_offset开始到结束的所有数据。要插入的数据为 inserted_data为,也可
是表table_name的src_column_name字段中指针 src_text_ptr所指数据。
例: DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001
    UPDATETEXT zy_ct.img_ct @ptrval 16 0x54345
可以看出,这三个函数的使用比较复杂,虽然可以通过生成存贮过程来调用执行,但有一个缺陷是在读取数据时,READTEXT函数读取的数据无法直接传递回前端应用程序。
3、 VB 6.0中图像数据的存取
VB 6.0 的ADO Field 对象提供了GetChunk 方法和AppendChunk 方法来存取BLOB数据[1],这两个函数实质是通过API调用WRITETEXT 、READTEXT和UPDATETEXT这三个函数,简化了调用的方法。
(1)GetChunk 和AppendChunk方法介绍
GetChunk 方法检索其部分或全部长二进制或字符数据[4]。GetChunk 调用返回的数据将赋给“变量”。如果 Size 大于剩余的数据,则 GetChunk 仅返回剩余的数据而无需用空白填充“变量”。如果字段为空,则 GetChunk 方法返回 Null。每个后续的 GetChunk 调用将检索从前一次 GetChunk 调用停止处开始的数据。但是,如果从一个字段检索数据然后在当前记录中设置或读取另一个字段的值,ADO 将认为已从第一个字段中检索出数据。如果在第一个字段上再次调用 GetChunk 方法,ADO 将把调用解释为新的 GetChunk 操作并从记录的起始处开始读取。Field 对象的第一个 AppendChunk 调用将数据写入字段,覆盖所有现有的数据,随后的 AppendChunk 调用则添加到现有数据。

本论文共2页,当前在第1页  1  2  

论文首页】【设为主页】【字体: 加入收藏】【打印本文】【回到顶部
 
上篇文章: 浅谈EFT系统的应用及发展  下篇文章: 利用ASP实现网上数据库检索
网站首页 - 友情链接 - 网站地图 - 加入收藏

声明:中国论文网毕业论文资料来源于网络,如有侵犯您的权益,请立即告知,我们将删除!
联系方式: E-mail:Laozhanga@QQ.COM QQ:75931341
喜欢WitkeyCity.Com,请把WitkeyCity.Com告诉你QQ上的5位好友,多谢支持!
冀ICP备07000828号