Я пытаюсь проверить, существует ли имя пользователя в таблице: База данных также имеет поле, заданное как уникальное Метод возвращает логическое сообщение, если имя пользователя уже существует или нет. Часть моего кода, который устанавливает имя пользователяExists var в true, никогда не запускается, даже если имена пользователей совпадают.Java SQL Проверьте, существует ли имя пользователя
public static boolean CheckUsernameExists(String username)
{
boolean usernameExists = false;
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection(urlDB, usernameDB, passwordDB);
PreparedStatement st = connection.prepareStatement("select * from Members order by username desc");
ResultSet r1=st.executeQuery();
String usernameCounter;
if(r1.next())
{
usernameCounter = r1.getString("username");
if(usernameCounter == username) //this part does not happen even if it should
{
System.out.println("It already exists");
usernameExists = true;
}
}
}
catch (SQLException e)
{
System.out.println("SQL Exception: "+ e.toString());
}
catch (ClassNotFoundException cE)
{
System.out.println("Class Not Found Exception: "+ cE.toString());
}
return usernameExists;
}
ЕСЛИ вы можете помочь, так или иначе, я был бы благодарен!
Снова и снова ... –
вы можете просто запросить это конкретное имя пользователя, и если что-нибудь вообще будет возвращено, то оно есть. в противном случае вы получите мягкий сбой, а не набор результатов и/или пустой набор результатов. – SnakeDoc
это должно быть отмечено как дублирующее и закрытое – user1428716