java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Warum denken Sie, dass diese Funktion gibt mir immer null??
Mit einem anderen login-Programm, das die gleiche code-Struktur, es funktioniert, groß.
Meine DBURL jdbc:mysql://localhost:8889/Datenbank
public String retrieveUserPassword(String userName, String password) {
String query = "SELECT UserPassword FROM Access where UserName='"+userName+"'";
String dbresult=null; //this might be the problem, but I must define it
try {
Class.forName("com.mysql.jdbc.Driver");
}catch (ClassNotFoundException ex1) {
System.out.println("Driver could not be loaded: " + ex1);
Logger.getLogger(DatabaseModel.class.getName()).log(Level.SEVERE, null, ex1);
}
try {
//These are private variables declared at the top of the class
//and used by various functions
con = DriverManager.getConnection(DatabaseURL, userName, password);
st = con.createStatement();
rs = st.executeQuery(query);
if(rs.next()){
dbresult= rs.getString(3);
}
}catch (SQLException e) {
e.printStackTrace();
}
return dbresult;
}
Die Access-Tabelle besteht aus drei Spalten:
UserID, UserName, UserPassword
nicht die Titel die Frage beantworten?
Debuggen und überprüfen if-Abfrage ist eigentlich der Rückgabe eines Wertes. ich.e
ein. Wie ich bereits erwähnt habe, ist der code richtig ist, da ich versucht habe es in einem anderen Programm einfach kopieren und einfügen, und ich habe nicht dieses problem haben. Die Datenbank immer gewährt den Zugang zu den root-Benutzer.
Thakur ja, es funktioniert
Versuchen, zu drucken, Benutzername und Passwort direkt vor der getConnection() aufrufen, und prüfen Sie, ob Sie wirklich richtig sind.
Debuggen und überprüfen if-Abfrage ist eigentlich der Rückgabe eines Wertes. ich.e
if(rs.next())
wahr ist.ein. Wie ich bereits erwähnt habe, ist der code richtig ist, da ich versucht habe es in einem anderen Programm einfach kopieren und einfügen, und ich habe nicht dieses problem haben. Die Datenbank immer gewährt den Zugang zu den root-Benutzer.
Thakur ja, es funktioniert
Versuchen, zu drucken, Benutzername und Passwort direkt vor der getConnection() aufrufen, und prüfen Sie, ob Sie wirklich richtig sind.
InformationsquelleAutor QGA | 2014-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als von Ihnen erwähnte problem mit dem erstellen der Verbindung mit der Datenbank selbst. Anweisung
wirft Ausnahme, die erste fing an
nach, die Sie zurückgeben
dbresult
die Sie gesetzt haben, umnull
(was haben Sie zu als es ist eine lokale variable). Das problem ist also, dass Sie keine Verbindung mit der db wegen der Authentifizierung.Auf Ihrem Computer, wo (localhost in ur-Fall ) führen Sie den folgenden Befehl von der Konsole
InformationsquelleAutor Aniket Thakur