---- 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" ,再连接数据库取出图形,在加以显示。