VBScript - извлечение скалярного значения из хранимой процедуры в SQL Server 2008 - PullRequest
3 голосов
/ 24 апреля 2011

Моя хранимая процедура очень проста.Он вставляет новую запись.В конце этого у меня есть следующая строка:

SELECT SCOPE_IDENTITY()

1) Использую ли я правильный код для возврата значения первичного ключа для вновь вставленной записи?
2) Как мне получитьзначение с использованием ASP Classic / VBScript с ADO Classic?

Dim cmdUA
Set cmdUA = Server.CreateObject("ADODB.Command")
Set cmdUA.ActiveConnection = tcon
cmdUA.CommandText = "InsertUserAgent"
cmdUA.CommandType = adCmdStoredProc 
cmdUA.Parameters.Append cmdUA.CreateParameter("useragent", adVarWChar, _
adParamInput, 1000)
cmdUA("useragent") = Request.ServerVariables("HTTP_USER_AGENT")
cmdUA.Exec
'Here I need to get the value returned from the stored procedure
Set cmdUA.ActiveConnection = Nothing
Set cmdUA = Nothing

1 Ответ

4 голосов
/ 24 апреля 2011

Метод Execute (NOT Exec) возвращает набор записей, который содержит результат хранимой процедуры.

 Set rs = cmdUA.Execute
 result = rs.Fields(0).Value
...