Zakochałeś się w mylącej hierarchii typów PreparedStatement extends Statement
:
PreparedStatement
ma ten sam execute*(String)
metody takie jak Statement
, ale nie powinny być używane, wystarczy użyć bezparametrowego execute*()
metody PreparedStatement
--- podałeś już rzeczywisty ciąg zapytania do wykonania za pomocą conn.prepareStatement()
.