Visual Studio 2010の使用一部のデータを記録する必要がある高速.NETアプリケーションをまとめています。私はSQL Server Expressの組み込み機能を使用しており、データ挿入のためのストアドプロシージャを作成しました。問題のフィールドでNullを許可するようにデータベーステーブルを設定しましたが、実行時例外を生成しています "プロシージャまたは関数 'XYZ'はパラメータ '@ErrorCode'を提供しませんでした。SQL Server Express ...ストアドプロシージャ「Nullパラメータ」エラー
私は「プレーン道」SqlParametersを作成しようとした:
command.Parameters.Add(new SqlParameter("ErrorCode", state.ErrorCode));
私もプロパティのより設定することで、それらを作成しようとした:状態オブジェクトの
SqlParameter errorCodeParam = new SqlParameter("ErrorCode", SqlDbType.Int);
errorCodeParam.IsNullable = true;
errorCodeParam.Value = state.ErrorCode;
command.Parameters.Add(errorCodeParam);
私のErrorCodeプロパティを単にnullable int .... "int?"割り当てられた値が「null」である。このフィールドのテーブルの列がNULLを許可すると、私はそれがなぜ不平を言っているのかちょっとわかりません。
思考やアイデア?ありがとう。
あなたはパラメータを宣言しました。 – u07ch
確かに私はしませんでした。しかし、私はそれを変更すると、私はそれを保存することはできません。 「Null」のキーワードの近くに構文が正しくないというコンパイルエラーが表示されるスケーラ変数「@ErrorCode」を宣言する必要があります。スケーラ変数「@PrimaryKey」を宣言する必要があります。面白いのは、@StatusCodeという名前のパラメタに先行するもう1つのnull可能なintがあり、システムがそれに不平を言っていないということです。ハム?? – BonanzaDriver