cs_warzet
Messages postés99Date d'inscriptionjeudi 17 janvier 2008StatutMembreDernière intervention25 juillet 2013
-
20 juil. 2012 à 08:59
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
24 juil. 2012 à 14:07
En effet dans mon Application, il est question de noter des élèves, aussi je souhaiterais interdire des nombres négatifs et des nombres supérieurs à 20. voici ce que j'ai fait:
if (cboMatricule.Text != null ||
txtCodePersonnel.Text != " " ||
cboClasse.Text != null ||
cboMatiere.Text != null ||
cboTypeEvaluation.Text != null ||
cboTrimestres.Text != null ||
txtCoefficiente.Text != "" ||
txtNoteObtenue.Text != "" ||
txtAnnee.Text != "0000-0000")
{
//Declaration d'une boite de dialogue "YesNo"
//Si l'utilisateur confirme l'Enregistrement on exécute la requette
if (MessageBox.Show("Êtes-vous sûr de vouloir Ajouter" + "\n" +
"un nouvel enregistrement?", "Enregistrement...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
string chaine1, chaine2, chaine3;
chaine1 = txtNoteObtenue.Text;
chaine2 = "20";
chaine3 = "0";
int i = chaine1.CompareTo(chaine2);
int j = chaine1.CompareTo(chaine3);
Boolean egal = chaine1.Equals(chaine2);
Boolean meme = chaine1.Equals(chaine3);
if (i 0 || i -1)
{
//if (j 0 || j 1)
//{
try
{
// Connexion à la base de test
OleDbConnection Conex = new OleDbConnection(strConex);
Conex.Open();
Il se trouve que ça marche pour ce qui concerne les nombres supérieurs à 20, mais pour les nombres négatifs ça ne marche pas. Si quelqu'un pourrait orienter mes recherches pour que je m'en sorte. Merci d'avance.
A voir également:
La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites.
cs_BinKentsu
Messages postés64Date d'inscriptionjeudi 1 septembre 2011StatutMembreDernière intervention22 juillet 20148 20 juil. 2012 à 09:11
Bonjour,
Au lieu d'utiliser la fonction CompareTo, tu pourrais faire un test de la valeur entrée comme suit :
if (Float.TryParse(txtNoteObtenue.Text))
{
float temp = Float.Parse(txtNoteObtenue.Text);
if (temp > 20)||(temp < 0)
MessageBox.Show("La note entrée n'est pas correcte.");
else
{
// Ton code
}
}
else
MessageBox.Show("Vous n'avez pas entré un nombre.");
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 24 juil. 2012 à 14:07
Salut,
Inutile de rappeler la méthode float.Parse derrière.
La méthode float.TryParse(strin text, out float val) renvoie true si la conversion a été possible, false sinon. Mais si elle a été possible, la valeur a automatiquement été enregistrée dans val (d'où le mot-clé out).
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -