Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

CHALLENGE

HOLA, a alguien le ha pasado lo siguiente creando el Challenge de Libros de Gutendex;

Caused by: org.postgresql.util.PSQLException: ERROR: la columna «numero_de_descargas» de la relación «libros» contiene valores null El método se ve así en estos momentos:

public void listarLibrosPorDescargas() { System.out.println("Listando libros por descargas...");

    try {
        Statement statement = connection.createStatement();
        String query = "SELECT titulo, COALESCE(descargas, 0) AS descargas FROM libros ORDER BY COALESCE(descargas, 0) DESC";
        System.out.println("Ejecutando consulta:" + query);
        ResultSet resultSet = statement.executeQuery(query);

        boolean hayLibros = false;
        while (resultSet.next()) {
            String titulo = resultSet.getString("titulo");
            int descargas = resultSet.getInt("descargas");
            System.out.println("Título: " + titulo + " - Descargas: " + descargas);
            hayLibros = true;
        }

        if (!hayLibros) {
            System.out.println("No hay libros registrados.");
        }
    } catch (Exception e) {
        System.out.println("Error al listar libros: "+ e.getMessage());
        e.printStackTrace();
    }

Me cuentan si tienen experiencia con este dato.

saludos

Eugenio

2 respuestas

¡Hola Estudiante, espero que estés bien!

Entiendo que estás teniendo un problema al crear el Challenge de Libros de Gutendex en Java. El error que estás viendo indica que la columna "numero_de_descargas" de la tabla "libros" contiene valores nulos. Parece que estás intentando manejar esta situación utilizando la función COALESCE en tu consulta SQL, pero aún así estás experimentando problemas.

Una posible solución sería verificar si la columna "descargas" es la que contiene valores nulos en lugar de "numero_de_descargas". Si ese es el caso, tendrías que ajustar tu consulta para reflejar el nombre correcto de la columna.

Por ejemplo, si la columna se llama "numero_de_descargas", tu consulta debería ser así:

String query = "SELECT titulo, COALESCE(numero_de_descargas, 0) AS descargas FROM libros ORDER BY COALESCE(numero_de_descargas, 0) DESC";

Además, asegúrate de que la conexión a la base de datos se esté realizando correctamente y que la tabla "libros" esté definida con la columna "numero_de_descargas" de manera adecuada.

Espero que esta sugerencia te ayude a resolver el problema. ¡Buena suerte con tu desafío!

Espero haber ayudado y buenos estudios!

Hola, no he podido superar este tema del nombre de la colmuna, en la web Gutendex ese campo se llama "download_count" y en el método se llama "numero_de_descargas", deje ambos con el mismo nombre, reinicie Postgre, cambie el nombre del usuario y la clave en Postgre, pero no responde. Y ahora se suma que Postgre no reconoce al nuevo usuario y la clave según lo que me dice la terminal del IDE apesar de haber modificado en los archivos de la aplicación donde solicita estos datos.

Saludos

Eugenio Un frustrado pseudo Estudiante