asp调用存储过程返回记录的问题

失落的羊 2009-06-26 10:31:25
Asp中调用存储过程如下:

sql="{call verify_user_password("& userid &",'"& password &"')}"
rs.open sql,conn,1,1
if rs.eof or rs.bof then
respond.write "no record"
end if
rs.close

在存储过程verify_user_password 中 如果有两句以上 select 语句,它就返回多个数据集,可是我在 asp中的rs 只能得到第一个数据集,如何得到其他的几个数据集?

...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落的羊 2009-07-25
  • 打赏
  • 举报
回复
采用别的方法避免了这个问题
失落的羊 2009-06-26
  • 打赏
  • 举报
回复
有没有更好的办法了,也就是说在asp中调用返回多个记录集的存储过程?
shenzhenNBA 2009-06-26
  • 打赏
  • 举报
回复
那建议分为简单点,一个语句用一个rs接受即可
hookee 2009-06-26
  • 打赏
  • 举报
回复
使用上和rs一样的
取得rs后
Set rs = cmd.execute();
Set rs1 = rs.NextRecordSet
If Not rs1 Is Nothing Then
Do While Not rs1.EOF
Response.Write rs1(0)
rs1.moveNext
Loop
End If
天下如山 2009-06-26
  • 打赏
  • 举报
回复
Set rs1 = rs.NextRecordSet
具体的用法能给个例子吗?我不会,学习,希望大侠给个例子。
hookee 2009-06-26
  • 打赏
  • 举报
回复
取多记录集
Set rs1 = rs.NextRecordSet
天下如山 2009-06-26
  • 打赏
  • 举报
回复
有点不懂楼主的意思,在ASP中调用存储过程:我用的都是这中方法:
set cmd=server.CreateObject(G_FS_CMD)(G_FS_CMD == ADODB.command)
with cmd
set .ActiveConnection=conn
.commandtext="p_user_login"
.commandtype=4
.prepared=true
.Parameters.Append .CreateParameter("@user_name", 200, 1, 20,user_name)
.Parameters.Append .CreateParameter("@is_lock", 3, 2, 4)
.Parameters.Append .CreateParameter("@head_url", 200, 2, 64)
.Execute
end with
然后得到存储过程要输出的值:cmd(1),cmd(2)

("@user_name", 200, 1, 20,user_name) 表示要传入存储过程的值
("@is_lock", 3, 2, 4) 表示要输出的值
@is_lock 是存储过程里要输出的值
3 表示INT类型
2 表示输出
4 表示类型长度

这样的话,你存储过程要输出几个记录集,我只需要依次输出要输出的记录集里的值就可以啦.


我也不是很会,随便写的,不对的话,期待更好的答案。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧