web-dev-qa-db-ja.com

ADO.NET DataRow-列の存在を確認する

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

私はすでにデータベースから引き戻したデータを整理するためにデータテーブルを構築しています。各行のデータのタイプに応じて、異なる列を持つデータテーブルを作成する必要があります。その後、後で、探しているデータテーブルに特定の列があるかどうかを確認します。

私は例外をキャッチしてそのように処理できることを知っていますが、私のためにこれを行うプロパティまたはメソッドがデータ行オブジェクトにあるかどうか興味がありますか?

例外をキャッチしてこれを行う方法は次のとおりです。

public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
    try
    {
        return row[rowName].ToString();
    }
    catch (System.ArgumentException)
    {
        return nullValue;
    }
}
108
Tone

次のように簡単に確認できます。

return row.Table.Columns.Contains(columnName);
211
Gaurav

DataTablesにはそのスキーマ情報があるため、RowのTableのColumnsコレクションにフィールドが含まれているかどうかを確認してください。

6
Wyatt Barnett