2010-02-23 4 views
0

J'ai la requête suivanterequête LINQ où la colonne contient des valeurs nulles

Dim get_rmf_2 = From rmf In t_rmf _ 
     Where rmf!NIVP = nivp_rap 

Quand je le lance-je obtenir une erreur:

Operator '=' is not defined for type 'DBNull' and string "test". 

Je soupçonne que c'est parce que la colonne « NIVP » dans la datatable contient des valeurs nulles, j'ai essayé la même chose sans valeurs nulles et ça marche.

Alors, comment puis-je faire ce travail? ; la colonne "NIVP" a vraiment une ligne "test", et une requête SQL normale fonctionne bien.

+0

Qu'est-ce que le RMF NIVP faire? Il semble que vous ayez traité la requête en mémoire et l'évaluiez ensuite. Normalement, LINQ exécutera la requête dans la base de données et traitera ce cas pour vous. – smaclell

+0

bien qu'il interroge un datable (t_rmf) rmf! NIVP fait référence à une colonne de cette datatable. Je vais changer cela dans la question aussi. – Iulian

Répondre

2

Je ne suis pas familier avec la syntaxe de VB pour LINQ, mais vous pouvez essayer quelque chose comme ceci:

Dim get_rmf_2 = From rmf In t_rmf _ 
     Where Not IsDBNull(rmf!NIVP) AndAlso rmf!NIVP = nivp_rap 
+0

merci, ça l'a fait. – Iulian

Questions connexes