ストアドプロシージャの作成に慣れています。だから私は出力パラメータで1つを書いて、出力値にアクセスしたいと思っていました。ストアドプロシージャでOUTPUTパラメータを使用する方法
私のストアドプロシージャ:
ALTER PROCEDURE selQuery
(
@id int, @code varchar(50) OUTPUT
)
AS
SELECT RecItemCode = @code, RecUsername from Receipt where RecTransaction = @id
RETURN @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();
エラー:「オブジェクト参照がオブジェクトインスタンスに設定されていません。」 出力パラメータの値を取得します。それを得る方法?
ありがとうございました。
アンソニーに感謝、それはたくさんの助けになりました....多くの感謝 – Sandy
ありがとうございました+1。 'オブジェクトobj = cmd.ExecuteScalar();'完璧に働いた。私は2行目のC#コードで必要なものを達成することができました。もう1つは 'myString = obj.ToString();'です。 – FumblesWithCode