ADO.NET DataRow - vérifier l'existence de la colonne

108

Comment vérifier l'existence d'une colonne dans un flux de données?

Je construis des tables de données pour organiser certaines données que j'ai déjà extraites de la base de données. En fonction du type de données dans chaque ligne, je dois créer une table de données avec différentes colonnes. Ensuite, plus tard, je veux vérifier et voir si le datatable que je regarde a une certaine colonne.

Je sais que je peux attraper l'exception et la gérer de cette façon, mais je suis curieux de savoir s'il existe une propriété ou une méthode sur l'objet datarow qui fera cela pour moi?

Voici comment je peux le faire en interceptant l'exception:

public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
    try
    {
        return row[rowName].ToString();
    }
    catch (System.ArgumentException)
    {
        return nullValue;
    }
}
Ton
la source
5
rowName est un mauvais nom pour le nom de la colonne
paparazzo

Réponses:

212

Vous pouvez simplement vérifier comme ceci:

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

Les DataTables ont ces informations de schéma, vérifiez donc si la collection Columns de la table de ligne contient le champ.

Wyatt Barnett
la source