ADO.NET DataRow - verifique a existência da coluna

108

Como faço para verificar a existência de uma coluna em um datarow?

Estou construindo tabelas de dados para organizar alguns dados que já retirei do banco de dados. Dependendo do tipo de dados em cada linha, preciso criar uma tabela de dados com colunas diferentes. Então, mais tarde, quero verificar e ver se a tabela de dados que estou olhando tem uma determinada coluna.

Sei que posso capturar a exceção e tratá-la dessa maneira, mas estou curioso para saber se há uma propriedade ou método no objeto datarow que fará isso para mim.

Veja como posso fazer isso capturando a exceção:

public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
    try
    {
        return row[rowName].ToString();
    }
    catch (System.ArgumentException)
    {
        return nullValue;
    }
}
Tom
fonte
5
rowName é um nome impróprio para o nome da coluna
paparazzo

Respostas:

212

Você pode simplesmente verificar assim:

return row.Table.Columns.Contains(columnName);
Gaurav
fonte
6

DataTables tem essas informações de esquema, portanto, verifique se a coleção Row's Table's Columns contém o campo.

Wyatt Barnett
fonte