Buenas Noches Compañera, Ese error te aparece cuando al llamar al metodo execute tienes errores de sintaxis.
No escribiste de forma correcta la query 'Consulta'.
Debe revizar que la UPDATE este escrita de forma adecuada, tambien debes recordar que para SQL la comilla simples ' ', hacen referencia a datos tipo String: como NOMBRE o DESCRIPCION. La forma adecuada de escribirlo es:
==========================================================================================================
public int modificar(String nombre, String descripcion, Integer cantidad, Integer id) throws SQLException {
Connection con = new ConnectionFactory().recuperarConexion();
Statement statement = con.createStatement();
statement.execute("UPDATE PRODUCTO SET "
+ " NOMBRE = '" + nombre + "'"
+ ", DESCRIPCION = '" + descripcion + "'"
+ ", CANTIDAD = " + cantidad
+ " WHERE ID = " + id);
int updateCount = statement.getUpdateCount();
con.close();
return updateCount;
}
==========================================================================================================
A mi me ayudo bastante:
- revizar la documentacion que te arroja eclipse con el error en consola.
- Siempre cuida la identacion de tu codigo, cada funcion tiene una identacion de 8 campos al iniciar su escritura.
- Asegurate siempre de que vas a declarar una clase o una interfaz, en el caso de STATEMENT se declara la INTERFAZ, tu estas importanto la clase java.sql.statement, yo lo hice al momento de crear el listado de la app y me trajo problemas mas adelante.
El metodo "get updateCount" nos permite conocer el numero de filas modificadas luego de ejecutar el comando sql en el Statement este devuelve INT.
Entonces tu funcion ya retorna algo DEBES CAMBIAR void por el tipo de retorno que tiene, en este caso Int.
¡¡¡ESPERO HABERTE AYUDADO¡¡¡