Verification login/mot de passe java
Résolu
ilhem.s
Messages postés
34
Statut
Membre
-
tarik45 Messages postés 2 Statut Membre -
tarik45 Messages postés 2 Statut Membre -
Bonjour,
j'essaye d'etablire une page d'authentification mais une exception qui se produise lors de l'execution la voici :
java.sql.SQLException: Operation not allowed after ResultSet closed
Voici de même une partie de code relative au boutton de connexion
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url,log ,password);
Statement S=con.createStatement();
ResultSet resultaltLogin=S.executeQuery("Select login from user;");
while(resultaltLogin.next())
{
String LoginRecup=resultaltLogin.getString("login");
if (login.equals(LoginRecup))
{
ResultSet res=S.executeQuery("Select mot_de_passe from user where login='LoginRecup';");
while(res.next())
{
String MPRecup=res.getString("mot_de_passe");
if(MPRecup.equals(MP))
{
verif=true;
Accueil A=new Accueil();
A.show(true);
dispose();
}
}
}
}
if(!verif)
{
JOptionPane.showMessageDialog(null, "Verifier Login / Mot de passe", "Message d'erreur:", JOptionPane.ERROR_MESSAGE);
T1.setText("");
PF.setText("");
}
con.close();
} catch(Exception a){System.out.println(a);}
j'essaye d'etablire une page d'authentification mais une exception qui se produise lors de l'execution la voici :
java.sql.SQLException: Operation not allowed after ResultSet closed
Voici de même une partie de code relative au boutton de connexion
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url,log ,password);
Statement S=con.createStatement();
ResultSet resultaltLogin=S.executeQuery("Select login from user;");
while(resultaltLogin.next())
{
String LoginRecup=resultaltLogin.getString("login");
if (login.equals(LoginRecup))
{
ResultSet res=S.executeQuery("Select mot_de_passe from user where login='LoginRecup';");
while(res.next())
{
String MPRecup=res.getString("mot_de_passe");
if(MPRecup.equals(MP))
{
verif=true;
Accueil A=new Accueil();
A.show(true);
dispose();
}
}
}
}
if(!verif)
{
JOptionPane.showMessageDialog(null, "Verifier Login / Mot de passe", "Message d'erreur:", JOptionPane.ERROR_MESSAGE);
T1.setText("");
PF.setText("");
}
con.close();
} catch(Exception a){System.out.println(a);}
A voir également:
- Authentification login/mot de passe java
- Mot de passe - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe administrateur freebox ✓ - Forum Freebox
- Jeux java itel - Télécharger - Jeux vidéo
- Mot de passe administrateur - Guide
5 réponses
bonjour,
juste une ptite remarque,
point de vue optimisation tu peux eviter de lancer deux fois la requete (la 1ere pour recuperer le login et la 2eme pour recuperer le pass) parce que tu fais deux fois la connexion à ta base et tu execute deux fois une requete, donc ça peut ralentir ton execution surtout si tu remarque les 2 requetes pointent sur la meme table !! (ça c juste des recommandations ça n'empeche pas que ton code reste juste), et pour le faire tu fais un select * from user apres tu comprae les couples user, pass pour les comprarer à ce que le user tappe.
ResultSet resultaltLogin=S.executeQuery("Select * from user;");
while(resultaltLogin.next())
{
String LoginRecup=resultaltLogin.getString("login");
String MPRecup=resultaltLogin.getString("mot_de_passe ");
if (login.equals(LoginRecup) && MPRecup.equals(MP))
{
...... // ton traitement ici
}
essayes de corriger comme ça deja peut etre ça donnera un truc
juste une ptite remarque,
point de vue optimisation tu peux eviter de lancer deux fois la requete (la 1ere pour recuperer le login et la 2eme pour recuperer le pass) parce que tu fais deux fois la connexion à ta base et tu execute deux fois une requete, donc ça peut ralentir ton execution surtout si tu remarque les 2 requetes pointent sur la meme table !! (ça c juste des recommandations ça n'empeche pas que ton code reste juste), et pour le faire tu fais un select * from user apres tu comprae les couples user, pass pour les comprarer à ce que le user tappe.
ResultSet resultaltLogin=S.executeQuery("Select * from user;");
while(resultaltLogin.next())
{
String LoginRecup=resultaltLogin.getString("login");
String MPRecup=resultaltLogin.getString("mot_de_passe ");
if (login.equals(LoginRecup) && MPRecup.equals(MP))
{
...... // ton traitement ici
}
essayes de corriger comme ça deja peut etre ça donnera un truc
Merci vraiment tu m a trop aidé