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;
    }
}

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);

6

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.