Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro de sintaxe do MySQL ao executar a consulta SQL


Você terá que remover a query argumento do seu executeQuery ligar. Se você fornecer o parâmetro, a consulta será executada sem vincular nenhum valor (consulte Instrução para detalhes) - é por isso que a sintaxe (ou seja, o ? ) é inválido.

Execute a consulta assim:
ResultSet rst = st.executeQuery();

Como uma observação lateral:você deve sempre envolver Connection , PreparedStatement e ResultSet com um experimentar com recursos bloco, por exemplo
try (ResultSet rst = st.executeQuery()) {
    // read the results
}

Dessa forma, você pode ter certeza de que o ResultSet será fechado não importa o que aconteça.