@askalidov

Как переписать метод (SQL запрос)?

У меня есть метод:
public static int check(String name, String email, String password) throws SQLException {
        return statement.executeUpdate(String.format("""
                        SELECT name, email, password FROM userlogins
                        WHERE name = '%s' AND email = '%s' AND password = '%s'
                """, name, email, password));
    }

При данном запросе (при определенных name, email, password) в pgAdmin возвращается столбец.

Мне необходимо, чтобы при наличии такого столбца в БД возвращалось true - иначе false, можно ли это реализовать?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
@askalidov Автор вопроса
Данный метод возвращает true при наличии записи в БД и false - при отсутствии:
public static boolean check(String name, String email, String password) throws SQLException {

        ResultSet resultSet = statement.executeQuery(String.format("""
                SELECT count(*) as cnt FROM userlogins
                WHERE name = '%s' AND email = '%s' AND password = '%s'
                """, name, email, password));

        resultSet.next();

        return resultSet.getBoolean(1);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xez
@xez Куратор тега Java
TL Junior Roo
postgres вам вернет не "строку", а три строки: name, email, password.

Насчет вашей аброкадабры:
Я так понимаю, statement - это PreparedStatement, так что метод executeUpdate:
"Executes the SQL statement in this PreparedStatement object, which must be an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement."
"returns nothing" переводится "ничего не возвращает".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы