IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] Comparaison string


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 39
    Points : 37
    Points
    37
    Par défaut [C#] Comparaison string
    Bonjour,

    Je débute en ASP.Net / C# et j'ai un petit problème...
    Je souhaite faire un formulaire d'authentification par l'intermédiaire d'une base de données SQLServer.
    J'utilise, le web.config etc. et jusque là, pas de problème !!!

    Je me connecte bien à la base avec ma classe SQLConnexion, et --voici mon problème-- lorsque je compare le password entré au password stocké dans ma base, les deux sont à priori identiques, mais en fait, le password que je récupère de la base de données est rempli d'espaces...

    J'ai fait des petites vérif, et je me suis rendu compte que la longueur du password de la base est toujours à 100... Et donc la comparaison ne peut pas fonctionner convenablement !!!

    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
    26
    27
    28
    29
    30
    31
    32
     
    // Connexion à la base de données
    			SQLConnexion conn;
    			conn = new SQLConnexion();
     
    			// Définition de la requête à exécuter
    			SqlCommand oCommand = new SqlCommand("SELECT * FROM Utilisateurs WHERE login='" + strUtilisateur+ "'",conn.MaConnection);
    			try 
    			{
    				// Ouverture de la connexion et exécution de la requête
    				conn.OpenConn();
    				SqlDataReader drUtilisateur = oCommand.ExecuteReader();
    				// Parcours de la liste des utilisateurs
    				while (drUtilisateur.Read())
    				{
    					Response.Write("Pwd entré = "+strMotDePasse.Length);
    					Response.Write("Pwd ok = "+drUtilisateur["password"].ToString().Length);
     
    					if (drUtilisateur["password"].ToString().Equals(strMotDePasse))
    					{
    						Response.Write("True mon pote");
    						bOk = true ; break ;
    					} 
    				} 
    				drUtilisateur.Close();
    			} 
    			catch 
    			{
    				bOk = false ; 
    			} 
    			conn.CloseConn();
    			return bOk;
    J'ai essayé .Equals et == pour la comparaison, mais le problème ne vient pas de là, il doit venir du ToString il me semble... (?)

    Je voulais donc vous demander si vous aviez une astuce pour éviter ce problème...

    Merci,

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Points : 93
    Points
    93
    Par défaut
    Supprime les espaces avec un trim:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strMotDePasse.trim() == drUtilisateur["password"].ToString().Trim()

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 39
    Points : 37
    Points
    37
    Par défaut
    Impeccable !!!

    Merci bien !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comparaison String to string
    Par champity dans le forum Langage
    Réponses: 1
    Dernier message: 15/10/2009, 20h49
  2. Réponses: 4
    Dernier message: 15/05/2008, 17h38
  3. Réponses: 3
    Dernier message: 03/03/2008, 10h30
  4. Comparaison string nombre
    Par yanndublanche dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2005, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo