Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Semak Kewujudan Lajur dengan Cekap dalam C# SqlDataReader?

Bagaimanakah Saya Boleh Semak Kewujudan Lajur dengan Cekap dalam C# SqlDataReader?

Susan Sarandon
Susan Sarandonasal
2024-12-30 16:21:11856semak imbas

How Can I Efficiently Check for Column Existence in a C# SqlDataReader?

Menentukan Kehadiran Lajur dalam Objek SqlDataReader

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn