Door executeQuery(sql)
. aan te roepen je roept daadwerkelijk een methode aan op Statement
- niet op PreparedStatement
. Dus je gooit de parameterwaarde die al is toegewezen weg en voert een query uit waarbij de tijdelijke aanduiding ?
blijft ongeparseerd - dus je krijgt die fout.
Wijzigen
ResultSet results = state.executeQuery(sql);
naar
ResultSet results = state.executeQuery();
en het zou goed moeten komen.
(En van reden
resultname = state2.executeQuery(sql2);
moet zijn
resultname = state2.executeQuery();
ook)