Я пытаюсь удалить строку из таблицы по id
public void deleteFilmsOlderGivenYears(int givenYears, Statement st) throws SQLException {
for (Film a : films) { //перебираю коллекцию кино
int dataRelease = Integer.parseInt(a.getDate_release().substring(0, 4)); //формирую дату
if (dataRelease < givenYears) { //нахожу нужную дату
st.executeQuery("DELETE FROM films WHERE id =" + a.getId()); //пытаюсь удалить кино по ID
}
}
}
выдает вот такое
Exception in thread "main" java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at mysql.connector.java@8.0.11/com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)
at mysql.connector.java@8.0.11/com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
at mysql.connector.java@8.0.11/com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)
at mysql.connector.java@8.0.11/com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)
at mysql.connector.java@8.0.11/com.mysql.cj.jdbc.StatementImpl.checkForDml(StatementImpl.java:390)
at mysql.connector.java@8.0.11/com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1182)
at HomeLibrary.deleteFilmsOlderGivenYears(HomeLibrary.java:135)
at MainStarter.main(MainStarter.java:27)
причем до этого куча методов в этом классе отлично с этой базой работают по той же схеме получая st. А этот вот уперся((((
a.getId() формируется нормально там int. проблема именно в запросе сделать id string и подставить в запрос тоже не помогает(