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

JDBC Java Discussion :

Tester L'existance des donnés saisies par utilisateur dans BD Mysql.


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut Tester L'existance des donnés saisies par utilisateur dans BD Mysql.
    Salut,

    Je travaille sous Eclipse,

    Explication de mon Code:
    Un utilisateur saisie son Login dans l'objet de la classe JTextField et son password dans l'objet de classe JPasswordField , Alors je teste si ces deux dernières informations existe dans La Base de Donnée Mysql.

    Nom de Base de donnée = test
    Nom de la table = connexion
    Nom des champs: * id de type int, * login de type String, * password de type String.

    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
    33
    34
    35
    36
    37
    38
    39
     
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
          String login = jTextField1.getText();
    	  String password = jTextField2.getText();
     
    		String pilote = "com.mysql.jdbc.Driver";
     
    		try
    		{
    			Class.forName("com.mysql.jdbc.Driver");
     
    			Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
    			Statement instruction = (Statement) connexion.createStatement();
    			ResultSet resultat = instruction.executeQuery("SELECT * FROM connexion");
                String user = resultat.getString("login");
                String motDePasse1 = resultat.getString("password");
     
    			while(resultat.next())
    			{
    				if(user.equals(login) && motDePasse.equals(password))
    				{
    					JOptionPane.showConfirmDialog(null,"Bienvenue " + login + " .Vous êtes connecté","Juste un test",
    							 JOptionPane.PLAIN_MESSAGE);
    				}
    				else
    				{
    					System.out.println("Introuvable");
    				}
    			}
    		}
    		catch (Exception e)
    		{
     
    			System.out.println("echec pilote : "+e);
    		}
     
     
        }

    Le problème:

    1) Si je veux récupérer le Login je fais juste nomDuTextField.getText() qui retourne un String, Mais lorsque je veux réccupérer password je dois utiliser nomDuPasswordField.getPassword().C'est bon jusqu'à maitenant !

    Mais quand je fais : String password = passwordText.getPassword();
    Eclipse me met une croix rouge sur cette ligne, et il me dit : "Change type of password to char[]" !!

    2) Lors de de Runing, quand je saisie dans un login et password qui existent dans la Base de Donnée, il m'affiche 'introuvable' !!


    Sisiniya.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par sisiniya Voir le message
    "Change type of password to char[]" !!
    Parce que getPassword renvoie un char[] et non pas un String. Si tu veux l'utiliser comme String, tu dois faire appel à new String(char[])

  3. #3
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Ah! D'accord.

    S'il vous plaît pourriez vous me dire est ce que la syntaxe est logique de La condition if qui se trouve à l'intérieur de La boucle While ?

    Je vous remercie.

    Sisiniya.

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Deux points:
    1 - Déclaration: String motDePasse1 puis: motDePasse.equals Mais bon, ça c pas un bon copier/coller de ton code vers le forum ??
    2 - Resultat.next() d'accord mais tu mets pas à jour les deux variables de comparaisons: user et motDePasse. C'est sûr que tu auras toujours 'introuvable' sauf si c'est le premier login/pwd

  5. #5
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Oui Effectivement c'est motDePasse à la place motDePasse1 faute de copier/coller !

    Pour le deuxième points, j'ai pas compris pourquoi je vais mettre à jour les deux variables de comparaisons: user et motDePasse ?? Et Comment ?

    Merci .


    Sisiniya.

  6. #6
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,
    je crois que ces deux lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String user = resultat.getString("login");
    String motDePasse1 = resultat.getString("password");
    doivent être à l'intérieur de la boucle while, puisqu'à chaque appel de la méthode next(), on passe à la ligne suivante, et donc il faut récupérer le login et le mot de passe courant, et puis les comparer aux login et mot de passe saisis par l'utilisateur.
    et puis pour le else ou tu affiches le message "Introuvable", il faut le mettre en dehors de la boucle, il faut d'abord parcourir toute la table, et puis à la fin de la boucle, si on ne trouve rien, c'est alors qu'on affiche introuvable, et il serait bien bien de mettre un boolean qui aura true si les login et mot de passe existe, false sinon. un petit code pour mieux voir la chose
    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
     
    String user, motDePasse;
    boolean log_pass_existe = false;
     
    while(resultat.next())
    {
    	user = resultat.getString("login");
    	motDePasse1= resultat.getString("password");
    	if(user.equals(login) && motDePasse.equals(password))
    	{
    		JOptionPane.showConfirmDialog(null,"Bienvenue " + login + " .Vous êtes connecté","Juste un test",
    				 JOptionPane.PLAIN_MESSAGE);
    		log_pass_existe = true;
    		break;
    	}
    }
    if (!log_pass_existe)
    	System.out.println("Introuvable");

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

Discussions similaires

  1. [MySQL] Gestion des données d'un utilisateur dans une application
    Par Boujoute dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/06/2012, 14h48
  2. Réponses: 2
    Dernier message: 22/07/2011, 15h44
  3. [Excel] Intégrer au fichier Excel des données saisies par formulaire
    Par drogba72 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 21/05/2008, 11h13
  4. [MySQL] envoi des données de boutons radio dans table mysql
    Par alexbigot dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 07/06/2007, 13h51
  5. [HTML] Récupérer données saisies par Utilisateur
    Par jacques13 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 08/01/2007, 21h55

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