Я столкнулся с этой проблемой при попытке выполнить запросы запросов в программе. Однако подключение к базе данных без этого метода отлично работает, но это вызывает SQLException
.Ошибка запроса MySQL Ошибка SQLException
String query = "SELECT EXISTS (SELECT * FROM usr WHERE username = admin AND password = pass)";
boolean result;
Connection con = null;
try {
con = DriverManager.getConnection(url, username, password);
Statement stmt = (Statement) con.createStatement();
ResultSet rs = stmt.executeQuery(query);
result = rs.next();
} catch (SQLException e) {
throw new RuntimeException("Cannot connect to the database!", e);
} finally {
System.out.println("Closing the connection.");
if (con != null)
try {
con.close();
} catch (SQLException ignore) {
System.out.println("Unknown Error Connecting to MySQL Server!");
}
}
Я привел запрос в метод, чтобы изолировать его. Любая помощь будет оценена по достоинству.
Посмотрите на использование подготовленных заявлений: [Ссылка] (http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html): Они в значительной степени устраняют необходимость иметь дело с цитированием полей String/varchar. В вашем случае 'admin' и' pass' не имеют надлежащего окружения с одиночными кавычками. – Durandal