2009-10-20 6 views

Répondre

8

Est-ce qu'un bool ou une chaîne est traité?

Si un bool alors "non traité" devrait fonctionner autrement si c'est une chaîne "traité <> 'Vrai'" - en utilisant des guillemets simples comme délimiteurs dans la chaîne where. Il vaudrait la peine de vérifier les valeurs dans la table/colonne au moment où vous interrogez les données pour vous assurer que vous testez contre la bonne chose (cela m'a mordu dans le passé).

+2

Vous êtes l'homme Murph – jim

+2

Pour référence, laquelle des deux possibilités était la bonne? – Murph

+0

désolé pour le retard énorme dans ma réponse Murph. C'était une chaîne ainsi traitée <> 'True' a fait l'affaire. – jim

5

Cela devrait fonctionner correctement, mais il ne retournera pas les lignes où processed est null.

Pour inclure les valeurs NULL, essayez ceci:

DataRow[] rows = myDataTable.Select("isnull(processed, false) <> true"); 

SQL NULL est une valeur indéterminée. Il n'est pas égal à la valeur booléenne true, mais il n'est pas non égal à vrai non plus. (Voir Null (SQL).)

Pour la référence générale d'expression de filtre, voir the DataColumn.Expression MSDN topic.

Questions connexes