Profe, necesito ayuda, no esta realizando el UPDATE. si me toma cuando borro en la interfaz grafica pero no esta realizando el update.
![]( )
Profe, necesito ayuda, no esta realizando el UPDATE. si me toma cuando borro en la interfaz grafica pero no esta realizando el update.
![]( )
Ya pude hacerlo andar, me modifica bien en la interfaz, pero cuando lo cierro y lo abro de nuevo vuelve el valor inicial, digamos es como que no realiza el update.
![]( )
![](![]( ))
Hola Jorge, espero que esté bien!
La consola muestra que el error está al lado del 'WHERE...' y es porque no hay espacio entre la variable cantidad
y el comando WHERE, hacendo el valor de cantidad
quedar junto al WHERE, por lo que no se puede entender el código.
Saludos y buenos estudios!
Si SI luego me di cuenta de ese error. ya funciona el Update!!!!!!!!!!!!!1 GRaciasssssssssssssssssss
:(, perdon, si realiza el Update en la interfaz, pero cuando la cierro y vuelvo abrir la interfaz la actualizacion que realizo no esta, es como que si le falara un commit en algun lado.
private void modificar() { if (tieneFilaElegida()) { JOptionPane.showMessageDialog(this, "Por favor, elije un item"); return; }
Optional.ofNullable(modelo.getValueAt(tabla.getSelectedRow(), tabla.getSelectedColumn()))
.ifPresentOrElse(fila -> {
Integer id = Integer.valueOf(modelo.getValueAt(tabla.getSelectedRow(), 0).toString());
String nombre = (String) modelo.getValueAt(tabla.getSelectedRow(), 1);
String descripcion = (String) modelo.getValueAt(tabla.getSelectedRow(), 2);
Integer cantidad = Integer.valueOf(modelo.getValueAt(tabla.getSelectedRow(), 3).toString());
int filasModificadas;
try {
filasModificadas = this.productoController.modificar(nombre, descripcion, cantidad, id);
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
JOptionPane.showMessageDialog(this, String.format("%d item modificado con éxito!", filasModificadas));
},() -> JOptionPane.showMessageDialog(this, "Por favor, elije un item"));
}
public class ProductoController {
public int modificar(String nombre, String descripcion, Integer cantidad, Integer id) throws SQLException {
ConnectionFactory factory = new ConnectionFactory();
Connection con = factory.recuperaConexion();
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;
}