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