调用存储过程时如何同时取到返回的结果集和输出参数

shjqk 2005-10-22 09:12:30
调用一个存储过程,返回结果集和输出参数 @TotalCount int output
我在查询分析器内调用正常能返回结果集和输出参数
但我在ASP里调用时遇到一个问题:
Set cmd = Server.CreateObject("ADODB.Command")
with cmd
.ActiveConnection = conn
.CommandType = 4 '---声明此过程为存储过程
.CommandText = "pagination3"

.Parameters.Append .CreateParameter("@tblName",adVarChar,1,50,m_tableNme)
.Parameters.Append .CreateParameter("@GetFields",adVarChar,1,200,GetFields)
......
.Parameters.Append .CreateParameter("@strWhere",adVarChar, adParaminput, 500, null)
.Parameters.Append .CreateParameter("@TotalCount", adInteger, adParamOutput, 16, TotalCount)
end with

set rs1 = cmd.Execute '如果这句改成 cmd.Execute 那可以取到输出参数

TotalCount = cmd.Parameters("@TotalCount").Value
response.write TotalCount
do while not rs1.EOF
response.write rs1("g_id")

rs1.MoveNext
loop
rs1.Close
set rs1 = nothing

我这样调用存储过程,可以取出结果集,但无法取到输出参数@TotalCount
如果把set rs1 = cmd.Execute 这句改成 cmd.Execute 那可以取到输出参数但这样无法就没结果集了
不知道我的调用有什么错误吗?应该怎么做能同时取到返回的结果集和输出参数
请指教!
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjun 2006-06-21
  • 打赏
  • 举报
回复
Set rsTest = cmdTest.Execute()

''返回 cmdtest("ReturnValue") 之前,必须先关闭rsTest, 否则结果错误

set rsTest = nothing

ReturnStr = cmdtest("ReturnValue")
煊烨 2006-06-21
  • 打赏
  • 举报
回复

关键是这句,其他没错
Rs.Close '需要先关闭才可以获取到输出变量数值
jeall 2006-06-21
  • 打赏
  • 举报
回复
Id = 1
Set cmd =Server.CreateObject("adodb.command")
cmd.ActiveConnection = conn
cmd.CommandType = 4
cmd.CommandText = "searchT"
cmd("@SearchID") = Id
cmd.Execute()

'获取记录集信息
Set Rs = cmd.Execute()

For each i In Rs.Fields '显示每个字段的内容
Response.Write i &"<br>"
Next

Rs.Close '需要先关闭才可以获取到输出变量数值

'获取输出变量
Strings = cmd("@ResultStr")
Response.Write "Strings = "& Strings & "<br>"

Set cmd = Nothing

'CREATE PROCEDURE [dbo].[searchT]
'(
'@SearchID Int,
'@ResultStr varchar(200) OutPut
')

'AS
' -- 获取@ResultStr变量值
' Select @ResultStr = instr
' From T
' Where id = @SearchID

' -- 获取记录集信息
' Select *
' From T
' Where id = @SearchID
'GO

刚看了的那篇文章找不到了,给你看我的测试例子吧!
shjqk 2005-10-22
  • 打赏
  • 举报
回复
楼上给的是VB的方法
我用ASP也是类似的,但是我用这方法就是不能取到输出参数 @TotalCount为空
不知道为什么
online 2005-10-22
  • 打赏
  • 举报
回复
参考
http://blog.csdn.net/online/archive/2004/08/05/66376.aspx

28,391

社区成员

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

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