<table> does not display the data I am passing

Asked

Viewed 24 times

-3

public List<Paises> getAllAmericaSul() {
    List<Paises> listaAmericaSul = new ArrayList<Paises>();
    try {
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery("select nome_pais, tipo_medida, total_focos, ano_medida FROM fato f INNER JOIN apaises p ON p.id_paises = f.paises_id_paises INNER JOIN aps.indicador i ON i.id_indicador = f.indicador_id_indicador WHERE nome_continente = 'America do Sul'");
        while (rs.next()) {
            Paises americaSul = new Paises();
            americaSul.setNomePais(rs.getString("nome_pais"));
            americaSul.setTipoMedida(rs.getString("tipo_medida"));
            americaSul.setTotalFocos(rs.getInt("total_focos"));
            americaSul.setDataMedida(rs.getInt("ano_medida"));
            listaAmericaSul.add(americaSul);
            
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return listaAmericaSul;
}



public Paises getAmericaSulByID(int idPaises) {
    Paises americaSul = new Paises();
    try {
        PreparedStatement preparedStatement = connection.prepareStatement("SELECT nome_pais,nome_indicador, tipo_medida, medida, data_medida FROM fato INNER JOIN continente ON fato.continente_id_continente = continente.id_continente INNER JOIN paises ON continente.id_continente = paises.continente_id_continente INNER JOIN indicador ON continente.id_continente = indicador.continente_id_continente INNER JOIN tipo_indicador ON indicador.tipo_indicador_id_tipo_indicador = tipo_indicador.id_tipo_indicador WHERE id_continente = 1");
        ResultSet rs = preparedStatement.executeQuery();  
        if (rs.next()) {
            americaSul.setNomePais(rs.getString("nome_pais"));
            americaSul.setTipoMedida(rs.getString("tipo_medida"));
            americaSul.setTotalFocos(rs.getInt("total_focos"));
            americaSul.setDataMedida(rs.getInt("ano_medida"));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return americaSul;
}

Controller

        String action = request.getParameter("action");

    if (action.equalsIgnoreCase("delete")){
        int IdAmericaSul = Integer.parseInt(request.getParameter("IdAmericaSul"));
        dao.deleteAmericaSul(IdAmericaSul);
        forward = LIST_CONT;
        request.setAttribute("americaSul", dao.getAllAmericaSul()); 
    } 
    
    else if (action.equalsIgnoreCase("edit")){
        forward = INSERT_OR_EDIT;
        int IdAmericaSul = Integer.parseInt(request.getParameter("IdAmericaSul"));
        Paises americaSul = dao.getAmericaSulByID(IdAmericaSul);
        request.setAttribute("americaSul", americaSul);     
    } 
    
    else if (action.equalsIgnoreCase("listaAmericaSul")){
        forward = LIST_CONT;
        request.setAttribute("americaSul", dao.getAllAmericaSul());
    }
    
    else {
        forward = INSERT_OR_EDIT;
    }

    RequestDispatcher view = request.getRequestDispatcher(forward);
    view.forward(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Paises americaSul = new Paises();
    americaSul.setIdPaises(Integer.parseInt(request.getParameter("id_pais")));
    americaSul.setNomePais(request.getParameter("nome_pais"));
    americaSul.setTotalFocos(Integer.parseInt(request.getParameter("total_focos")));
    americaSul.setTipoMedida(request.getParameter("tipo_medida"));
    americaSul.setDataMedida(Integer.parseInt(request.getParameter("ano_medida")));
    

    String IdAmericaSul = request.getParameter("IdAmericaSul");
    if(IdAmericaSul == null || IdAmericaSul.isEmpty())
    {
        dao.addPaises(americaSul);
    }
    else
    {
        americaSul.setIdPaises(Integer.parseInt(IdAmericaSul));
        dao.updateAmericaSul(americaSul);
    }
    RequestDispatcher view = request.getRequestDispatcher(LIST_CONT);
    request.setAttribute("IdAmericaSul", dao.getAllAmericaSul());
    view.forward(request, response);
}

and my bank https://i.stack.Imgur.com/5GsUK.png

1 answer

0


Note the section of the method getAllAmericaSul:

ResultSet rs = stmt.executeQuery("select nome_pais, tipo_medida, total_focos, ano_medida FROM fato f INNER JOIN apaises p ON p.id_paises = f.paises_id_paises INNER JOIN aps.indicador i ON i.id_indicador = f.indicador_id_indicador WHERE nome_continente = 'America do Sul'");

See the section query:

select nome_pais, tipo_medida, total_focos, ano_medida FROM fato f INNER JOIN apaises p ON p.id_paises = f.paises_id_paises INNER JOIN aps.indicador i ON i.id_indicador = f.indicador_id_indicador WHERE nome_continente = 'America do Sul'

The problem is that the table apaises does not exist in its database structure, correct for paises.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.