Método Recursivo

2 respostas
G

Bom dia pessoal!

Preciso da ajuda de vcs para montar um método recursivo. Meu problema é o seguinte:

  • quero trazer a hierarquia de nome de grupos numa string, ex: produto que ta no grupo 5, quero mostrar ( Grupo-Pai / Sub-Grupo 1 / Sub-Grupo 2 / Grupo 5 )

meu BD está assim:

tabela produto:

id
id_grp
nome

tabela grupo
id
id_pai
nome
nivel

conto com a ajuda de vcs…abraço!

2 Respostas

thiago.correa

Mas qual é a dúvida?!

G

em como montaria a função recursiva.... não manjo muito!!

eu montei ela assim, por enquanto:

public static String retornaNomeGrupos(String id_pai, Transacao t) throws Exception {

        SQL sql = new SQL(t);
        sql.add("SELECT *         ");
        sql.add("FROM etqgrp      ");
        sql.add("WHERE TRUE       ");
        sql.add("  AND id = :id_grp   ");
        sql.setParam("id_grp", id_pai);            
        sql.add("ORDER BY nivel, pos");

        ResultSet rs = t.executeQuery(sql.getSql(null, null));

        try {
            String grupos = "";
            
            while (rs.next()) {
                String idPaiAux = rs.getString("id_pai");
                
                if (!rs.wasNull()) {
                    Grupo grupo = new Grupo();
                    grupo.nome = rs.getString("nome");
                    grupos += grupo.nome + " / ";
                    retornaNomeGrupos(idPaiAux, t);
                } else {
                    Grupo grupo = new Grupo();
                    grupo.nome = rs.getString("nome");
                    grupos += grupo.nome + " / ";
                }
            }
            return grupos;
            
        } finally {
            rs.close();
        }
    }
Criado 9 de julho de 2009
Ultima resposta 9 de jul. de 2009
Respostas 2
Participantes 2