Probléme de Cast [Résolu]

Signaler
Messages postés
36
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
10 février 2013
-
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
-
Bonjour à tous,
j'ai un souci à propos du cast qui n'est pas valide
j'ai dans ma table de la base de données un attribut qui contient un nombre soit 1 ou 0
je veux lors de l'affichage,afficher "oui" en cas de 1 et affciher "non" en cas de 0

c'est à dire pour les champs qui sont bit ou booléen côté BD, les afficher sous la forme de oui ou non côté Application.

 public String AfficherBooleen(object o)
        {
            return ((bool)o ? "Oui" : "Non");
        }

voila l erreur donnée :

"le cast spécifié n'est pas valide
losrque vous effectuer un cast à partir d'un nombre, la valeur doit etre un nombre inferieur à l infini."

Quelqu'un pourra t-il m'aider s'il vous plait. Je vous remercie d'avance
A voir également:

3 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

déjà tu peux tenter un cast vers int du genre :

return ((Convert.ToInt32(o) == 0)?"non":"oui");


Ensuite, tu devrais checker si o est différent de null, mais aussi si o est différent de DBNull.Value (valeur retournée lorsque la valeur en base de données est nulle).

Enfin, tu peux passer en mode debug pas-à-pas pour savoir quelle valeur a ta variable o au moment de l'erreur, et ainsi savoir précisément où est l'erreur pour la corriger.
Messages postés
36
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
10 février 2013

Merci pour ton aide c'est ce convert to int qui me manquait ^^
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
25
Salut,

Tu peux aussi utiliser la méthode Convert.ToBoolean(..):
return Convert.ToBoolean(o) ? "oui" : "non";


Bonne journée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------