Problème de cast

Kati83 Messages postés 65 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 septembre 2004 - 18 mars 2004 à 10:58
cs_bignole Messages postés 10 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 31 mai 2005 - 3 mai 2005 à 11:28
Bonjour à tous,

J'aurais besoin d'un petit coup de pouce pour un programme qui passe à la compilation mais qui me met un message d'erreur du type :

Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.InvalidCastException: Le cast spécifié n'est pas valide.

En fait, j'ai essayé plein de trucs, et quand je n'ai pas cette erreur, j'ai une autre erreur où il me dit que l'index est hors de portée...

Voici mon code :

//monres est un SqlDataReader qui me renvoie les
// données de la base

while (monres.Read())
{

MonObjet.Id = monres.GetInt32(0);
MonObjet.Titre = monres.GetString(1);
MonObjet.Resume = monres.GetString(2);
MonObjet.Contenu = monres.GetString(3);
MonObjet.Date_act = Convert.ToDateTime(monres.GetString(4));
MonObjet.Graphique = monres.GetString(5);

}

Pour info, les attributs de MonObjet correspondent exactement à ceux stockés ds la base
Je vous précise les types au cas où :
Id : numérique
Titre : texte
Resume : texte
Contenu : texte
Graphique : texte

Si quelqu'un a une idée du problème (soyez indulgents, je débute ;-) )
Merci d'avance !!

*** Kati ***

7 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mars 2004 à 11:47
ben essaie de determiner precisement sur quelle valeur il leve cette exception
tu peux par exemple mettre du try-catch pour gerer l'exception et ainsi savoir sur quel valeur ça se produit

enfin je connais rien en debug de projet web
mais je miserais bien sur Convert.ToDateTime(monres.GetString(4)); là ^^

Cocoricoooooooo !!!!
0
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
18 mars 2004 à 13:59
Tu a une méthode .GetDateTime au lieu de passer par une conversion.

[Membre du Labo .NET]
[blue]Société TechNet-X/green
0
Kati83 Messages postés 65 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 septembre 2004
18 mars 2004 à 14:43
Je sais qu'on peut faire un.getDateTime.
En fait j'essaie plein de trucs depuis ce matin et y'a rien qui marche.
Même un truc tout simple du genre :
MonObjet.Id = monres.GetInt32(0);

Alors que je suis sure que le Id de MonObjet est bien int... Là franchement, je vois pas...

*** Kati ***
0
taharban Messages postés 56 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 14 novembre 2007
22 mars 2004 à 10:52
quel est le résultat de "monres.GetFieldType(0)" ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bignole Messages postés 10 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 31 mai 2005
3 mai 2005 à 10:23
Ou peut-on trouver cet méthode GetDateTime s'il vous plait??
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 mai 2005 à 10:51
Sur les classes implémentant IDataRecord
IDataRecord.GetDateTime

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_bignole Messages postés 10 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 31 mai 2005
3 mai 2005 à 11:28
merci
0
Rejoignez-nous