2
respuestas

Ayuda con Modificar.

Hola, tengo problemas con el campo modificar. He revisado el código varias veces y he intentado varias soluciones, sin embargo me lanza un error que no he logrado modificar. Ya llevo 3 días con este error, y no logro solucionarlo. por favor alguien que me ayude.

Ademas sucede que cuandp elimino un producto el item no cambia, en el pantallazo de la app se puede ver que el ultimpo item es 7, ya que ensayando el botob guardar y eliminar elimine el 5 y 6. Pero al no poder modificar no puedo hacer nada.Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Por favor, ya no sé qué hacer =(

2 respuestas

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:

  1. revizar la documentacion que te arroja eclipse con el error en consola.
  2. Siempre cuida la identacion de tu codigo, cada funcion tiene una identacion de 8 campos al iniciar su escritura.
  3. 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¡¡¡

Lo revisaré de nuevo. Muchas gracias!