Подтвердить что ты не робот

Как запустить хранимую процедуру с параметром OUTPUT из С#?

У меня есть хранимая процедура с выходным параметром. Как читать это значение с помощью кода С#?

4b9b3361

Ответ 1

Я предполагаю, что вы используете ADO.NET? Если это так, класс SqlParameter имеет свойство "Направление". Настройте направление вывода и после выполнения запроса вы прочитаете значение из этого параметра.

Что-то вроде этого:

using (SqlCommand cmd = new SqlCommand("MyStoredProcedure", cn))
{
    cmd.CommandType = CommandType.StoredProcedure;
    SqlParameter parm = new SqlParameter("@pkid", SqlDbType.Int);
    parm.Value = 1;
    parm.Direction = ParameterDirection.Input;
    cmd.Parameters.Add(parm);

    SqlParameter parm2 = new SqlParameter("@ProductName", SqlDbType.VarChar);
    parm2.Size = 50;
    parm2.Direction = ParameterDirection.Output; // This is important!
    cmd.Parameters.Add(parm2);

    cn.Open();
    cmd.ExecuteNonQuery();
    cn.Close();
}