he tratado de hacer que funcione, incluso no da errores y el programa corre normal, pero no realiza la modificación
he tratado de hacer que funcione, incluso no da errores y el programa corre normal, pero no realiza la modificación
Hola Rafael. Podrias Mostrar el codigo con el SQL y los statements.
Mmm Tendria que revisar todo tu codigo...no le veo el error.. Podrias revisar tu tabla, en la base de datos debe llamarse tambien PRODUCTO para que funcione correctamente la query.
Hola, creo que puede deberse a que al realizar el cambio en algún campo, debes hacer clic fuera de la tabla antes de darle al boton modificar, el código esta bien.
que no te quede así.
Aun no logro hacer que funcione, voy a seguir con el curso, a ver si en el futuro logro solucionarlo, gracias por sus comentarios
Te faltó cerrar el código sql con punto y coma, además antes de ejecutar el botón, seleciona espacio vacio para que el campo no esté seleccionado mientras ejecutas, prueba así:
Clave : ";"
statement.execute("UPDATE PRODUCTO SET NOMBRE = '" + nombre + "', DESCRIPCION = '" + descripcion + "' , CANTIDAD = " + cantidad
+ " WHERE ID = " + id + " ;");
Saludos de México.
según lo que pude leer para que no se tenga errores de sintaxis de la Query de MySQL lo mejor es utilizar consultas parametrizadas o preparadas. Con este tipo de método me funciono.
public int modificar(Integer id, String nombre, String descripcion, Integer cantidad) throws SQLException {
Connection con = new ConnectionFactory().recuperaConexion();
PreparedStatement stmt = con.prepareStatement("UPDATE PRODUCTO SET NOMBRE = ?, DESCRIPCION = ?, CANTIDAD = ? WHERE ID = ?");
stmt.setString(1, nombre);
stmt.setString(2, descripcion);
stmt.setInt(3, cantidad);
stmt.setInt(4, id);
int updateCount = stmt.executeUpdate();
con.close();
return updateCount;
Lo estudias y analizas para ver como es que te funciona. Saludos
Buenas noches:
Funciona así como dice Sebastian, antes de dar clic al botón de modificar ,seleccionar el siguente campo o afuera de la tabla y luego el bótón modificar , y así si lo modifica.
Buenas noches:
Confirmo Segun la solucion dada por Sebastian es como la modificacion se realiza... muchas gracias
Hola, en el codigo del ejemplo falta ejecutar el statement para que se guarde la modificacion. Deberia quedar asi:
public int modificar(Integer id, String nombre, String descripcion, Integer cantidad) throws SQLException {
Connection con = new ConnectionFactory().recuperaConexion();
PreparedStatement stmt = con.prepareStatement("UPDATE PRODUCTO SET NOMBRE = ?, DESCRIPCION = ?, CANTIDAD = ? WHERE ID = ?");
stmt.setString(1, nombre);
stmt.setString(2, descripcion);
stmt.setInt(3, cantidad);
stmt.setInt(4, id);
stmt.execute();
int updateCount = stmt.executeUpdate();
con.close();
return updateCount;
}