Requet SQL sous eclipse
Résolu/Fermé
A voir également:
- Resultset java
- Eclipse java - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Honeywell eclipse ms5145 configuration français - Forum Matériel & Système
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
6 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
7 sept. 2009 à 16:25
7 sept. 2009 à 16:25
Bonjour,
Peux-tu mettre la ligne où l'erreur survient, ainsi que le message d'erreur (met nous le tout le printStackTrace() à la rigueur)
Peux-tu mettre la ligne où l'erreur survient, ainsi que le message d'erreur (met nous le tout le printStackTrace() à la rigueur)
bonjour!
enfait je crois que les ligne qui pose probleme sous les suivant:
if(rs.next())
{
loged=true;
rs2=st.executeQuery("SELECT type_user FROM personne WHERE nom='"+log+"' AND pwd='"+pwd+"'");
rs1 = rs2.getString("type_user");
System.out.println(rs1);
}
voici ci-dessous le message d'erreur que j'obtien en console:
erreur commande sql
Loged
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at identificateur.actionPerformed(identificateur.java:72)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
enfait je crois que les ligne qui pose probleme sous les suivant:
if(rs.next())
{
loged=true;
rs2=st.executeQuery("SELECT type_user FROM personne WHERE nom='"+log+"' AND pwd='"+pwd+"'");
rs1 = rs2.getString("type_user");
System.out.println(rs1);
}
voici ci-dessous le message d'erreur que j'obtien en console:
erreur commande sql
Loged
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at identificateur.actionPerformed(identificateur.java:72)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
8 sept. 2009 à 17:19
8 sept. 2009 à 17:19
Ok, le message est clair, tu as un nullPointer sur la ligne 72 dans ta classe Identificateur.
Or le code que tu donne n'est pas celui de la classe Identificateur.
Donc j'en déduit que ta classe Identificateur fait appel via un event à la classe que tu as donné plus haut, c'est ca ? (vu les logs)
Si ce n'est pas le cas alors tu t'es planté d'endroit je pense.
Sinon dans le message d'erreur, à quoi correspondent les traces "erreur commande sql" et "logged" ?
Dans tous les cas, si le bout de code que tu as donné plante, tu devrais le tester indépendamment du reste du programme, en faisant par exemple un main qui instancie un objet de la classe que tu as donné, comme ça on aura des traces plus parlante pour les erreurs.
Or le code que tu donne n'est pas celui de la classe Identificateur.
Donc j'en déduit que ta classe Identificateur fait appel via un event à la classe que tu as donné plus haut, c'est ca ? (vu les logs)
Si ce n'est pas le cas alors tu t'es planté d'endroit je pense.
Sinon dans le message d'erreur, à quoi correspondent les traces "erreur commande sql" et "logged" ?
Dans tous les cas, si le bout de code que tu as donné plante, tu devrais le tester indépendamment du reste du programme, en faisant par exemple un main qui instancie un objet de la classe que tu as donné, comme ça on aura des traces plus parlante pour les erreurs.
en effet la class identification sert d'interface utilisateur pour entrer des parametre d'identification,elle appel la class auth donc j'ai donné la code pour le traitement de ces parametre( la verification dans la BD) d'ou le "logged" de la console.
en faisant des testes sur le code :
rs=st.executeQuery("SELECT nom, pwd FROM personne WHERE nom='"+log+"' AND pwd='"+pwd+"'");
if(rs.next())
{
loged=true;
rs2=st.executeQuery("SELECT type_user FROM personne WHERE nom='"+log+"' AND pwd='"+pwd+"'");
rs1 = rs2.getString("type_user");
System.out.println(rs1);
}
else loged=false;
j'obtien les message suivant en console:
Connexion succeded with DB
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'moi' in 'where clause'
en passant "moi' comment parametre de reference pour le trie dans la BD ("moi" exsiste dans la BD)
en faisant des testes sur le code :
rs=st.executeQuery("SELECT nom, pwd FROM personne WHERE nom='"+log+"' AND pwd='"+pwd+"'");
if(rs.next())
{
loged=true;
rs2=st.executeQuery("SELECT type_user FROM personne WHERE nom='"+log+"' AND pwd='"+pwd+"'");
rs1 = rs2.getString("type_user");
System.out.println(rs1);
}
else loged=false;
j'obtien les message suivant en console:
Connexion succeded with DB
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'moi' in 'where clause'
en passant "moi' comment parametre de reference pour le trie dans la BD ("moi" exsiste dans la BD)
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
11 sept. 2009 à 10:25
11 sept. 2009 à 10:25
mum, je ne vois pas comment un tel message d'erreur peut s'afficher (l'histoire du 'unknown column 'moi').
Par contre j'ai un gros doute sur ta seconde requête SQL.
Au vu de la première qui te sert de log-on en quelque sorte, tu as donc une table 'personne' comprenant au moins les champs suivants :
- id_user
- nom
- pwd
Dans ta seconde requête, tu récupère le type de la personne, faisant référence à la table 'type_user'.
Or, pour sélectionner cette information, tu fais exactement la même requête, en utilisant à nouveau les champs 'nom' et 'pwd', mais je doute quand même que tu ai répété ces informations dans cette table, non ?
Pourrais-je donc avoir la structure de tes tables SQL pour y voir plus clair ?
Normalement, tu dois avoir une table 'type', avec les champs 'id_type', 'libellé', etc. puis une table de jonction (ce que l'on appelle une association) 'type_user' avec les champs 'id_type' et 'id_user', ceci dans le but de lier une personne à son type.
Par contre j'ai un gros doute sur ta seconde requête SQL.
Au vu de la première qui te sert de log-on en quelque sorte, tu as donc une table 'personne' comprenant au moins les champs suivants :
- id_user
- nom
- pwd
Dans ta seconde requête, tu récupère le type de la personne, faisant référence à la table 'type_user'.
Or, pour sélectionner cette information, tu fais exactement la même requête, en utilisant à nouveau les champs 'nom' et 'pwd', mais je doute quand même que tu ai répété ces informations dans cette table, non ?
Pourrais-je donc avoir la structure de tes tables SQL pour y voir plus clair ?
Normalement, tu dois avoir une table 'type', avec les champs 'id_type', 'libellé', etc. puis une table de jonction (ce que l'on appelle une association) 'type_user' avec les champs 'id_type' et 'id_user', ceci dans le but de lier une personne à son type.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
14 sept. 2009 à 09:08
14 sept. 2009 à 09:08
Bonjour,
Je crois que c'est parce que tu ne recréé par ton objet Statement à chaque fois avant d'exécuter une requête.
Peux-tu essayer de recréer et / ou flusher / ré-initialiser cet objet avant de faire à nouveau un executeQuery avec.
Je crois que c'est parce que tu ne recréé par ton objet Statement à chaque fois avant d'exécuter une requête.
Peux-tu essayer de recréer et / ou flusher / ré-initialiser cet objet avant de faire à nouveau un executeQuery avec.
bonjour,
merci sa marche maintement!!!
Sinon j'ai un autre problem avec mon socket TCP. Pour tout vous dire la class identification qui est l'interface utilisateur reçoit le donner saisis et les envoi vers le serveur via un socket, grace a la class auth sur laquelle nous travaillions les parametre sont verifier et revoyer vers la class identifcation pour deverouiller le system. Le probleme intervien au niveau de l'envoi des données du serveur vers la class identificateur(les donn"es ont semble alterer.
peuvez-vous m'orianter sur ces suject?
quelqu'un peut me dire comment je fait pour avoir ce fichier:
-Apache Software Foundation\Tomcat 5.5\common\lib\
-Apache Software Foundation\Tomcat 5.5\shared\lib\
Merci d'avance pour votre aide
merci sa marche maintement!!!
Sinon j'ai un autre problem avec mon socket TCP. Pour tout vous dire la class identification qui est l'interface utilisateur reçoit le donner saisis et les envoi vers le serveur via un socket, grace a la class auth sur laquelle nous travaillions les parametre sont verifier et revoyer vers la class identifcation pour deverouiller le system. Le probleme intervien au niveau de l'envoi des données du serveur vers la class identificateur(les donn"es ont semble alterer.
peuvez-vous m'orianter sur ces suject?
quelqu'un peut me dire comment je fait pour avoir ce fichier:
-Apache Software Foundation\Tomcat 5.5\common\lib\
-Apache Software Foundation\Tomcat 5.5\shared\lib\
Merci d'avance pour votre aide
simo_tsdi
Messages postés
37
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
2 février 2010
2
14 sept. 2009 à 17:24
14 sept. 2009 à 17:24
je pense ke "pwd" est réservé
eseeyer de changer la nomination du pwd au sein de la base de données
eseeyer de changer la nomination du pwd au sein de la base de données
8 sept. 2009 à 17:09
Connexion succeded with DB
echec pilote hlr: java.sql.SQLException: Before start of result set