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

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

6

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.