ADO.NET DataRow - проверка наличия столбца

108

Как проверить наличие столбца в строке данных?

Я создаю таблицы данных для организации некоторых данных, которые я уже извлек из базы данных. В зависимости от типа данных в каждой строке мне нужно создать таблицу данных с разными столбцами. Затем, позже, я хочу проверить, есть ли в таблице данных, на которую я смотрю, определенный столбец.

Я знаю, что могу перехватить исключение и обработать его таким образом, но мне любопытно, есть ли в объекте datarow свойство или метод, который сделает это за меня?

Вот как я могу это сделать, перехватив исключение:

public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
    try
    {
        return row[rowName].ToString();
    }
    catch (System.ArgumentException)
    {
        return nullValue;
    }
}
Тон
источник
5
rowName - плохое имя для названия столбца
папараццо

Ответы:

212

Вы можете просто проверить вот так:

return row.Table.Columns.Contains(columnName);
Gaurav
источник
6

DataTables имеет эту информацию о схеме, поэтому проверьте, содержит ли коллекция столбцов таблицы строки это поле.

Уятт Барнетт
источник