110 votes

ADO.NET DataRow - vérifie l'existence d'une colonne

Comment puis-je vérifier l'existence d'une colonne dans un datarow?

Je suis en train de construire les tables de données pour organiser les quelques données que j'ai déjà tiré vers l'arrière à partir de la base de données. Selon le type de données de chaque ligne, j'ai besoin de créer une table avec des colonnes différentes. Puis, plus tard, je veux vérifier et voir si le datatable je suis en train de regarder a une certaine colonne.

Je sais que je peux attraper l'exception et de les traiter de cette façon, mais je suis curieux de savoir si il y a une propriété ou une méthode sur l'objet datarow qui va le faire pour moi?

Voici comment je peux le faire par la capture de l'exception:

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

215voto

Gaurav Points 1396

Vous pouvez simplement vérifier comme ceci:

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

6voto

Wyatt Barnett Points 12541

Les DataTables ont cette information de schéma, donc vérifiez si la collection Columns de la Row's Table contient le champ.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X