DAAB GetParameterValue не возвращает значение выходного параметра - PullRequest
0 голосов
/ 25 июля 2011

У меня есть хранимая процедура, которая получает такой же параметр, как и параметр OUTPUT. Процедура хранения устанавливает ее значение. У меня есть следующий код в приложении C #. Но я не получаю значение в приложении (вывод возвращается как ноль). Что за отсутствующая ссылка здесь?

CREATEPROCEDURE [dbo].aspInsertZipCode  
(  
   @CountOfUnchangedZipCode  AS INT=0 OUTPUT  
)  
AS  
BEGIN  
    SET NOCOUNT ON  
    SET @CountOfUnchangedZipCode = 13 
END

В приложении код выглядит следующим образом

  DbCommand cmd = db.GetStoredProcCommand("aspInsertZipCode");
  cmd.CommandTimeout = 0;
  db.AddOutParameter(cmd, "CountOfUnchangedZipCode", DbType.String, 1000);

Казнь происходит ...

  int TempUnchageZipCount = Convert.ToInt32(db.GetParameterValue(cmd, "@CountOfUnchangedZipCode"));

1 Ответ

1 голос
/ 25 июля 2011

Добавьте к вашему SP:

RETURN @CountOfUnchangedZipCode

В противном случае вы можете использовать что-то подобное после выполнения команды в вашем коде:

var TempUnchageZipCount = (int) cmd.Parameters[0].Value;
...