ADO.NET DataRow - sprawdź istnienie kolumny


108

Jak sprawdzić, czy w wierszu danych istnieje kolumna?

Buduję zbiory danych, aby uporządkować niektóre dane, które już pobrałem z bazy danych. W zależności od typu danych w każdym wierszu, muszę utworzyć datatable z różnymi kolumnami. Następnie chcę sprawdzić i zobaczyć, czy oglądany przeze mnie datatable ma określoną kolumnę.

Wiem, że mogę złapać wyjątek i obsłużyć go w ten sposób, ale jestem ciekawy, czy istnieje właściwość lub metoda obiektu datarow, która zrobi to za mnie?

Oto, jak mogę to zrobić, przechwytując wyjątek:

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

5
rowName to zła nazwa dla nazwy kolumny
paparazzo

Odpowiedzi:


212

Możesz po prostu sprawdzić w ten sposób:

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

6

DataTables mają te informacje o schemacie, więc sprawdź, czy kolekcja Kolumny tabeli wiersza zawiera pole.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.