Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] descripción null

hola tengo un problema al ejecutar el programa y agregar un nuevo item la descripción aparece null, no se donde prodra estar el error:

public void guardar(Map<String, String> producto) throws SQLException {
        ConnectionFactory factory = new ConnectionFactory();
        Connection con = factory.recuperaConexion();

        Statement statement = con.createStatement();
        statement.execute(
                "INSERT INTO PRODUCTO (nombre, descripcion, cantidad)"
                        + " VALUES ('" + producto.get("NOMBRE") + "', '"
                        + producto.get("DESCRIPCION") + "', '" + producto.get("CANTIDAD") + "')",
                        Statement.RETURN_GENERATED_KEYS);
        
        ResultSet resultSet = statement.getGeneratedKeys();
        
        while(resultSet.next()) {
            System.out.println(String.format(
                    "Fue insertado el producto de ID: %d",
                    resultSet.getInt(1)));
        }
    }

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta
solución!

Hola Mario, espero que estés bien.

¿Ha podido avanzar o persiste el problema? Antes de insertar los datos en la base, refactorizar el proyecto, debe haber algún conflicto... La descripción no es null; Los nombres de las claves en producto coincide con los nombres de las columnas en la tabla "PRODUCTO";

Es una buena práctica evitar el uso de concatenación de Strings para construir la consulta SQL, ya que esto puede hacer que tu código sea vulnerable a ataques de inyección SQL. En su lugar, utiliza sentencias preparadas (prepared statements) que proporcionen una forma segura de manejar los parámetros de la consulta.

...
PreparedStatement pstmt = con.prepareStatement(
                "INSERT INTO PRODUCTO (nombre, descripcion, cantidad) VALUES (?, ?, ?)",
                Statement.RETURN_GENERATED_KEYS)
    ) {
        pstmt.setString(1, producto.get("NOMBRE"));
        pstmt.setString(2, producto.get("DESCRIPCION"));
        pstmt.setString(3, producto.get("CANTIDAD"));

        int rowsAffected = pstmt.executeUpdate();
        if (rowsAffected > 0) {
            ResultSet resultSet = pstmt.getGeneratedKeys();
            while (resultSet.next()) {
                System.out.println(String.format(
                        "Fue insertado el producto de ID: %d",
                        resultSet.getInt(1)));
            }
        } else {
            System.out.println("No se pudo insertar el producto.");
        }
    }

Recuerdo si este problema no se resuelve con las sugerencias, por favor, póngase en contacto conmigo para ayudarte. ¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios