SQL调用VBScript中的输出参数存储过程(Calling SQL Stored Procedu

2019-06-23 09:59发布

我写了一个VBScript函数来调用存储过程。 在过去,我已经写了一些调用带有输入参数的存储过程的功能,但是在这种情况下,我需要一个输出参数的工作。

在另一个应用程序,我称之为使用实体框架完全相同的存储过程,所以存储过程是好的。

这里是我的代码:

 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。 我如何工作的呢?

Answer 1:

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

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

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

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

你也可以摆脱你的isAllowed变量,因为它不再是必要的。



文章来源: Calling SQL Stored Procedure with Output Parameter in VBScript