ASP程序与SQL存储过程结合使用详解(7)

来源:asp之家 时间:2011-03-25 10:50:00 

7. 返回多个记录集的存储进程

本文最先介绍的是返回记录集的存储进程。有时候,需要一个存储进程返回多个记录集,在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程序中,调用多个存储进程的不同方法。

标签:ASP,SQL,存储过程
0
投稿

猜你喜欢

  • php查询mysql数据库并将结果保存到数组的方法

    2023-07-20 17:47:32
  • GO语言入门Golang进入HelloWorld

    2024-05-09 09:32:12
  • asp如何对数组显示和排序?

    2009-11-20 18:30:00
  • 详解Python图像处理库Pillow常用使用方法

    2022-07-17 11:04:53
  • jQuery.animate简单分析

    2010-06-26 12:45:00
  • python递归下载文件夹下所有文件

    2023-08-07 07:21:55
  • python实现求纯色彩图像的边框

    2022-04-01 22:04:51
  • CSS实现DIV完美垂直居中(支持多浏览器)

    2007-08-13 09:21:00
  • Flask框架实现的前端RSA加密与后端Python解密功能详解

    2021-07-26 16:28:13
  • 解决Pytorch修改预训练模型时遇到key不匹配的情况

    2022-11-29 15:43:43
  • 利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法

    2023-09-11 15:11:50
  • python调用matplotlib模块绘制柱状图

    2024-01-02 04:35:16
  • JavaScript使用Promise实现并发请求数限制

    2024-04-16 09:54:44
  • 详细介绍Python中的偏函数

    2022-12-28 08:40:53
  • 详解python实现多张多格式图片转PDF并打包成exe

    2022-06-16 15:43:38
  • 浅谈python 中的 type(), dtype(), astype()的区别

    2022-09-13 22:40:39
  • Python单个项目列表转换为整数的实现

    2023-07-31 20:56:21
  • MYSQL必知必会读书笔记第四章之检索数据

    2024-01-18 03:34:40
  • 轻量级的Web框架Flask 中模块化应用的实现

    2021-04-07 13:08:16
  • 分享Python获取本机IP地址的几种方法

    2022-02-17 12:47:18
  • asp之家 网络编程 m.aspxhome.com