Kopírujete celou tabulku DB do paměti Java a provádíte porovnání v while
smyčka přes všechny záznamy. Nepřerušíte while
smyčka, když je nalezena shoda se záznamem, takže pokračuje ve smyčce přes zbývající záznamy a tak pagename
vždy přepište pomocí „start“.
Musíte přidat break
prohlášení:
if (results.getString(2).equals(password) && results.getString(1).equals(username)) {
pagename="main";
break;
}
Nebo, lépe, nechat SQL dělat práci, pro kterou je navrženo, vybrat a vrátit přesně data, která potřebujete:
preparedStatement = connection.prepareStatement("SELECT id FROM user WHERE username=? AND password=MD5(?)");
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
pagename = "main";
}
else {
pagename = "start";
}
To je efektivnější a rozumnější.