Menetapkan nilai nol kepada SqlParameter dalam C#
Kod yang disediakan mengalami ralat: "Tidak boleh menukar secara tersirat daripada DBNull kepada int." Malangnya, jenis data ini tidak serasi dan pengendali tidak dapat menentukan jenis pemulangan yang sesuai.
Penyelesaian adalah dengan menghantar nilai AgeItem.AgeIndex untuk menaip objek atau menggunakan operator penggabungan nol (??). Menghantar AgeItem.AgeIndex untuk menaip objek memastikan ia boleh diberikan kepada sifat Nilai (sifat Nilai memerlukan objek). Sebagai alternatif, pendekatan yang lebih bersih boleh dicapai menggunakan operator:
<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>
Dalam kes ini, ?? menilai AgeItem.AgeIndex dan, jika ia adalah batal, memberikan nilai parameter kepada DBNull.Value. Dengan menggunakan penukaran jenis atau operator penggabungan nol, kami boleh menyelesaikan ralat di atas dan menetapkan nilai yang diperlukan kepada sifat Nilai SqlParameter.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai Null Apabila Menetapkan kepada SqlParameter dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!