sql >> Databáze >  >> RDS >> Mysql

Chyba s PreparedStatement

Zavoláním executeQuery(sql) ve skutečnosti vyvoláte metodu na Statement - není na PreparedStatement . Takže vyhodíte již přiřazenou hodnotu parametru a provedete dotaz, kde je zástupný symbol ? zůstane neanalyzovaný - takže se zobrazí tato chyba.

Změnit

 ResultSet results = state.executeQuery(sql);

do

 ResultSet results = state.executeQuery();

a měli byste být v pořádku.

(A z důvodu

resultname = state2.executeQuery(sql2);

musí být

resultname = state2.executeQuery();

také)




  1. mysql Závažná chyba:nelze přidělit paměť pro oblast vyrovnávacích pamětí

  2. MYSQL:jak změnit pořadí tabulky

  3. SQL jak porovnat dva sloupce ze dvou různých tabulek

  4. Mám navrhnout tabulku s primárním klíčem varchar nebo int?