Le format d'entrée est incorrect [Résolu]

tatoune_lis 5 Messages postés dimanche 6 novembre 2005Date d'inscription 2 avril 2009 Dernière intervention - 2 avril 2009 à 01:56 - Dernière réponse : titeoe 433 Messages postés samedi 26 avril 2003Date d'inscription 4 décembre 2009 Dernière intervention
- 2 avril 2009 à 20:39
Bonsoir tout le monde. j'espère que je suis sur le bon forum.
j'ai un problème de format lorsque je récupère la valeur de mon paramètre d'entrée. Je la récupère grâce à un textBox. Cela se fait lorsque l'utilisateur click sur un bouton. Donc si ce n'est pas le premier chargement je récupère la valeur dans ma variable sessionca. arrivé à cette étape, j'ai l'exception "format d'entrée est incorrect"

je vous donne mon code


protected void Page_Load(object sender, EventArgs e)
{

utilisateur = (CUtilisateur)Session["Utilisateur"];
ID = utilisateur.ID;
lblError.Text = "";
Int64 sessionca =0;
if (Session["Utilisateur"] == null)
{
Response.Redirect("Portail.aspx?Corps=login.ascx", true);
}

this.SaveViewState();
try
{

umdDB = new UMDDatabase();

if (this.IsPostBack)
{


sessionca = Convert.ToInt64(TxtRFichier.Text);
Int16 IND;
IND = Convert.ToInt16(utilisateur.ID);

DataGridFichier_SelectCommand(sessionca, IND);


}

}
catch (Exception ex)
{
CMonetikClass.DebugTraceDB("Ficher.Page_Load", ex.Message);
lblError.Text = ex.Message;
}
}

j'ai cherché cette erreur sur les forums mais je trouve des réponses avec une variable de type décimal ce qui n'est pas mon cas.
je ne suis loin d'être une experte
Donc si vous pouvez m'aider
merci pour vos réponse
Afficher la suite 

5 réponses

Répondre au sujet
titeoe 433 Messages postés samedi 26 avril 2003Date d'inscription 4 décembre 2009 Dernière intervention - 2 avril 2009 à 09:00
+3
Utile
Bonjour,

Le second message est toujours aussi illisible :)

Néanmoins, je détecte 2 sources d'erreurs dans ton code :

"sessionca = Convert.ToInt64(TxtRFichier.Text);"
et
"IND = Convert.ToInt16(utilisateur.ID);"

Question : quel est le type de la propriété ID de la classe CUtilisateur ?

A mon avis, je pense que tu peux passer en debug et vérifier la valeur de "TxtRFichier.Text" et de "utilisateur.ID" avant d'appeller les méthodes de conversion.

Pour éviter ce probleme, tu peux aussi utiliser la méthode "Int64.TryParse(...)" pour te prémunnir de ce genre d'erreurs.

Bon courage.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de titeoe
tatoune_lis 5 Messages postés dimanche 6 novembre 2005Date d'inscription 2 avril 2009 Dernière intervention - 2 avril 2009 à 02:05
0
Utile
Excusé mon message est illisible

Bonsoir tout le monde. j'espère que je suis sur le bon forum. j'ai un problème de format lorsque je récupère la valeur de mon paramètre d'entrée. Je la récupère grâce à un textBox. Cela se fait lorsque l'utilisateur click sur un bouton. Donc si ce n'est pas le premier chargement je récupère la valeur dans ma variable sessionca. arrivé à cette étape, j'ai l'exception "format d'entrée est incorrect" je vous donne mon code



protected void Page_Load(object sender, EventArgs e)
{
utilisateur (CUtilisateur)Session["Utilisateur"]; ID = utilisateur.ID;
lblError.Text = "";
Int64 sessionca =0;
if (Session["Utilisateur"] == null) { Response.Redirect("Portail.aspx?Corps=login.ascx", true);
}
this.SaveViewState();
try {
umdDB = new UMDDatabase();
if (this.IsPostBack)
{
sessionca = Convert.ToInt64(TxtRFichier.Text); Int16 IND;
IND = Convert.ToInt16(utilisateur.ID); DataGridFichier_SelectCommand(sessionca, IND);
}
}
catch (Exception ex) {
lblError.Text = ex.Message;
}
}


j'ai cherché cette erreur sur les forums mais je trouve des réponses avec une variable de type décimal ce qui n'est pas mon cas. je ne suis loin d'être une experte Donc si vous pouvez m'aider merci pour vos réponse


j'espère que c'est un peu plus clair
Commenter la réponse de tatoune_lis
tatoune_lis 5 Messages postés dimanche 6 novembre 2005Date d'inscription 2 avril 2009 Dernière intervention - 2 avril 2009 à 13:51
0
Utile
Bonjour titeoe



IND type = int

J'ai fait le débug et la valeur de 'TxtRFichier.Text' est correcte.

je vais vérifier à nouveau et utiliser TryParse

merci
Commenter la réponse de tatoune_lis
tatoune_lis 5 Messages postés dimanche 6 novembre 2005Date d'inscription 2 avril 2009 Dernière intervention - 2 avril 2009 à 19:46
0
Utile
Le Int64.TryParse fonctionne
merci titeoe
Commenter la réponse de tatoune_lis
titeoe 433 Messages postés samedi 26 avril 2003Date d'inscription 4 décembre 2009 Dernière intervention - 2 avril 2009 à 20:39
0
Utile
de rien, heureux d'avoir put t'aider :)
Commenter la réponse de titeoe

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.