En supposant que j’ai une colonne appelée A et que je veuille vérifier si A est null ou vide, quel est le moyen approprié de vérifier cela à l’aide de RowFilter de DataView:
DataTable dt = GetData(); DataView dv = new DataView(dt); dv.RowFilter = "A IS NOT NULL OR A IS NOT ''";
Ce qui précède ne semble pas fonctionner cependant.
Êtes-vous lié à .net <3.5? Sinon, vous pouvez utiliser linq pour vérifier l'état d'une colonne.
Sinon, il existe une fonction Isnull(,)
similaire à T-SQL:
dv.RowFilter = "Isnull(a,'') <> ''";
Je suppose que vous devez extraire tous les enregistrements pour lesquels la valeur de la colonne A n’est ni nulle ni ”
La bonne expr est:
dv.RowFilter = "A IS NOT NULL AND A <> ''";
Et pour récupérer la boucle des enregistrements filtrés sur dv.ToTable (), comme ceci:
foreach (DataRow dr in dv.ToTable().Rows) Console.WriteLine(dr["A"]);
Cela devrait fonctionner … à la vôtre !!
Vous pouvez append
dv.RowFilter = "CONVERT(Isnull(a,''), System.Ssortingng) <> ''"
si une colonne a un type de données de nombre, Isnull (a, ”) renverra un nombre L’évaluation du nombre <> 0 lève l’exception.