Я создаю приложение, в котором я пытаюсь войти в систему пользователя с данными, которые хранятся на сервере MySQL.
Проблема, которую я получаю, заключается в том, что когда я пытаюсь войти в систему с правильным именем пользователя и паролем, мой код фактически проверяет каждую запись в моей таблице «adminData» и показывает соответствующие результаты для каждой записи!
Я прилагаю свой код тоже, пожалуйста, посмотрите!
Поэтому я хочу спросить, как я могу искать только одну конкретную запись, и это вернет меня только для этой конкретной записи!
Пожалуйста, помогите мне ..:)
btnSubmit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String query = "SELECT username, password FROM adminData";
String username = null;
String password = null;
;
try
{
rs = st.executeQuery(query);
String fieldWarning = "*all field are mandatory!";
String enteredUsername = usernameField.getText();
@SuppressWarnings("deprecation") String enteredPassword = passwordField.getText();
usernameField.setCursor(null);
fieldLabel.setText("");
int userLen = enteredUsername.length();
int passLen = enteredPassword.length();
if (userLen != 0 && passLen != 0)
{
if (userLen <= 32 && passLen <= 32)
{
while (rs.next())
{
username = rs.getString("username");
password = rs.getString("password");
if (enteredUsername.equals(username))
{
if (enteredPassword.contentEquals(password))
{
AdminDashboard frame = new AdminDashboard();
frame.setVisible(true);
frame.dispose();
}
else
{
JOptionPane.showMessageDialog(null, "Password Missmatch");
}
}
else
{
JOptionPane.showMessageDialog(null, "Invalid User");
passwordField.setText("");
usernameField.setText("");
usernameField.setCursor(null);
}
}
}
else
{
JOptionPane.showMessageDialog(null,
"Please enter a valid username or password! \n(Note: Only 32 char MAX)");
passwordField.setText("");
usernameField.setText("");
}
}
else
{
fieldLabel.setText(fieldWarning);
usernameField.setCursor(null);
}
}
catch (SQLException e1)
{
JOptionPane.showMessageDialog(null, "Database Error: " + e1);
}
}
});