0

我用谷歌搜索,但似乎没有一个解决方案对我有用!我在 SQL Server 中有一个 SPROC,它有一个输入参数和一个在 SPROC 中设置的输出参数。

使用经典 ASP,我想检索该输出参数的值,但似乎没有设置任何内容(但在 SQL Server Management Studio 中执行时,我可以看到输出参数正常工作)

OpenConnection

Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandType = 4 'adCmdStoredProc
Set cmdTemp.ActiveConnection = dbConn
cmdTemp.CommandText =  "GetCerts"   
cmdTemp.Parameters.Refresh
cmdTemp.Parameters(1) = "ABC123"
cmdTemp.Parameters(2).Direction = 2 'Output

Set reader = cmdTemp.Execute

Response.Write(cmdTemp.Parameters(2)) ' Nothing is displayed at all. 

CloseConnection

我尝试使用命名参数方法,但总是收到错误消息,指出参数超出范围、参数错误或类型错误(类似于此)。

真的……头疼。我只想要从 SPROC 设置的 OUTPUT 参数值(SPROC 中的第二个参数)

4

3 回答 3

0

检查错误:

Set reader = cmdTemp.Execute

If Err.number <> 0 or  dbConn.Errors.Count <> 0 Then
   'Do something to handle the error
End If

您是否有权执行存储过程?即 ASP 用户的凭据...

从经典 ASP 执行存储过程

于 2013-01-29T10:55:05.703 回答
0

COM 世界中的大多数集合都使用从零开始的索引。尝试使用Parameters(0)作为输入参数和Parameters(1)作为输出参数。

于 2013-01-30T06:18:21.927 回答
0

经过长时间的调查,我试图做的似乎是不可能的(但它在.NET中)。似乎我需要执行两次命令,第一次获取输出参数值,然后下一次显示结果。可怕。赞美.NET!

于 2013-01-29T14:37:43.877 回答