在VBScript中使用输出参数调用SQL存储过程

我已经编写了一个VBScript函数来调用存储过程。在过去,我已经写了一些函数调用带输入参数的存储过程,但在这种情况下,我需要使用Output参数。在VBScript中使用输出参数调用SQL存储过程

在另一个应用程序中,我使用Entity Framework调用完全相同的存储过程,因此存储过程很好。

这里是我的代码:

Function checkAccess(userid,link) 

isAllowed = false

set cmd = Server.CreateObject("ADODB.Command")

cmd.CommandText = "Check_Permission"

cmd.ActiveConnection = Conn

cmd.NamedParameters = true

cmd.CommandType = adCmdStoredProc

cmd.Parameters.Append(cmd.CreateParameter("@Login", adVarChar, adParamInput, 50, userId))

cmd.Parameters.Append(cmd.CreateParameter("@LinkId", adInteger, adParamInput, 50, link))

cmd.Parameters.Append(cmd.CreateParameter("@IsAllowed", adBoolean, adParamOutput, 10, isAllowed))

checkAccess = isAllowed

End Function

此函数总是返回false。我如何使它工作?

回答:

你应该回到你的输出参数的值:

checkAccess = cmd.Parameters("@IsAllowed").Value 

此外,在ADO输出参数不需要初始值和adBoolean参数不需要大小,所以你可以改变你的最后一个参数为:

cmd.Parameters.Append(cmd.CreateParameter("@IsAllowed", adBoolean, adParamOutput)) 

你也可以去掉你的isAllowed变量,因为它不再需要。

以上是 在VBScript中使用输出参数调用SQL存储过程 的全部内容, 来源链接: utcz.com/qa/267340.html

回到顶部