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 :

Echec du pilote JDBC avec mysql


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Par défaut Echec du pilote JDBC avec mysql
    Bonjour j'ai un problème de requete avec mysql :
    J'utilise NetBeans 6.1. Je précise que je peux interroger ma base directement par NetBeans et ça fonctionne. Donc le driver devrait être bon. Mais non.

    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
     
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/maBase", "root", "");
                Statement instruction = connexion.createStatement();
     
                String monPass = secretField.getValue().toString();
                ResultSet resPers = instruction.executeQuery("SELECT * FROM t_personne WHERE nom = '" + textField.getValue() + "'");
                resPers.next();
                System.out.println("SELECT * FROM t_personne WHERE nom = '" + textField.getValue() + "'");
                if (monPass.equals(resPers.getString("pass"))) {
                    outputText.setValue("Connexion OK");
                }
            } 
            catch (Exception e) {
                System.out.println("Echec pilote jdbc : " + e);
            }
    Erreur :

    SELECT * FROM t_personne WHERE nom = 'Martin'
    Echec pilote jdbc : java.sql.SQLException: Column Index out of range, 0 < 1.

    Ce qui est étrange c'est que ça fonctionnait bien jusqu'à ce que je tente de crypter le mot de passe. Ca ne fonctionnait pas donc j'ai tenté de revenir en arrière et maintenant même sans crypte ça ne fonctionne plus.
    Si je copie la ligne : SELECT * FROM t_personne WHERE nom = 'Martin'
    dans le requeteur de NetBeans, ça retourne le résultat.
    Y a-t-il une erreur dans mon code? Oui forcément mais laquelle?

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Es tu sûr d'avoir une colonne nommée "pass" dans ta table ?

    2 petites remarques :

    Tu devrais passer par des PreparedStatement. C'est plus qu'utile surtout si tu te sers de string dans ta clause where ...


    Tu devrais mettre un if pour contrôler que ton resultset n'est pas vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(resPers.next())
       if (monPass.equals(resPers.getString("pass"))) {
             outputText.setValue("Connexion OK");
       }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Par défaut
    merci in,

    j'ai créé un nouveau projet en suivant tes conseils et ça marche!

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

Discussions similaires

  1. Java et JDBC avec MySQL
    Par siempre dans le forum JDBC
    Réponses: 2
    Dernier message: 14/03/2012, 12h54
  2. Souci JDBC avec Mysql, programmation JAVA
    Par Danzel dans le forum Windows
    Réponses: 8
    Dernier message: 29/12/2006, 21h46
  3. Souci JDBC avec Mysql, programmation JAVA
    Par Danzel dans le forum JDBC
    Réponses: 1
    Dernier message: 16/12/2006, 09h31
  4. Réponses: 5
    Dernier message: 05/12/2006, 18h05
  5. [JDBC] pilote JDBC pour MySQL
    Par michihala dans le forum JDBC
    Réponses: 5
    Dernier message: 05/08/2005, 08h33

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