Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd w przygotowanym oświadczeniu

Wywołując executeQuery(sql) faktycznie wywołujesz metodę na Statement - nie na PreparedStatement . Więc wyrzucasz już przypisaną wartość parametru i wykonujesz zapytanie, w którym symbol zastępczy ? pozostaje nieprzeanalizowane - więc pojawia się ten błąd.

Zmień

 ResultSet results = state.executeQuery(sql);

do

 ResultSet results = state.executeQuery();

i powinno być dobrze.

(I z powodu

resultname = state2.executeQuery(sql2);

musi być

resultname = state2.executeQuery();

również)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. gdzie 1=1 stwierdzenie

  2. Jak zoptymalizować to skomplikowane zapytanie EAV MYSQL?

  3. Gettext lub tłumaczenie bazy danych

  4. MySQL — warunkowe COUNT z GROUP BY

  5. Dlaczego wyniki zapytania SQL nie są zwracane w oczekiwanej przeze mnie kolejności?