Bonsoir,
J'ai un bout de code qui cherche une valeur dans une table :
http://pastebin.com/5NdVhWNz
Le fonctionnement est très simple, ça cherche un identifiant dans une table, s'il y est ça prend le nombre marqué dans fldSolde et l'affecte à la variable iSoldeRestant.
Sur le même principe j'ai maintenant créé un code qui vérifie si un identifiant se trouve dans une table et s'il y est il cherche ce qui est marqué dans fldMotDePasse dans la ligne de l'identifiant concerné (1 identifiant = 1 mot de passe) :
http://pastebin.com/M0HzahW3
Je vous ais mis la fonction de recherche, en faite j'initialise Admin en false, je lance une première fois la fonction, si l'identifiant est trouvé ça renvoie true, cela fonctionne, ensuite Admin est passé à true et ça relance la fonction. Cette fois ça doit cherche le mot de passe stocké dans la base de données (MdpBD) et le comparé au mot de passe saisie dans le logiciel (MdpChiffre) et si c'est égal ça renvoie true, sinon ça renvoie false.
Le problème c'est que MdpBD lorsque le code
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part MdpBD = Convert.ToString(maCommandeRecherche.ExecuteScalar());
est executé est égal à Champ que j'ai passé en argument à la fonction et non égal au mot de passe stocké dans la base de données.
Les deux codes se ressemblent tellement mais le second ne fonctionne pas.
Pouvez vous jeter un coup d'oeil ?
Merci d'avance
PS :
Voici ce qui lance la fonction :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if(Recherche("fldidentifiant") == false) mainForm.labelConnecteAdm.Text = "Non connecté, vous n'êtes pas un admin"; else { MdpChiffre = getMd5Hash(textBox1.Text); Admin = true; if(Recherche("fldMotDePasse") == true) mainForm.labelConnecteAdm.Text = "Connecté"; else mainForm.labelConnecteAdm.Text = "Non connecté, mot de passe incorrecte"; }
Partager