Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelmagalhaes

Função Recursiva

Recommended Posts

Bom dia pessoal,Estou criando um sisteminha de menu dinâmico, nele o admin vai poder setar as permissões de acesso do usuario. Me deparei com o seguinte problema, preciso criar uma função recursiva, pois a tabela de menu e submenu é a mesma, foi analisado de forma que 1 menu pai pode ter filhos, netos, bisnetos, etc. Enfim infinitos submenus. Criei a função que lê os registros do banco, mas ela ta me retornando o seguinte erro:______________________________________________Memória insuficiente: 'Server.CreateObject'/more/inc/conexao_abre.asp, line 2______________________________________________Esse arquivo "conexao_abre.asp", é um arquivo de inclusao que criei pra deixar o codigo mais organizado e flexivel.A conexão está correta, funciona em outros locais no mesmo servidor. O problema é nos WHILE e FOR....Preciso ter um resultado semelhante a árvore do windows explorer, com infinitos filhos. Alguem pode me ajudar com isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se est~e post do kdu te ajuda...

 

http://www.imasters.com.br/forum/index.php...=0entry245368

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela dica amigo, mas é exatamente como estou fazendo... o erro que me retorna é o seguinte:_______________________________________Memória insuficiente: 'conexao.Execute'/more/menu.asp, line 8_______________________________________Alguem sabe o que é isso? Como corrigir?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, quem puder e olhar e me ajudar, fico muito grato!O codigo é o seguinte:_______________________<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><!--#include file="inc/conexao_abre.asp"--><%Sub MostraFilhos(PAI_ID)SQLSubMenu = "SELECT MORE_MENU_NOME, MORE_MENU_PAI, MORE_MENU_ID FROM MORE_MENU WHERE (MORE_MENU_PAI = '"& PAI_ID &"') AND (MORE_MENU_ID > 0)"Set RSSubMenu = conexao.Execute(SQLSubMenu)While Not RSSubMenu.eof Response.Write RSSubMenu("MORE_MENU_NOME") & "<br>" MostraFilhos(RSSubMenu("MORE_MENU_PAI")) RSSubMenu.movenextWendRSSubMenu.CloseSet RSSubMenu = Nothingconexao.CloseSet conexao = NothingEnd SubSQLMenu = "SELECT * FROM MORE_MENU WHERE (MORE_MENU_PAI = 0) AND (MORE_MENU_ID > 0)"Set RSMenu = conexao.Execute(SQLMenu)While Not RSMenu.eof Response.Write(RSMenu("MORE_MENU_NOME") & "<BR>") MostraFilhos(RSMenu("MORE_MENU_PAI")) RSMenu.MoveNextWendRSMenu.CloseSet RSMenu = Nothingconexao.CloseSet conexao = Nothing%></font>_______________________

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, pode ser q dependendo da aplicação o ASP num suporta... tente diminuir os registros da tabela... e tente novamente!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece que são apenas 12 registros. Isso é irrisorio. Muito pouco mesmo. E pelo que se vê da aplicação é bastante simples. Realmente acho que meu erro é de programação, será possivel que alguem aqui nunca fez algo assim?:-(((((((

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.