Оказывается, работала другая кодировка. Просто используйте dff. to_file(out,encoding='')
, и где кодировка попробует ваши версии, специфичные для вашего языка, до тех пор, пока вы его не найдете.
Вы в основном получаете все данные о сотрудниках, сохраняя их в resultSet, но затем вы просматриваете каждый из них. Если у вас было 3 набора имен пользователей и паролей и только одно совпадение, вы получите
Matched!
Invalid
Invalid
Вместо этого вы можете просто захотеть проверить одно имя пользователя и пароль? Не уверен, что именно то, что вы ищете. Также, когда вы сравниваете имена пользователей и пароли, используйте .equals ().
РЕДАКТИРОВАТЬ
Изменить, чтобы ответить выше, использовать .equals()
вместо .matches()
.
Statement myStmt = myConn.createStatement();
ResultSet resultSet = myStmt.executeQuery("SELECT * FROM `Employee`");
boolean check = false;
while(resultSet.next()){
if(resultSet.getString("username").equals(textField_1.getText()) &&
resultSet.getString("password").equals(textField_2.getText()))
{
System.out.println("Matched!");
check = true;
break;
}
}
if (check == false){
System.out.println("Invalid username or password!");
}
Statement myStmt = myConn.createStatement();
ResultSet resultSet = myStmt.executeQuery("SELECT * FROM `Employee`");
boolean check = false;
while(resultSet.next()){
if(resultSet.getString("username").matches(textField_1.getText()) && resultSet.getString("password").matches(textField_2.getText())){
System.out.println("Matched!");
check = true;
break;
}
}
if (check == false){
System.out.println("Invalid username or password!");
}
Теперь цикл while будет искать правильное имя пользователя и пароль, если не будет печатать Invalid.