Verification login/mot de passe java

Résolu
ilhem.s Messages postés 34 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);}
A voir également:

5 réponses

malaik5 Messages postés 282 Statut Membre 33
 
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
6
malaik5 Messages postés 282 Statut Membre 33
 
pour l'eception je ne sais pas pourquoi pour le moment
0
ilhem.s Messages postés 34 Statut Membre 1
 
cva c b1 fonctionné
Merci vraiment tu m a trop aidé
0