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

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

6

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.