ADO.NET DataRow - Überprüfen Sie, ob eine Spalte vorhanden ist

108

Wie überprüfe ich, ob in einer Datenzeile eine Spalte vorhanden ist?

Ich erstelle Datentabellen, um einige Daten zu organisieren, die ich bereits aus der Datenbank zurückgezogen habe. Abhängig von der Art der Daten in jeder Zeile muss ich eine Datentabelle mit verschiedenen Spalten erstellen. Dann, später, möchte ich überprüfen, ob die Datentabelle, die ich betrachte, eine bestimmte Spalte hat.

Ich weiß, dass ich die Ausnahme abfangen und auf diese Weise behandeln kann, aber ich bin gespannt, ob es eine Eigenschaft oder Methode für das Datenarow-Objekt gibt, die dies für mich erledigt.

So kann ich es machen, indem ich die Ausnahme abfange:

public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
    try
    {
        return row[rowName].ToString();
    }
    catch (System.ArgumentException)
    {
        return nullValue;
    }
}
Ton
quelle
5
Zeilenname ist ein schlechter Name für Spaltenname
Paparazzo

Antworten:

212

Sie können einfach so überprüfen:

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

DataTables verfügen über diese Schemainformationen. Überprüfen Sie daher, ob die Columns-Auflistung der Zeilentabelle das Feld enthält.

Wyatt Barnett
quelle