Ir para conteúdo

POWERED BY:

Arquivado

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

Bruno Rodrigo

Erro Mistico com as variáveis ASP

Recommended Posts

Galera já li o fórum de vocês milhões de vezes toda vezes q tinha algum erro, ou consultava meus colegas, mas dessa vez a coisa foi complicada, caramba nunca vi isso na vida.

 

Vamos lá.

 

Meu código é simples de entender, uma tabela comentario com 2 campos comentario e ano, depois mando ele executar o comando, simples não? Infelizmente não....

COMENT = "SELECT * FROM comentario230 where ano="&ano&""	 SET COM1 = Conn.EXECUTE("COMENT")		 		 if not COM1.EOF then		comen = COM1("comentario")		response.write comen	 end if
tentando executar esse código tenho a seguinte mensagem:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Instrução SQL inválida. 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' esperado.

/telecom/indicadores/tele230_view.asp, line 689

 

O inexplicável é q umas linahs acima, funciona normalmente:

 

REGIONAIS = "SELECT * FROM REGIONAIS"	 SET REG = Conn.EXECUTE("REGIONAIS")	 Do While not REG.EOF 		regional_temp = REG("regional")		response.write "<a href=tele230_view.asp?regional="&regional_temp&">"&regional_temp&"</a>       "	 	 REG.MoveNext	 Loop
Se eu mudar o nome de regionais para regi ou regionai, ou qq coisa nao duas primeiras linhas ele da o msm erro do outro código, mas eu posso deletar a linha REGIONAIS = "SELECT * FROM REGIONAIS". Que ele continua funcionando corretamente, @_@. isso é impossivel, não sei porque ele não remove a variável regionasi do sistema e não permite eu inserir novas. Testei em 3 servidores todos dão o mesmo erro. Todos os arquivos dessa pasta dão esse erro (código semelhantes), porém em outros arquivo do servidor funciona corretamente.

 

Por favor alguém me ajude. MUITO OBRIGADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

REGIONAIS = "SELECT * FROM REGIONAIS"	 SET REG = Conn.EXECUTE("REGIONAIS")

Essa linha funciona mas se eu fizer assim:

 

REGI = "SELECT * FROM REGIONAIS"

SET REG = Conn.EXECUTE("REGI")

 

Ele da erro.

 

Mas assim:

'REGIONAIS = "SELECT * FROM REGIONAIS" -- deletando ou comentando

SET REG = Conn.EXECUTE("REGIONAIS")

 

Ele funciona normal @_@

Compartilhar este post


Link para o post
Compartilhar em outros sites

REGIONAIS = "SELECT * FROM REGIONAIS"	 SET REG = Conn.EXECUTE("REGIONAIS")
Essa linha funciona mas se eu fizer assim:REGI = "SELECT * FROM REGIONAIS" SET REG = Conn.EXECUTE("REGI")Ele da erro.Mas assim:'REGIONAIS = "SELECT * FROM REGIONAIS" -- deletando ou comentando SET REG = Conn.EXECUTE("REGIONAIS")Ele funciona normal @_@
O problema é que o Conn.Execute espera uma instrução SQL como parâmetro.. você atribuiu a instrução SQL à variável Regionais, e então deve passar a variável como parâmetro, sem as aspas!!
Set RET = Conn.Execute(Regionais)
AbraçoCassiano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito Cassiano!

 

Agora só para complementar, no 1º caso de "regionais" o que acontece é que o Execute pode receber como parâmetro uma instrução SQL ou o nome de uma tabela e, por coincidência, era esse o nome que estava lá na sua SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora vi onde tava o erro. As aspas, Salgado e Cassiano muito obrigado.Não sabia que podia usar a tabela diretamente pra executar a consulta. Ou Seja passando apenas o nome da tabela, é como se eu já estivesse executando o select? Mais uma novidade pra eu usar ^^. Novamente valeu a força.Qualquer coisa apareço por aqui novamente. o/

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.