簡體   English   中英

在VBScript中調用Output參數的SQL存儲過程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM