Как использовать параметр OUTPUT в хранимой процедуре

Я новичок в написании хранимой процедуры. Поэтому я написал одну с выходными параметрами и хочу получить доступ к выходному значению, горячо, чтобы это сделать.

Моя хранимая процедура:

ALTER PROCEDURE selQuery
    (
        @id int, @code varchar(50) OUTPUT
    )
AS
    SELECT RecItemCode = @code, RecUsername from Receipt where RecTransaction = @id
    RETURN @code

При попытке установить «@ code = RecItemCode» возникает ошибка: «Оператор SELECT, который присваивает значение переменной, не должен сочетаться с операциями извлечения данных».

И я использую Сохраненная процедура как:

con.Open();
cmd.Parameters.AddWithValue("@id", textBox1.Text);
SqlParameter code = new SqlParameter("@code", SqlDbType.Int);
code.Direction = ParameterDirection.Output;
cmd.Parameters.Add(code);
SqlDataReader sdr = cmd.ExecuteReader();
MessageBox.Show(cmd.Parameters["@code"].Value.ToString()); // getting error
con.Close();

Ошибка: «Ссылка на объект не установлена ​​для экземпляра объекта». Я хочу получить значение выходного параметра. Как это получить?

Спасибо.

6
задан Sandy 14 October 2011 в 17:31
поделиться