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.
Erreur :
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); }
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?
Partager