DAAB GetParameterValue不返回输出参数值

时间:2011-07-25 16:44:59

标签: c# .net asp.net ado.net enterprise-library

我有一个存储过程,其作为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 个答案:

答案 0 :(得分:1)

添加到您的SP:

RETURN @CountOfUnchangedZipCode

否则,在代码中执行命令后,您可以使用类似的东西:

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