存储过程输出参数返回null

时间:2012-03-27 09:42:19

标签: sql-server-2008 out-parameters

SqlParameter[] par1 = new SqlParameter[4];

par1[0] = new SqlParameter("@prefix", "TIN-CMP-");
par1[1] = new SqlParameter("@codeLength", "17");
par1[2] = new SqlParameter("@LastCode", "");
par1[3] = new SqlParameter("@retVal", SqlDbType.VarChar, 20);
par1[3].Direction = ParameterDirection.Output;
var data = SqlHelper.ExecuteNonQuery(this.ConnectionString, "Proc_GenerateID", par1);

它不会抛出任何异常但返回null值,甚至程序在SSMS中正常工作

1 个答案:

答案 0 :(得分:1)

确保执行sproc后SqlHelper.ExecuteQuery正在读取输出参数值。

e.g。

yourCommand.ExecuteNonQuery();
string retVal = yourCommand.Parameters["@retVal"].Value;