2009-06-26 12 views
3

Comment puis-je récupérer une valeur booléenne dans les données, je suis en utilisant Visual Studio 2003, je suis en train ce qui suit, mais il ne fonctionne pas:Obtenez une valeur booléenne de DataTable

//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 ne fonctionne pas:

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

le nom de colonnes est [ "active"], la valeur avec la colonne est Vrai ou faux, utilisant le serveur SQL 2000

s'il vous plaît aider

Répondre

3

Vous avez besoin de lancer un bool directement, et vérifiez simplement en utilisant cela.

Avez-vous essayé ?:

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

Si c'est un bool, vous aurez envie de jeter le résultat à un bool directement.

Le premier échec depuis 0 est un Int32, pas un booléen. Ils ne sont pas comparables en C#, car ce sont des types distincts. La seconde échoue depuis que ToString() transforme le résultat en une chaîne, et vous comparez une chaîne à un booléen, ce qui ne fonctionnera pas à nouveau.

+0

Merci beaucoup pour me aider :) – Developer

1

vous essayez les opérations suivantes

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