从存储过程经典asp返回一个值

use*_*705 2 sql vbscript stored-procedures asp-classic

作为存储过程的菜鸟,我无法理解如何让经典的 ASP (vbscript) 页面从存储过程返回值。我可以将数据写入表中,这只是检索让我卡住的东西。

如果我使用一个非常基本的例子。这是一个应该返回表中记录计数的存储过程:

CREATE PROCEDURE [dbo].[SP_RecordCount] 

AS

SELECT COUNT(*) FROM MyTable
Run Code Online (Sandbox Code Playgroud)

我需要编写哪些经典 ASP 代码(以及对 SPROC 进行哪些更改)才能在浏览器中显示该值?

一旦我了解了如何获得这样的基本输出,我就希望(!)能够建立在知识的基础上。

谢谢。

G. *_*nev 5

可能最干净的方法是像这样修改你的存储过程:

CREATE PROCEDURE [dbo].[SP_RecordCount] 
@CountResult int OUTPUT
AS

SELECT @CountResult = COUNT(*) FROM MyTable
Run Code Online (Sandbox Code Playgroud)

...这是调用它并读取值的服务器端代码:

Dim cmd
Set cmd = Server.CreateObject("ADODB.Command")

Set cmd.ActiveConnection = .... previously opened ADO connection here
cmd.CommandType = adCmdStoredProc  'be sure adCmdStoredProc constant is set in scope, or hardcode relevant integer instead'
cmd.CommandText = "SP_RecordCount"
cmd.Parameters.Refresh 

cmd.Execute 
Dim count       
count = cmd.Parameters(1)
Run Code Online (Sandbox Code Playgroud)