首頁 > 後端開發 > C++ > 如何有效地檢查 C# SqlDataReader 中的列是否存在?

如何有效地檢查 C# SqlDataReader 中的列是否存在?

Susan Sarandon
發布: 2024-12-30 16:21:11
原創
856 人瀏覽過

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

確定SqlDataReader 物件中是否存在欄位

在C# 中,當使用可能包含所有關聯儲存程序未使用的資料列的SqlDataReader 物件時,能夠檢查對於特定列的存在變得至關重要。以下是滿足此需求的擴充方法:

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;
    }
}
登入後複製

使用此擴充方法,您可以在存取列的值之前輕鬆驗證列是否存在。這種方法被認為比依賴異常或 GetSchemaTable() 方法更好,因為它避免了效能損失和異常的不可靠本質。

雖然循環欄位可能會帶來輕微的效能開銷,但快取結果可以對於涉及循環內頻繁列檢查的場景,可以減輕這種影響。

以上是如何有效地檢查 C# SqlDataReader 中的列是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板