Dzwonisz do bazy Statement.executeUpdate(String) metoda, która nie ma nic wspólnego z PreparedStatement i po prostu wykonuje ciąg surowego kodu SQL.
Musisz wywołać statement.executeUpdate() bez parametrów, aby użyć metody pochodnej n PreparedStatement .