Mengelakkan kesilapan semasa berurusan dengan nulls dalam SQL datareader
Objek populasi dengan data pangkalan data adalah amalan standard, sering dipermudahkan oleh alat seperti SQL DataReader. Walau bagaimanapun, nilai null dalam lajur pangkalan data boleh menyebabkan pengecualian yang tidak dijangka semasa proses ini. Sebagai contoh, memberikan lajur NULL
FirstName
SQL DataReader menyediakan kaedah
, cara yang mudah namun berkesan untuk memeriksa nilai null sebelum mengakses data lajur. Ini menghalang pengecualian dengan memastikan anda hanya cuba mengambil data apabila ia tersedia.
IsDBNull
inilah cara menggunakan
IsDBNull
<code class="language-csharp">if (!SqlReader.IsDBNull(indexFirstName)) { employee.FirstName = sqlreader.GetString(indexFirstName); }</code>
) tidak batal. Hanya jika ia mengandungi nilai akan kaedah FirstName
dipanggil dan nilai yang diberikan kepada harta indexFirstName
. GetString
employee.FirstName
Untuk kod yang lebih bersih, lebih banyak dipelihara, pertimbangkan untuk membuat kaedah lanjutan. Ini merangkumi pemeriksaan null, menjadikan kod anda lebih mudah dibaca dan mengurangkan kelebihan.
Contoh Kaedah Pelanjutan:
kaedah
<code class="language-csharp">public static string SafeGetString(this SqlDataReader reader, int colIndex) { return reader.IsDBNull(colIndex) ? string.Empty : reader.GetString(colIndex); }</code>
SafeGetString
<code class="language-csharp">employee.FirstName = SqlReader.SafeGetString(indexFirstName);</code>
Atas ialah kandungan terperinci Bagaimanakah saya dapat mengendalikan nilai null dengan selamat apabila menggunakan SQL DataReader?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!