只返回单一记录集的存储进程
假设有以下存储进程(本文的目的不在于讲述T-SQL语法,所以存储进程只给出代码,不作说明):
/*SP1*/
CREATE PROCEDURE DBO.GETUSERLIST
AS
SET NOCOUNT ON
BEGIN
SELECT * FROM DBO.[USERINFO]
END
GO
以上存储进程取得USERINFO表中的所有记录,返回一个记录集。通过COMMAND对象调用该存储进程的ASP代码如下:
'**通过COMMAND对象调用存储进程**
DIM MYCOMM,MYRST
SET MYCOMM = SERVER.CREATEOBJECT("ADODB.COMMAND")
MYCOMM.ACTIVECONNECTION = MYCONSTR 'MYCONSTR是数据库连接字串
MYCOMM.COMMANDTEXT = "GETUSERLIST" '指定存储进程名
MYCOMM.COMMANDTYPE = 4 '表明这是一个存储进程
MYCOMM.PREPARED = TRUE '要求将SQL命令先行编译
SET MYRST = MYCOMM.EXECUTE
SET MYCOMM = NOTHING
存储进程取得的记录集赋给MYRST,接下来,可以对MYRST进行操作。
在以上代码中,COMMANDTYPE属性表明请求的类型,取值及说明如下:
-1 表明COMMANDTEXT参数的类型无法确定
1 表明COMMANDTEXT是一般的命令类型
2 表明COMMANDTEXT参数是一个具有的表名称
4 表明COMMANDTEXT参数是一个存储进程的名称
还可以通过CONNECTION对象或RECORDSET对象调用存储进程,方法分别如下:
'**通过CONNECTION对象调用存储进程**
DIM MYCONN,MYRST
SET MYCONN = SERVER.CREATEOBJECT("ADODB.CONNECTION")
MYCONN.OPEN MYCONSTR 'MYCONSTR是数据库连接字串
SET MYRST = MYCONN.EXECUTE("GETUSERLIST",0,4) '最后一个参断含义同COMMANDTYPE
SET MYCONN = NOTHING
'**通过RECORDSET对象调用存储进程**
DIM MYRST
SET MYRST = SERVER.CREATEOBJECT("ADODB.RECORDSET")
MYRST.OPEN "GETUSERLIST",MYCONSTR,0,1,4
'MYCONSTR是数据库连接字串,最后一个参断含义与COMMANDTYPE相同
迷你世界越南服 安卓版v1.7.15
迷你世界越南服是一款精美的3D沙盒游戏,拥有极高的创作自由度
糖饼外传内置菜单 安卓版v1.0.87
糖饼外传内置菜单是一款非常好玩的模拟经营类手游,玩家在游戏中
我的世界化学交换空岛整合包 最新版v1.0
我的世界化学交换空岛整合包是一款像素风格的沙盒生存游戏,游戏
创造厨房免广告版 v1.0.10
创造厨房无广告版是一款像素风模拟经营类手游,玩家们将在这里化
SimCity BuildIt无限金币版 安卓修改版v1.60.1.133743
SimCity BuildIt无限金币版是经过破解的版本,在