Вызов хранимой процедуры SQL с выходным параметром в VBScript
Я написал функцию VBScript для вызова хранимой процедуры. В прошлом я написал несколько функций, вызывающих хранимые процедуры с входными параметрами, но в этом случае мне нужно работать с выходным параметром.
в другом приложении я вызываю точно такую же хранимую процедуру с помощью 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. Как я заставить его работать?
1 ответов
вы должны вернуть значение параметра выход:
checkAccess = cmd.Parameters("@IsAllowed").Value
кроме того, выходные параметры в ADO не требуют начального значения, а параметры adBoolean не требуют размера, поэтому вы можете изменить свой последний параметр на:
cmd.Parameters.Append(cmd.CreateParameter("@IsAllowed", adBoolean, adParamOutput))
вы также можете избавиться от своей переменной isAllowed, так как она больше не нужна.