【发布时间】:2011-10-14 16:52:51
【问题描述】:
我是编写存储过程的新手。于是写了一个带输出参数的,想访问输出值,热做吧。
我的存储过程:
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();
错误:“对象引用未设置为对象的实例。” 我想获取输出参数的值。如何获得?
谢谢。
【问题讨论】:
标签: c# sql-server-2008 stored-procedures