Оператор SQL может успешно возвращаться, если из базы данных не возвращаются строки, поэтому использование SQLException
не поможет вам, если запрос правильный, но нет совпадения.
public boolean existString(final String query) {
try {
final Statement statement = this.conn.createStatement();
result = statement.executeQuery(query);
return result.next();
} catch(SQLException e) {
e.printStackTrace();
return false;
}
}
Вы должны использовать тот факт, что result.next()
пытается переместить указатель результата на следующую строку и вернуть, независимо от того, есть ли строка для возврата. Таким образом, в случае успеха и есть результаты, возвращается true
, а в случае успеха, а не результатов, возвращается false
. Если что-то пойдет не так, об остальном позаботится ваша обработка исключений.