最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
asp 返回多个记录集的存储过程
时间:2022-07-02 23:07:20 编辑:袖梨 来源:一聚教程网
返回多个记录集的存储进程
本文最先介绍的是返回记录集的存储进程。有时候,需要一个存储进程返回多个记录集,在ASP中,如何同时取得这些记录集呢?为了说明这一问题,在USERINFO表中增加两个字段:USERTEL及USERMAIL,并设定只有登录用户可以查看这两项内容。
/*SP7*/
CREATE PROCEDURE DBO.GETUSERINFO
@USERID INT,
@CHECKLOGIN BIT
AS
SET NOCOUNT ON
BEGIN
IF @USERID IS NULL OR @CHECKLOGIN IS NULL RETURN
SELECT USERNAME
FROM DBO.[USRINFO]
WHERE USERID=@USERID
--若为登录用户,取USERTEL及USERMAIL
IF @CHECKLOGIN=1
SELECT USERTEL,USERMAIL
FROM DBO.[USERINFO]
WHERE USERID=@USERID
RETURN
END
GO
以下是ASP代码:
'**调用返回多个记录集的存储进程**
DIM CHECKLG,USERID,USERNAME,USERTEL,USERMAIL
DIM MYCOMM,MYRST
USERID = 1
'CHECKLOGIN()为自定义函数,判断访问者是否登录
CHECKLG = CHECKLOGIN()
SET MYCOMM = SERVER.CREATEOBJECT("ADODB.COMMAND")
WITH MYCOMM
.ACTIVECONNECTION = MYCONSTR 'MYCONSTR是数据库连接字串
.COMMANDTEXT = "GETUSERINFO" '指定存储进程名
.COMMANDTYPE = 4 '表明这是一个存储进程
.PREPARED = TRUE '要求将SQL命令先行编译
.PARAMETERS.APPEND .CREATEPARAMETER("@USERID",3,1,4,USERID)
.PARAMETERS.APPEND .CREATEPARAMETER("@CHECKLOGIN",11,1,1,CHECKLG)
SET MYRST = .EXECUTE
END WITH
SET MYCOMM = NOTHING
'从第一个记录集中取值
USERNAME = MYRST(0)
'从第二个记录集中取值
IF NOT MYRST IS NOTHING THEN
SET MYRST = MYRST.NEXTRECORDSET()
USERTEL = MYRST(0)
USERMAIL = MYRST(1)
END IF
SET MYRST = NOTHING
以上代码中,利用RECORDSET对象的NEXTRECORDSET方法,取得了存储进程返回的多个记录集。
至此,针对ASP调用存储进程的各种情况,本文已做了较为全面的说明。最后说一下在一个ASP程序中,调用多个存储进程的不同方法。
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22