Dalam C#, apabila bekerja dengan objek SqlDataReader yang mungkin mengandungi lajur yang tidak digunakan oleh semua prosedur tersimpan yang berkaitan, keupayaan untuk menyemak kerana kewujudan lajur tertentu menjadi penting. Berikut ialah kaedah sambungan yang memenuhi keperluan ini:
public static class DataRecordExtensions { public static bool HasColumn(this IDataRecord dr, string columnName) { for (int i = 0; i < dr.FieldCount; i++) { if (dr.GetName(i).Equals(columnName, StringComparison.InvariantCultureIgnoreCase)) return true; } return false; } }
Menggunakan kaedah sambungan ini, anda boleh mengesahkan kehadiran lajur dengan mudah sebelum mengakses nilainya. Pendekatan ini dianggap sebagai amalan yang lebih baik daripada bergantung pada pengecualian atau kaedah GetSchemaTable() kerana ia mengelakkan penalti prestasi dan sifat pengecualian yang tidak boleh dipercayai.
Semasa menggelung melalui medan mungkin memperkenalkan sedikit overhed prestasi, caching keputusan boleh kurangkan kesan ini untuk senario yang melibatkan pemeriksaan lajur yang kerap dalam satu gelung.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Kewujudan Lajur dengan Cekap dalam C# SqlDataReader?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!