Bonjour,

j'ai réalisé un code d'authentification permettant à un utilisateur de se connecter à l'application .

pour cela j'accède à la base de données et je vérifie si les informations saisies par l'utilisateur existent dans la base de données ou non.

voici le code que j'ai développer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 public bool authentifier(string log, string pass) 
        {
            string l="", p="";
            bool trouve=false;
            int n=0;
 
            foreach (DataRow row in datast.Tables["utilisateur"].Rows)
            {
 
                l = (string) datast.Tables["utilisateur"].Rows[n].ItemArray[0];
                p = (string) datast.Tables["utilisateur"].Rows[n].ItemArray[1];
 
                if (l.Equals(log) == true) 
                {
                    if (p.Equals(pass) ==true) 
                    {
                        trouve = true; ;
                    }
                }
                n++;
            }
            return trouve;
 
        }
J'ai controlé la valeur du trouve dans le traitement suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
             bool valid;
            valid = user.authentifier(this.textBox_login.Text,      this.textBox_pass.Text);
            if (valid == true) { this.Close(); }
            else MessageBox.Show("Le nom d'utilisateur ou le mot de passe est invalide !");
Mais dans l'exécution , toujours le message " nom....invalide" est affiché.
quand j'ai fait quelques vérifications j'ai trouvé que le l et le p contiennent toujours des données et que le programme n'entre pas à l'intruction if même si la condition est réalisée .

quelqu'un peut m'aider à résoudre ce problème??

merci

SQL Server 2000
visual c# expess 2008