计算机世界日报
返回首页 产品报价 实用技巧 国产软件 技术天地 站点精选

计算机世界展览会日报

  综合要闻
  企业&人.com
  产品与技术
  网络与通信
  市场与渠道
  99全文检索

CCW网站

  网络世界
  微电脑世界
  IT经理世界
  CCW展览
  信息服务中心   家用电脑世界

兄弟刊物

  电子与信息化
  今日电子
  中国新闻科技
  电子知识产权
  电子产品世界

网上专递

  Linux园地
  友情链接
  冬涛谈法
Dongtao on Law

98内容总汇



实用技巧

SQL Server中Image Data Type的使用技巧

国商网络有限公司
蒋心武

---- MS SQL Server 是微软公司推出的大型数据库软件,在NT平台上拥有近一半的数据库市场,特别是在SQL Server 7.0推出后,其发展势头更加迅猛。SQL Server中Image数据类型是用来存储图形的。在此我谈谈怎样增、删、改此类型数据及在主页中读出此类型数据。

---- 一、在表中添加图形

---- Image 数据类型不同于其它数据类型,不能用Insert 、Update的标准SQL语法进行图形的添加和修改。需用到SQL Server中的TEXTPTR 、WRITETEXT、UPDATETEXT等函数进行图形的添加和修改。

---- 首先假设在库Im_Test中建立一张表Im_Info,此表中有两个字段,分别为Pr_Id (INT),Pr_Info (IMAGE),用来存储图形编号及图形信息。其语法如下:

	CREATE  TEALE  Im_Info  (
		Pr_Id  INT  NULL  ,
		Pr_Info  IMAGE  NULL
	)

---- 第一步往表中插入一条记录,并初始化PR_INFO字段。其语法如下:

	INSERT  INTO  Im_Info  VALUES (1 ,0xFFFFFFFF)

---- 第二步往表中写入图形信息。其语法如下:

DECLARE @@ptrval varbinary(16)
SELECT @@ptrval = TEXTPTR(Pr_Info) 
		FROM Im_Info
			WHERE Pr_Id = 1
WRITETEXT Im_Text.Im_Info  
@@ptrval  0x624fd543fd…..

---- 其中0x624fd543fd….. 为图形的十六进制数据,可以通过C 、Java等工具获得。注意在写入图形信息前必须先将此数据库的 'select into/bulkcopy' 属性设置为 True ,其语法如下:

sp_dboption Im_Test ,
'select into/bulkcopy' ,True

---- 若想修改图形数据可用UPDATETEXT函数修改,其语法如下:

DECLARE @@ptrval varbinary(16)
SELECT @@ptrval = TEXTPTR(Pr_Info) 
		FROM Im_Info
			WHERE Pr_Id = 1
UPDATETEXT Im_Text.Im_Info 
@@ptrval  0xaa31bcfe543fd…..

---- 二、在主页中显示图形

---- 第一步建立数据源

---- 若想将加入的图形显示在主页中,必须先建立数据源,打开Windows 中的控制面板。 通过ODBC 应用程序,建立数据源(取名Im_Test)连接到Im_Test数据库

---- 第二步编写程序

< % @ LANGUAGE = VBScript	% >
< % Option Explicit % >
< %
	Dim oConn		
	Dim oRs		
	Dim Pic		
	Dim PicSize		
	
	Response.Buffer = TRUE
	Response.ContentType = "image/gif"

	Set oConn = Server.CreateObject
    ("ADODB.Connection")
	oConn.Open "Im_Test",”sa”,””
	Set oRs = oConn.Execute("SELECT Pr_Info
    FROM Im_Info WHERE Pr_Id=1”)

	PicSize = oRs("Pr_Info").ActualSize
	Pic = oRs("Pr_Info ").GetChunk(PicSize)
	
	Response.BinaryWrite Pic
	Response.End
% >

---- 此程序中先定义四个变量。然后设置属性 Response.Buffer=TRU和Response.ContentType = "image/gif" ,再连接数据库取出图形,在加以显示。

 
免 费 订 阅

实用技巧分类

Office应用
CAD
C、C++
数据库应用
Delphi
Internet应用
Java
Notes应用
操作系统应用
PowerBuilder
VB
Visual Foxpro
其他类
上周 排行榜
如 何 投 稿 ?

编者的话

在日常的工作生活中, 我们对计算机软硬件技术的应用开发肯定有许多的心得体会, 拿来和众人分享:让别人得到他们想要的,使自己找到苦苦寻觅的; 小的点点滴滴,大的工程系统,这里都需要。投稿 的关键在“技巧”二 字,知他人所不知,这样的稿件本栏最最欢迎! 大家公认的 好文章自然会有好的奖励。希望每个人 在这里都有所收获...

r2.gif (980 bytes)
  中国惠普
  3Com中国
  Motorola中国
  CA中国
  Cabletron
  Sony在中国
  西门子WinCC
  爱普生中国
  中国建设银行
  德州仪器(TI)
  问博医药


中国计算机世界出版服务公司版权所有