Geizon
Julho 9, 2009, 6:55am
#1
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!
Geizon
Julho 9, 2009, 8:32am
#3
em como montaria a função recursiva… não manjo muito!!
eu montei ela assim, por enquanto:
[code]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();
}
}[/code]