У меня есть следующая базовая хранимая процедура:
ПРОЦЕДУРА СОЗДАНИЯ [dbo]. [GetNumberToProcess]
AS
ВОЗВРАТ 999
Затем у меня есть код, использующий Enterprise Library для запуска и получения возвращаемого значения:
Dim cmd As DbCommand
Dim ResultValue as String
Dim lDBCommand as String = "dbo.GetNumberToProcess"
Dim actionDB As Sql.SqlDatabase = New Sql.SqlDatabase(lConnectionString)
cmd = actionDB.GetSqlStringCommand(lDBCommand)
Dim SQLreturnValue As New SqlParameter("RETURN_VALUE", DbType.Int32)
SQLreturnValue.Direction = ParameterDirection.ReturnValue
cmd.Parameters.Add(SQLreturnValue)
' Execute the command and put the result into the ResultValue for later processing
actionDB.ExecuteNonQuery(cmd).ToString()
ResultValue = cmd.Parameters("RETURN_VALUE").Value.ToString
Проблема в том, что все, что я когда-либо получаю в виде ResultValue, это «0», когда я должен получить «999» (сохраненный процесс очень урезан, чтобы я мог понять, почему он не работает). *
Согласно многочисленным примерам, которые я видел в Интернете, это должно работать.
Кто-нибудь получил какие-либо предложения относительно того, почему это не так?