LoginForm: Vergleichen Sie Benutzername & Passwort aus der Datenbank

Ich bin ein Anfänger in der Verwendung von Java und MS Access.

Eigentlich übergeben müssen einen Benutzernamen und ein Passwort (was wird verschlüsselt mit MD5) und vergleicht ihn mit den Daten in meiner Datenbank-Tabelle. Wenn es gefunden wird, es sollte einen booleschen Wert zurückgeben wahr.

Bekomme ich die folgende Fehlermeldung:

FEHLER: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]allgemeiner Fehler Unable to open registry key Temporary (volatile) Ace-DSN for process 0x3b0 Thread 0xfd4 DBC 0x5a91fcc

Dies ist meine Funktion zum überprüfen von Passwörtern:

private boolean logChck(String username, String password)
     {
      String query;
      boolean login = false;

        try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String filename = "D:/Sand/program/JavaNetbeans/AllCodesHere/TestingCode/src/TestingCode/HotMan2.accdb";
        String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=";
        database+= filename.trim() + ";DriverID=22;READONLY=true}"; 

        connection = DriverManager.getConnection( database ,"","");

        query = "SELECT (StfFirName, StfPassword) FROM Staff WHERE (StfFirName = ? AND StfPassword = ?)";
        PreparedStatement ps = connection.prepareStatement(query);
        ps.setString(1, username);
        ps.setString(2, password);
        ps.executeQuery();
        ResultSet rs = ps.executeQuery();

        String checkUser = rs.getString(1);
        String checkPass = rs.getString(2);

        if((checkUser.equals(username)) && (checkPass.equals(password)))
        {
            login = true;
        }
        else
        {
            login = false;
        }

        connection.close();  
      } 

       catch (Exception err) {
       System.out.println("ERROR: " + err);
       }                                                                      

    return login;
}
Schreibe einen Kommentar