ホームページ > バックエンド開発 > C++ > SqlDataReader で列の存在を確認するにはどうすればよいですか?

SqlDataReader で列の存在を確認するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-31 01:57:10
オリジナル
530 人が閲覧しました

How Can I Check for Column Existence in a SqlDataReader?

SqlDataReader オブジェクトの列の存在を確認する

データ アクセス レイヤーでは、多くの場合、ストアド プロシージャから返されたデータを処理するメソッドを作成する必要があります。さまざまな柱構造を持っています。 1 つのストアド プロシージャが他のストアド プロシージャと比較して追加の列を返すシナリオでは、両方のシナリオを処理できるようにメソッドを変更する必要があります。この記事では、SqlDataReader オブジェクト内の特定の列の存在を確認する方法について説明します。

解決策:

提案される解決策には、IDataRecord インターフェイスの拡張メソッドを作成することが含まれます。 HasColumn という名前。このメソッドは列名をパラメータとして受け取り、レコード内のすべての列を反復処理して、各列名を指定された列名と比較します。一致するものが見つかった場合は、列が存在することを示す true を返します。それ以外の場合は false を返します。

HasColumn 拡張メソッドのコードは次のとおりです。

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;
    }
}
ログイン後にコピー

使用法:

SqlDataReader オブジェクトかどうかを確認するには特定の列が含まれている場合は、オブジェクトの HasColumn メソッドを呼び出して、対象の列名を渡すだけです。メソッドは次の値を返します。列が存在する場合は true、存在しない場合は false。これにより、ストアド プロシージャ内のさまざまな列構造を堅牢な方法で処理できるようになります。

以上がSqlDataReader で列の存在を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート