Obtenir une valeur booléenne de DataTable
Question
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 je ne travaillais pas:
if((dbDataSet.Tables["productGeneral"].Rows[0]["Active"].toString() == false)
le nom de la colonne est [" actif "], la valeur de dans la colonne est True ou False, à l’aide de SQL Server 2000
aidez s'il vous plaît
La solution
Vous devez lancer un casting directement dans un booléen et vérifier en utilisant cette option.
Avez-vous essayé?:
if(((bool)dbDataSet.Tables["productGeneral"].Rows[0]["Active"] == false))
Si c'est un booléen, vous aurez envie de convertir le résultat directement en booléen.
Le premier échoue car 0 est un Int32, pas un booléen. Ils ne sont pas comparables en C #, car ils sont des types distincts. La seconde échoue car ToString () transforme le résultat en chaîne et vous comparez une chaîne à une valeur booléenne, ce qui ne fonctionnera pas à nouveau.
Autres conseils
Essayez ce qui suit
if (Convert.ToBoolean(dbDataSet.Tables["productGeneral"].Rows[0]["Active"]) == true)
{}