C# で SqlParameter に null 値を代入する
提供されたコードで「DBNull から int に暗黙的に変換できません。」というエラーが発生しました。このエラーは、SqlParameter の Value プロパティに int 値または DBNull 型の値を割り当てようとする条件演算子から発生します。残念ながら、これらのデータ型には互換性がないため、演算子は適切な戻り値の型を決定できません。
回避策は、AgeItem.AgeIndex 値を object 型にキャストするか、null 合体演算子 (??) を使用することです。 AgeItem.AgeIndex を object 型にキャストすると、Value プロパティに確実に割り当てることができます (Value プロパティにはオブジェクトが必要です)。あるいは、?? 演算子を使用すると、よりクリーンなアプローチを実現できます。
<code class="language-csharp">SqlParameter[] parameters = new SqlParameter[1]; SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int); planIndexParameter.Value = (object)AgeItem.AgeIndex ?? DBNull.Value; parameters[0] = planIndexParameter;</code>
以上がC# で SqlParameter に代入するときに Null 値を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。