Prendre une valeur dans la base et l'afficher
Résolu
cocodu67...
Messages postés
3178
Date d'inscription
Statut
Membre
Dernière intervention
-
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
J'ai un programme en C# et j'ai un problème sur la partie qui doit rechercher si un Identifiant est dans la base et si l'identifiant est présent ça cherche le solde restant et l'affiche dans une messagebox.
Voici le bout de code :
https://pastebin.com/67bKf81i
J'ai préféré le mettre sur pastbin car mes lignes sont très longues.
Le bug :
Je met un identifiant qui existe dans la base, le message "Elève trouvé" s'affiche mais ensuite j'ai le message "Erreur", ce qui veut dire que la partie qui récupère la valeur marquer dans fldSolde fait planter le programme mais le try catch permet d'éviter cela en affichant un message d'erreur.
Concernant ma base de données :
fldSolde est un champ en int
fldIdentifiant est un champ en int
Quelqu'un aurait-il une idée de ce que je dois modifier ?
Merci d'avance
J'ai un programme en C# et j'ai un problème sur la partie qui doit rechercher si un Identifiant est dans la base et si l'identifiant est présent ça cherche le solde restant et l'affiche dans une messagebox.
Voici le bout de code :
https://pastebin.com/67bKf81i
J'ai préféré le mettre sur pastbin car mes lignes sont très longues.
Le bug :
Je met un identifiant qui existe dans la base, le message "Elève trouvé" s'affiche mais ensuite j'ai le message "Erreur", ce qui veut dire que la partie qui récupère la valeur marquer dans fldSolde fait planter le programme mais le try catch permet d'éviter cela en affichant un message d'erreur.
Concernant ma base de données :
fldSolde est un champ en int
fldIdentifiant est un champ en int
Quelqu'un aurait-il une idée de ce que je dois modifier ?
Merci d'avance
A voir également:
- Prendre une valeur dans la base et l'afficher
- Base de registre - Guide
- Prendre une photo avec son pc - Guide
- Prendre une photo avec son mac - Guide
- Word afficher les commentaires dans la marge - Guide
- Valeur relative et absolue ✓ - Forum Webmastering
2 réponses
Bonjour,
Un coup tu fais ta requête sur tblEleve sans "s", et un coup sur tblEleves avec le "s".
Xavier
Un coup tu fais ta requête sur tblEleve sans "s", et un coup sur tblEleves avec le "s".
Xavier
Désolé de vous déranger encore une fois mais je me permet de vous demander encore quelque chose.
Une fois que le programme a constaté que l'identifiant est présent dans la base, il doit vérifier si le solde restant est supérieur ou égal à 1 euros si bChoix est égal à true et supérieur ou égal à 4 euros sur bChoix est égal à false. Si la condition est respectée, la valeur est décrémentée du prix du petit pain ou de la cantine. Le reste je saurais faire mais là je bloque encore ...
Voici les erreurs :
https://www.cjoint.com/c/DBjrIF5jUg5
Une fois que le programme a constaté que l'identifiant est présent dans la base, il doit vérifier si le solde restant est supérieur ou égal à 1 euros si bChoix est égal à true et supérieur ou égal à 4 euros sur bChoix est égal à false. Si la condition est respectée, la valeur est décrémentée du prix du petit pain ou de la cantine. Le reste je saurais faire mais là je bloque encore ...
Voici les erreurs :
https://www.cjoint.com/c/DBjrIF5jUg5
try { string tmp; maCommandeSolde.Connection.Open(); maCommandeSolde.ExecuteNonQuery(); tmp = Convert.ToString(maCommandeSolde.ExecuteScalar()); iSoldeRestant = Convert.ToInt32(tmp); if (bChoix == true) // Petits pains 1 euros { if (iSoldeRestant => 1) iSolde = iSolde - 1; else MessageBox.Show("Solde insuffisant"); } else // Cantine 4 euros { if (iSoldeRestant => 4) iSolde = iSolde - 4; else MessageBox.Show("Solde insuffisant"); } maCommandeSolde.Connection.Close(); } catch { MessageBox.Show("Erreur"); }
Oh merci c'est parfait :)
Tout fonctionne maintenant.
PS :
Le
Je l'ai simplifié par
Et j'ai aussi remarqué que je me suis mélangé les pinceaux en mettant iSolde alors que partout c'est iSoldeRestant.
Tout fonctionne maintenant.
PS :
Le
tmp = Convert.ToString(maCommandeSolde.ExecuteScalar());
iSoldeRestant = Convert.ToInt32(tmp);
Je l'ai simplifié par
iSoldeRestant = Convert.ToInt32(maCommandeSolde.ExecuteScalar());
Et j'ai aussi remarqué que je me suis mélangé les pinceaux en mettant iSolde alors que partout c'est iSoldeRestant.
Difficile de faire une erreur encore plus idiote. Une heure que je suis dessus ...
Merci beaucoup :)