Ir para conteúdo

POWERED BY:

Arquivado

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

Pensa

Função recursiva com problema

Recommended Posts

Seguinte... estou fazendo uma função recursiva, abaixo vai o código:

 

<%

mostra_tarefas("0")

 

FUNCTION mostra_tarefas(origem)

 

sql="select * from TarefaTipos where OrigemTarefaTipo="&origem

set rs= conexao.execute(sql)

 

while not rs.EOF

 

response.Write(rs("DescricaoTarefaTipo")&"<BR>  ")

mostra_tarefas(rs("IdTarefaTipo"))

 

rs.movenext

wend

 

END FUNCTION

%>

 

Só que está dando esse erro:

 

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

 

Na linha do "rs.movenext". Com certeza o problema é que toda vez que eu chamo a função dentro da função o sistema sobrescreve o recordset "rs" com a nova consulta... como faço pra isso funcionar? Como faço para a cada execução da função a record set seja privada para aquela "passagem" na função.

 

Valeus,

Renan http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte: dimensiona as variáveis dentro da própria função pra que elas não fiquem globais.

 

Vai ficar assim:

 

FUNCTION mostra_tarefas(origem)Dim sql,rs  '<-- ** esta é a linha do truquesql="select * from TarefaTipos where OrigemTarefaTipo="&origemset rs= conexao.execute(sql)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte: dimensiona as variáveis dentro da própria função pra que elas não fiquem globais.Vai ficar assim:

FUNCTION mostra_tarefas(origem)Dim sql,rs  '<-- ** esta é a linha do truquesql="select * from TarefaTipos where OrigemTarefaTipo="&origemset rs= conexao.execute(sql)
Puts... que ridículo.. era só isso mesmo.... esqueci de declarar... http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Esse é o preço que se paga por não "explicitar" as variáveis... rsValeu!

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.