Ir para conteúdo

POWERED BY:

Arquivado

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

Liconh

Erro de Syntax

Recommended Posts

Bom estou iniciando com programação ASP, ainda tenho algumas duvidas.

 

Bom estou desenvolvendo um sistema, e o erro da sempre aqui:

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID_CATEGORIA = ID_CATEGORIA_CLASSIFICADO AND ID_CLASSIFICADO ='.

 

E o problema é aqui:

 

<%
id_classificado = request("id_classificado")
sqlNoticia = "SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA = ID_CATEGORIA_CLASSIFICADO AND ID_CLASSIFICADO = " & ID_CLASSIFICADO 
							  
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open strCon
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = 3
objRS.CursorType = 2
objRS.LockType = 1
objRS.Open sqlNoticia, objCon, , , &H0001 '(erro aqui)
while not objRS.eof
%>

Desde já agradeço a ajuda, e muitas coisas já pesquisei no Imasters e me ajudou muito!!!! Espero contar com mais essa força!!!

 

Obrigado e Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o código abaixo e poste o resultado.

sqlNoticia = "SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA = ID_CATEGORIA_CLASSIFICADO AND ID_CLASSIFICADO = " & ID_CLASSIFICADO

response.write sqlNoticia
response.end

Compartilhar este post


Link para o post
Compartilhar em outros sites

de onde recupera o valor da variavel ID_CLASSIFICADO?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon, primeiro muito obrigado pela ajuda!!!

 

colei o cod.... o resultado é esse:

 

SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA = ID_CATEGORIA_CLASSIFICADO AND ID_CLASSIFICADO =

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário, obrigado pela ajuda tb!!!

 

Esse valor esta sendo chamado do BD Access, o nome da Tabela é : CLASSIFICADO >> ID_CLASSIFICADO

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao eu digo a variavel qeu voce usa na sql, pois esta sem valor

Compartilhar este post


Link para o post
Compartilhar em outros sites

id_classificado = request("id_classificado")
sqlNoticia = "SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA = ID_CATEGORIA_CLASSIFICADO AND ID_CLASSIFICADO = " & ID_CLASSIFICADO

A variavel é o ID_CLASSIFICADO que vem depois do &

 

ela vem de onde? de um formulario, vem da url? vem de onde?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário seria isso?? se for oq entendi é de uma URL:

 

mais ta ai o cód:

 

 

<%

id_classificado = request("id_classificado")
sqlNoticia = "SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA = ID_CATEGORIA_CLASSIFICADO AND ID_CLASSIFICADO = " & ID_CLASSIFICADO

response.write sqlNoticia
response.end

		 Set objCon = Server.CreateObject("ADODB.Connection")
		 objCon.Open strCon
		 Set objRS = Server.CreateObject("ADODB.Recordset")
		 objRS.CursorLocation = 3
		 objRS.CursorType = 2
		 objRS.LockType = 1
		 objRS.Open sqlNoticia, objCon, , , &H0001
		 while not objRS.eof
%>


<tr>
<td height=45 valign=top><span class="DataChamada"><b><%=objRs("data")%></b> | <%=objRs("categoria")%></span>
<br><br>
<span class="Titulo"><%=objRs("produto")%></span>								   

<table width="100%" border="0">
<tr>
<td width="16%">
<div align="center"><img src="admin/<%=objRs("foto")%>" vspace="5" /></div></td>
<td width="84%" valign="top"><div align="justify"> <%=replace(objRs("descricao"),chr(13),"<br>")%>
</div></td></tr>
</table>
<p><br><br><br><br></p>
</td>
</tr>

<%
objRs.movenext
wend
%>
Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo visto a variável está nula.

 

Remova o que pedi para acrescentar e acrescente:

id_classificado = request("id_classificado")
If Not isNumeric(id_classificado) Then
	id_classificado = 0
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

FALTOU VEM DESSE URL:

 

<%

sqlNoticia = "SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA_CLASSIFICADO = ID_CATEGORIA ORDER BY ID_CLASSIFICADO DESC"

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strCon
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = 3
objRS.CursorType = 2
objRS.LockType = 1
objRS.Open sqlNoticia, objConn, , , &H0001
while not objRS.eof

%>

<tr>
<td height=45 valign=top> 
<span class="DataChamada">
<b><%=objRs("data")%></b> | <%=objRs("categoria")%></span>
<br> <img src="imagens/setaNoticia.gif">
<a href="classificados.asp?id_classificado=<%=objRs("id_classificado")%>&link=classificadoDetalhe.asp">
<span class="TextoChamadaGrande"><%=objRs("produto")%></span></a>
</td>
</tr>

<%
objRs.movenext
wend
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

e como esta a url?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário a Url é clippingnoticia.asp e ela lista os nomes (chamada) ai clicando no nome ele direciona para o link com problema o clippingnoticadetalhe.asp

 

Ai esta a url:

 

<%

sqlNoticia = "SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA_CLASSIFICADO = ID_CATEGORIA ORDER BY ID_CLASSIFICADO DESC"

	Set objConn = Server.CreateObject("ADODB.Connection")
	objConn.Open strCon
	Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.CursorLocation = 3
	objRS.CursorType = 2
	objRS.LockType = 1
	objRS.Open sqlNoticia, objConn, , , &H0001
	while not objRS.eof
%>

<tr>
	<td height=45 valign=top> 
	<span class="noticiaDataChamada"><b><%=objRs("data")%></b> | <%=objRs("categoria")%></span>
	<br> <img src="imagens/setaNoticia.gif">
	<a href="classificados.asp?id_classificado=<%=objRs("id_classificado")%>&link=classificadoDetalhe.asp">
	<span class="noticiaTextoChamadaGrande"><%=objRs("produto")%></span></a>
</td>
</tr>
	<%
	objRs.movenext
	wend
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao é isso

 

post como ela ficou no navegador pois tem qeu ver se realmente esta passando o valor

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Navegador esta assim:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID_CATEGORIA = ID_CATEGORIA_CLASSIFICADO AND ID_CLASSIFICADO ='.

 

/ClippingclassificadoDETALHE.asp, line 40

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao tiozinho quero que me mostre o que tem na barra de endereços do navegador

 

o endereço que passa

 

tipo este aqui

 

h.ttp://forum.imasters.com.br/index.php?showtopic=299154&st=0entry1098041

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que você precisa usar um INNER JOIN para comparar valores entre tabelas. E eu não sei bem, mas creio que o curinga (*) não pode ser usado se você precisar comparar valores entre tabelas.

 

E sempre use o nome_da_tabela.nome_do_campo, senão não dá certo

 

tente assim:

"SELECT CLASSIFICADO.[campo_1 AS campo1], CLASSIFICADO.[campo_2 AS campo2], CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO INNER JOIN CATEGORIA_CLASSIFICADO WHERE CLASSIFICADO.ID_CATEGORIA_CLASSIFICADO = CATEGORIA_CLASSIFICADO.ID_CATEGORIA ORDER BY CLASSIFICADO.ID_CLASSIFICADO DESC"

Repare que troquei o curinga pelos campos, e o order by com o nome_da_tabela.nome_do_campo. Sempre usei inner joins assim e sempre funcionou... a questão do curinga que eu não tenho certeza...

 

QQ coisa tamos aí

 

Mário a Url é clippingnoticia.asp e ela lista os nomes (chamada) ai clicando no nome ele direciona para o link com problema o clippingnoticadetalhe.asp

 

Ai esta a url:

 

<%

sqlNoticia = "SELECT CLASSIFICADO.*, CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO, CATEGORIA_CLASSIFICADO WHERE ID_CATEGORIA_CLASSIFICADO = ID_CATEGORIA ORDER BY ID_CLASSIFICADO DESC"

	Set objConn = Server.CreateObject("ADODB.Connection")
	objConn.Open strCon
	Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.CursorLocation = 3
	objRS.CursorType = 2
	objRS.LockType = 1
	objRS.Open sqlNoticia, objConn, , , &H0001
	while not objRS.eof
%>

<tr>
	<td height=45 valign=top> 
	<span class="noticiaDataChamada"><b><%=objRs("data")%></b> | <%=objRs("categoria")%></span>
	<br> <img src="imagens/setaNoticia.gif">
	<a href="classificados.asp?id_classificado=<%=objRs("id_classificado")%>&link=classificadoDetalhe.asp">
	<span class="noticiaTextoChamadaGrande"><%=objRs("produto")%></span></a>
</td>
</tr>
	<%
	objRs.movenext
	wend
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário fiz o que pediu da uma olhada ai:

 

<%

sqlNoticia = "SELECT CLASSIFICADO.[campo_1 AS campo1], CLASSIFICADO.[campo_2 AS campo2], CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO INNER JOIN CATEGORIA_CLASSIFICADO WHERE CLASSIFICADO.ID_CATEGORIA_CLASSIFICADO = CATEGORIA_CLASSIFICADO.ID_CATEGORIA ORDER BY CLASSIFICADO.ID_CLASSIFICADO DESC"


	Set objConn = Server.CreateObject("ADODB.Connection")
	objConn.Open strCon
	Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.CursorLocation = 3
	objRS.CursorType = 2
	objRS.LockType = 1
	objRS.Open sqlNoticia, objConn, , , &H0001
	while not objRS.eof
%>

<tr>
	<td height=45 valign=top> 
	<span class="noticiaDataChamada"><b><%=objRs("data")%></b> | <%=objRs("categoria")%></span>
	<br> <img src="imagens/setaNoticia.gif">
	<a href="classificados.asp?id_classificado=<%=objRs("id_classificado")%>&link=classificadoDetalhe.asp">
	<span class="noticiaTextoChamadaGrande"><%=objRs("produto")%></span></a>
</td>
</tr>
	<%
	objRs.movenext
	wend
	%>

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Heh, não é o Mário!!

 

cara, no lugar de [campo_1 AS campo1], [campo_2... você tem que colocar o nome do campo na sua tabela do banco de dados. Por exemplo, se você tem um campo chamado NOME, deve escrever CLASSIFICADO.NOME AS nome_classif.

 

Entendeu?

 

Mário fiz o que pediu da uma olhada ai:

 

http://www.mundodorodeio.com.br/clippingcl...cadoDetalhe.asp

 

 

 

<%

 

sqlNoticia = "SELECT CLASSIFICADO.[campo_1 AS campo1], CLASSIFICADO.[campo_2 AS campo2], CATEGORIA_CLASSIFICADO.DESCRICAO AS CATEGORIA FROM CLASSIFICADO INNER JOIN CATEGORIA_CLASSIFICADO WHERE CLASSIFICADO.ID_CATEGORIA_CLASSIFICADO = CATEGORIA_CLASSIFICADO.ID_CATEGORIA ORDER BY CLASSIFICADO.ID_CLASSIFICADO DESC"

 

 

Set objConn = Server.CreateObject("ADODB.Connection")

objConn.Open strCon

Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.CursorLocation = 3

objRS.CursorType = 2

objRS.LockType = 1

objRS.Open sqlNoticia, objConn, , , &H0001

while not objRS.eof

%>

 

<tr>

<td height=45 valign=top> 

<span class="noticiaDataChamada"><b><%=objRs("data")%></b> | <%=objRs("categoria")%></span>

<br> <img src="imagens/setaNoticia.gif">

<a href="classificados.asp?id_classificado=<%=objRs("id_classificado")%>&link=classificadoDetalhe.asp">

<span class="noticiaTextoChamadaGrande"><%=objRs("produto")%></span></a>

</td>

</tr>

<%

objRs.movenext

wend

%>

 

 

Abraços

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.