![](/img/trans.png)
[英]Calling Oracle stored procedure with output parameter from SQL Server
[英]Calling SQL Stored Procedure with Output Parameter in VBScript
我寫了一個 VBScript function 來調用存儲過程。 過去,我編寫了很多調用帶輸入參數的存儲過程的函數,但在本例中,我需要使用 Output 參數。
在另一個應用程序中,我使用實體框架調用完全相同的存儲過程,因此存儲過程沒問題。
這是我的代碼:
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
這個 function 總是返回 false。 我如何讓它發揮作用?
您應該返回 output 參數的值:
checkAccess = cmd.Parameters("@IsAllowed").Value
此外,ADO 中的 output 參數不需要初始值,adBoolean 參數不需要大小,因此您可以將最后一個參數更改為:
cmd.Parameters.Append(cmd.CreateParameter("@IsAllowed", adBoolean, adParamOutput))
您也可以刪除 isAllowed 變量,因為它不再是必需的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.