Ich versuche zur Validierung username und Passwort

Ich versuche, um sicherzustellen, dass, wenn ein Benutzer gibt Benutzername & Passwort-Authentifizierung erfolgt durch überprüfung, wenn der Eingang entspricht einer Zeile in der user-Tabelle. Hier ist der code so weit: Es reagiert nicht, wenn die Schaltfläche login klicken. Bitte vorschlagen, wie kann ich es einstellen das richtige. Dank

 private void dbConnection()
{
   try
   {
       Class.forName("com.mysql.jdbc.Driver");
       Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/maths_tutor", "root", "jesus");
       Statement stmt = conn.createStatement();
       String CHECK_USER = "SELECT * FROM records WHERE username = '"+this.txtUser+"' AND password = '"+this.txtPass+"'";
       ResultSet rs = stmt.executeQuery(CHECK_USER);

        while(rs.next())
        {
            String user = txtUser.getText();
            String pass = txtPass.getText();

            if(user.equals(rs.getString("username")))
            {
                if(pass.equals(rs.getString("password")))
                {
                    this.dispose();
                    new AboutTo().setVisible(true);
                }
                else JOptionPane.showMessageDialog(null, "Invalid Password");
            }
            else JOptionPane.showMessageDialog(null, "Invalid Username or Password");
        }



       stmt.close();
       rs.close();
       conn.close();
   }


   catch(SQLException | ClassNotFoundException er)
   {
       JOptionPane.showMessageDialog(null, "Exception:\n" + er.toString());
   }

}
  • was ist die Ausnahme, die Sie bekommen?
  • Warum sind Sie zur überprüfung, dass das SQL für die Datenbank funktioniert? Wenn Sie ein Ergebnis bekommen, es war ein Spiel, die Sie nicht brauchen, um es zu überprüfen. BTW, Wenn Sie nicht bekommen ein Spiel, spielt es keine Rückkehr einen zufälligen Datensatz, die nicht übereinstimmen, es gibt nichts zurück, so dass Sie verwenden sollten if(rs.next()) { ok } else { not ok }
  • Dieses Stück code nur vergleicht den Benutzernamen und Passwort mit der DB-Daten. Wo ist der code, der diese Methode aufruft, klicken Sie auf der login-button?!
  • Haben Sie versucht, den code zu Debuggen, wenn der login-button geklickt wird. Überprüfen Sie die Werte für Benutzername und Kennwort und sehen, ob die Logik richtig ist.
  • Erste:- "JOptionPane.showMessageDialog(null, "Passwort Ungültig")" dieses Stück code ist nicht erforderlich, da Ihr nur bekommen, resultSet, wenn es erfüllt sowohl Benutzername und Kennwort entweder können Sie zwei verschiedene Anweisungen, wo Sie Benutzername und Passwort getrennt voneinander. Zweitens:- Sie müssen zunächst prüfen, ob Ihr irgendeine Antwort, wenn Sie auf die Schaltfläche klicken und dann überprüfen, ob die Datenbank-Konnektivität ist in Ordnung, die...
InformationsquelleAutor Vincent Uche | 2013-10-28
Schreibe einen Kommentar