Java: Login/Passwort überprüfen

Geschlossen
xandros - Geändert am 15. Januar 2019 um 00:14
 f@rrog - 26. Mai 2011 um 10:52
Hallo,

ich versuche, eine Authentifizierungsseite zu erstellen, aber eine Exception wird während der Ausführung hervorgerufen.
Hier ist die Exception : Operation not allowed after ResultSet closed
Folgendes ist einen Teil des Programm bezüglich der Verbindungsknopf:

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 Passwort from user where login='LoginRecup';");
while(res.next())
{
String MPRecup=res.getString("Passwort");
if(MPRecup.equals(MP))
{
verif=true;
EmpfangA=new Empfang();
A.show(true);
dispose();
}
}
}
}
if(!verif)
{
JOptionPane.showMessageDialog(null, "überprüfen Sie Login / Passwort", "Fehlermeldung:", JOptionPane.ERROR_MESSAGE);
T1.setText("");
PF.setText("");
}
con.close();
} catch(Exception a){System.out.println(a);}

1 Antwort

Hi xandros ,

Ok , ich habe das selbe Problem gehabt...also habe ich einfach dein Programm genommen und habe mich damit beschäftigt... und endlich konnte ich es lösen.

folgende Lösung habe ich für dich und für alle die es brauchen :)

Class.forName("com.mysql.jdbc.Driver");
Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1/ma_base", "root", "");
Statement s = c.createStatement();
ResultSet r = s.executeQuery("select * from authentification");
while (r.next()) {
String LoginRecup = r.getString("Login");
String log = jTextField1.getText();
char[] pssw = jPasswordField1.getPassword();
String pw = new String(pssw);
String MPRecup = r.getString("Password");
if (LoginRecup.equals(log)& MPRecup.equals(pw) ) {

verif = true;
principale N = new principale();
N.setVisible(true);
this.dispose();

}
}
if (!verif) {
JOptionPane.showMessageDialog(null, "überprüfen Sie Login / Passwort", "Fehlermeldung:", JOptionPane.ERROR_MESSAGE);
jTextField1.setText("");
jPasswordField1.setText("");
}
c.close();
} catch (Exception a) {
System.out.println(a);
}


Ich hoffe es ist verständlich für euch :)
4
Treten Sie der Community bei