5 votes

Obtention d'une valeur booléenne à partir d'une table de données

Comment récupérer une valeur booléenne dans un jeu de données, j'utilise visual studio 2003, j'essaie ce qui suit, mais cela ne fonctionne pas :

//if product inactive, don't display, and redirect to main page
  if((dbDataSet.Tables["productGeneral"].Rows[0]["Active"].Equals(0)))

J'ai même essayé, mais cela ne fonctionne pas :

if((dbDataSet.Tables["productGeneral"].Rows[0]["Active"].toString() == false)

le nom de la colonne est ["active"], la valeur de la colonne est soit True soit False, en utilisant sql server 2000

Aidez-nous

4voto

Reed Copsey Points 315315

Vous devez convertir directement en un bool, et vérifier en utilisant ce dernier.

Avez-vous essayé ?

if(((bool)dbDataSet.Tables["productGeneral"].Rows[0]["Active"] == false))

S'il s'agit d'un bool, vous devrez convertir le résultat en bool directement.

La première échoue car 0 est un Int32, pas un booléen. Ils ne sont pas comparables en C#, puisqu'il s'agit de types distincts. La seconde échoue car ToString() transforme le résultat en chaîne de caractères, et vous comparez une chaîne de caractères à un booléen, ce qui ne fonctionne pas non plus.

1voto

pho3nix Points 3288

Essayez ce qui suit

   if (Convert.ToBoolean(dbDataSet.Tables["productGeneral"].Rows[0]["Active"]) == true)
   {}

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