[解決済み】SqlParameter に null を代入する。
2022-04-08 04:34:33
質問
次のコードはエラーになります - "DBnullからint.への暗黙の変換がありません "。
SqlParameter[] parameters = new SqlParameter[1];
SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int);
planIndexParameter.Value = (AgeItem.AgeIndex== null) ? DBNull.Value : AgeItem.AgeIndex;
parameters[0] = planIndexParameter;
解決方法は?
この問題は
?:
演算子は戻り値の型を決定できません。
int
値または DBNull 型の値であり、これらは互換性がありません。
もちろん、AgeIndexのインスタンスをキャストして、型
object
を満たすような
?:
の要件を満たしている。
を使用することができます。
??
null coalescing 演算子は次のようになります。
SqlParameter[] parameters = new SqlParameter[1];
SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int);
planIndexParameter.Value = (object)AgeItem.AgeIndex ?? DBNull.Value;
parameters[0] = planIndexParameter;
以下は、引用です。
MSDNドキュメント
を使用します。
?:
演算子で説明されています。
first_expression と second_expression の型が同じであるか、一方の型から他方の型への暗黙の変換が存在しなければならない。
関連
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み] enumを列挙するには
-
[解決済み] コードが含まれるアセンブリのパスを取得するにはどうすればよいですか?
-
[解決済み] C#でDecimalをDoubleに変換する方法は?
-
[解決済み] C#のインターフェイス。暗黙の実装と明示の実装
-
[解決済み] C#でジェネリックメソッドからNULLを返すにはどうしたらいいですか?
-
[解決済み] NULL-COALESCING 演算子のカスタム暗黙変換の不思議な挙動
-
[解決済み】'int'と<null>の間に暗黙の変換がないため、条件式の型が決定できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない