Comment vérifier la présence de blanc dans DataView.RowFilter

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.