Параметр вывода хранимой процедуры возвращает ноль - PullRequest
0 голосов
/ 27 марта 2012
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);

он не выдает никаких исключений, но возвращает нулевое значение, четная процедура работает нормально в SSMS

1 Ответ

1 голос
/ 27 марта 2012

Убедитесь, что SqlHelper.ExecuteQuery считывает значение выходного параметра после выполнения sproc.

, например

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