Ir para conteúdo

POWERED BY:

Arquivado

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

DeaDKenshiN

Problema

Recommended Posts

Olá

 

Com base nesse tópico (

http://forum.imasters.com.br/index.php?showtopic=192384 ) tentei

fazer o mesmo em ASP.

eis meu código

 

<code>
<%
	function geraMenuAuto(id)
		sql_menu = "SELECT * FROM Sis_Area WHERE IDPai = '" & id & "' 
ORDER BY IDPai"
		Set db = New clsDBAccess
		db.DBOpenSQL()
		arMenu = db.ExecuteSQL(sql_menu)
	   
		db.DBClose()
		set db = Nothing
	   
		for m=0 to UBound(arMenu)
			var = var & "[null, 'Titulo: " & arMenu(1,m) & "', 'Link:" & 
arMenu(3,m) & "', '_self', null"
			if (Len(existeFilho(arMenu(0,m))) > 0) then
				var = var & "," & chr(13) & geraMenuAuto(arMenu(0,m)) & "]"
			else
				var = var & "]"
				if (m <> Ubound(arMenu)-1) then
					var = var & "," & chr(13)
				else
					var = var & chr(13)
				end if
			end if
		next
		   
		if (Len(var) > 0) then
			geraMenuAuto = var
		else
			geraMenuAuto = false
		end if
	end function
   
	function existeFilho(id)
		sql_filhos = "SELECT * FROM Sis_Area WHERE IDPai = '" & id & "' 
ORDER BY IDPai"
	   
		Set db = New clsDBAccess
		db.DBOpenSQL()
		arFilhos = db.ExecuteSQL(sql_filhos)
	   
		db.DBClose()
		set db = Nothing
	   
		existeFilho = arFilhos
	end function
   
	Response.Write geraMenuAuto(0)
%>
</code>

O Erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

 

Tipos incompatíveis: 'UBound'

 

/administrador/menut.asp, line 12

 

 

Linha 12 = for m=0 to UBound(arMenu)

 

 

Bem, pelos meus testes, ele roda normal até a linha 15. Quando chama

a funcao denovo geraMenuAuto, é que acontece isso.

 

Alguem sabe explicar o motivo? será que o ASP nao consegue rodar a mesma

func 2 vezes?

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste caso arMenu é seu recordset, precisa instancia-lo

 

feito isso troque o FOR por WHILE e a variavel m pelo valor do recordset

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.