I have to do a search in a table, I have to pass up 3 parameters to filter my search, this is my method:
public List<Motores> pesquisaMotores(String serie, String marca, String modelo) {
PreparedStatement comando = null;
ResultSet lista_resultados = null;
List<Motores> motores = new ArrayList();
String sql = "SELECT *FROM motores WHERE numMotor LIKE ? AND marcaMotor LIKE ? AND modeloMotor LIKE ?";
try {
comando = BD.conection.prepareStatement(sql);
comando.setString(1, serie + "%");
comando.setString(2, marca + "%");
comando.setString(3, modelo + "%");
lista_resultados = comando.executeQuery(sql);
while (lista_resultados.next()) {
motores.add(
new Motores(
lista_resultados.getString("numMotor"),
lista_resultados.getString("modeloMotor"),
lista_resultados.getString("rpmMotor"),
lista_resultados.getString("polos"),
lista_resultados.getString("volts"),
lista_resultados.getString("amps"),
lista_resultados.getString("marcaMotor"),
lista_resultados.getString("carc"),
lista_resultados.getString("hz"),
lista_resultados.getString("qtdCanais"),
lista_resultados.getString("tipoEnrol"),
lista_resultados.getString("canal"),
lista_resultados.getString("cvMotor"),
lista_resultados.getString("dataColeta"),
lista_resultados.getInt ("numBobinas")));
}
comando.close();
} catch (SQLException ex) {
Logger.getLogger(interfaces.ClientePesquisa.class.getName()).log(Level.SEVERE, null, ex);
motores = null;
}
Collections.sort(motores);
return motores;
}
But the same thing is behind this error:
GRAVE: null
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1
If I do the direct search in the database, that is, executing the sql string, changing the "?" for some value, the same works. Any suggestions?