Problème avec requête sql en java

Résolu
sophiagi Messages postés 22 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 27 août 2010 - 26 août 2010 à 11:51
sophiagi Messages postés 22 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 27 août 2010 - 27 août 2010 à 12:46
Bonjour,


Voilà j'ai crée une table utilisateur dans ma base de données cette table a 2 champs login et mot de passe et j'ai crée une interface authentification qui contient 2 labels un pour le login et l'autre pour le password avec deux jtextfield un jtxtlogin pour le login et un jpwdmdp voilà le bout de code je n'arrive pas à voir où est l'erreur eclipse me souligne mes deux variables jtxtlogin et jpwdmdp




public static authentification getlogin(String login,String password)
{
authentification e1=null;
String req"SELECT * FROM utilisateurs WHERE login '" + jtxtlogin.getText().replaceAll("'", "''") + "' AND password = '" + jpwdmdp.getText().replaceAll("'", "''") + "'" ;
connexion e=new connexion();
e.connect();
if(login.next())
{
JOptionPane.showMessageDialog(null,"Login ou mot de passe déjà utilisés !!!");
}


Statement state;
try {
state = e.conn.createStatement();



ResultSet result = state.executeQuery(req);

ResultSetMetaData resultMeta = result.getMetaData();

while(result.next()){

e1=new authentification(result.getObject(1).toString(), result.getObject(2).toString());



}
} catch (SQLException f) {
// TODO Auto-generated catch block
f.printStackTrace();
}

e.disconnect();

return e1;





Vos idées seront les bienvenues
merci


struggling with life but never give up

9 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 août 2010 à 13:31
Salut,

Tu passe les deux variables en paramètres de ta fonction, alors sers-toi en


Au lieu de faire :
String req"SELECT * FROM utilisateurs WHERE login '" + jtxtlogin.getText().replaceAll("'", "''") + "' AND password = '" + jpwdmdp.getText().replaceAll("'", "''") + "'" ; 

Fais plutôt :
String req"SELECT * FROM utilisateurs WHERE login '" + login.replaceAll("'", "''") + "' AND password = '" + password.replaceAll("'", "''") + "'" ; 

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 août 2010 à 12:08
Salut,

Parce que tu es dans un contexte static. Tu passe les deux variables en paramètres de ta fonction, alors sers-toi en.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
sophiagi Messages postés 22 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 27 août 2010
26 août 2010 à 12:57
J'ai enlevé le mot static et çà n'a pas marché encore.
j'ai importé la classe authentification qui contient les déclarations des variables et les getters et les setters.
eclipse me signale toujours le même problème



struggling with life but never give up
0
sophiagi Messages postés 22 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 27 août 2010
26 août 2010 à 13:25
désolée pour cette image encombrante
c'est la première fois que j'insère une image dans un forum.


struggling with life but never give up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sophiagi Messages postés 22 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 27 août 2010
26 août 2010 à 14:22
Merci pour la requête
Voici mon code du bouton valider qui se trouve dans l'interface d'authentification ce bouton doit pouvoir m'afficher un message en disant que l'utilisateur s'est bien authentifé et doit ensuite me ramené à une autre interface.
voici mon bout de code:
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("actionPerformed()");
authentification a1=new authentification();
a1=requetes.getlogin(jtxtlogin.getSelectedText().toString(),jpwdmdp.getSelectedText().toString());
if(a1==null)
JOptionPane.showMessageDialog(new JFrame(),"Vous avez entré un login ou un mot de passe incorrects","message d'erreur", JOptionPane.INFORMATION_MESSAGE);

else if (Login.next())
{
if(Login.getString(2).equals("oui"))
{


JOptionPane.showMessageDialog(null,""+jtxtlogin.getText()+" connecté avec succès !!!");
{
main.a=new Interface();
main.a.setVisible(true);


}



Voici les erreurs qu'il me génére:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Login cannot be resolved
Login cannot be resolved

at Authentification.getJbtnvalider(Authentification.java:126)
at Authentification.getJContentPane(Authentification.java:61)
at Authentification.initialize(Authentification.java:42)
at Authentification.(Authentification.java:32)
at main.main(main.java:40)



struggling with life but never give up
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 août 2010 à 15:47
Salut,

C'est quoi cette variable Login qui traîne dans ton code sans déclaration préalable ? Une variable membre de ta classe ? Apparemment non vu le message d'erreur...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
sophiagi Messages postés 22 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 27 août 2010
26 août 2010 à 15:48
La variable Login je l'ai déclaré dans la classe authentification c'est une variable membre de ma classe et non de mon interface graphique

struggling with life but never give up
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 août 2010 à 16:19
Salut,

Ok, et est-ce que ton listener est déclaré dans une classe inline ou bien ta classe authentification implémente le ActionListener ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
sophiagi Messages postés 22 Date d'inscription jeudi 4 décembre 2008 Statut Membre Dernière intervention 27 août 2010
27 août 2010 à 12:46
Merci oui en effet ma classe authentification implémente le ActionListener
Mon problème est réglé, j'arrive à me connecter grâce aux utilisateurs qui sont dans ma table
merci pour tous les conseils

struggling with life but never give up
0
Rejoignez-nous