asp学习网: 首页 >> asp与数据库 >> sql server教程 >> SQL Server中Image Data Type的使用技巧

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等函数进行图形的添加和修改。

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

CREATE TEALE test_image(
int_id INT NULL ,
image_text IMAGE NULL
)

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

INSERT INTO test_image VALUES (1,0xfffffff)

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

DECLARE @@tmp_data varbinary(16)
SELECT @@tmp_data = TEXTPTR(image_text) FROM test_image WHERE int_id=1
WRITETEXT test_image.image_text @@tmp_data 0x4749463839610500050080000081bbc800000021f90400000000002c0000000005000500000204848fa958003b


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

sp_dboption test,'select into/bulkcopy',True

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

DECLARE @@tmp_str varbinary(16)
SELECT @@tmp_data = TEXTPTR(image_text) FROM test_image WHERE int_id = 1

UPDATETEXT test_image.image_text @@tmp_data 0x4749463839610500050080000081bbc800000021f90400000000002c0000000005000500000204848fa958003b

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

<%
Response.Buffer = TRUE
Response.ContentType = "image/gif"

connString ="DRIVER=SQL Server;Database=TEST;SERVER=why;UID=wzw;password=abc"
set conn = SERVER.CreateObject("ADODB.connection")
conn.open connString
Set oRs = Conn.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
set oRs=nothing
set conn=nothing  'www.aspxuexi.com

%>


---- 设置属性 Response.Buffer=TRU和Response.ContentType = "image/gif" ,再连接数据库取出图形,在加以显示。


正确运行后应该是显示一个5*5的图片 
from:asp学习网/title:SQL Server中Image Data Type的使用技巧/ time:2007-7-7 22:25:44

本文主题SQL Server

SQL Server 连接基础

SQL Server中的日期计算

监测你的SQL SERVER的瓶颈

另类方法维护Sql Server中表的索引

sql server 更改表的所属用户的两个方法

sql server 删除数重复数据的几个方法

SQL SERVER日志清除的两种方法

一些Sql Server实用操作小技巧

asp教程 ©2006-2007 aspxuexi.com | 关于站点 | 版权隐私 | 站内搜索
复制或者翻版 请于夜间进行