Ir para conteúdo

POWERED BY:

Arquivado

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

Loko da Web

Busca

Recommended Posts

Boa tarde!

 

Pessoal, é o seguinte... monstei uma busca, digito uma palavra chave e me retorna todos os resultados conforme a palavra chave normalmente. Porem, quando clico "proxima pagina", é imprimido esse erro:

 

Microsoft JET Database Engine rror '80040e14' 

Syntax error (missing operator) in query expression 'nome LIKE '%%' and idcat='. 

/busca_filmes.asp, line 42

 

Essa busca foi criado sobre uma paginacao... Minha select:

 

If (Request.Form("filtro") = "todos") Then
   sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%'"
   else
   sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%' and idcat= " & request.form("filtro") & ""
   end if
Realmente nao sei o que pode ser, achei que fosse erro de parametro... Se alguem souber o erro, agradeço a ajuda !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia, veja se não tem nenhum nome de coluna invalido ,ou se a coluna a qual você se refere na Base de Dados não foi encontrada. E poste o conteúdo do arquivo conecta.asp

E dê um response.write na sua instrução SQL, para ver o que esta sendo passado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, deu o response.write na sql imprimiu assim:

 

Digito a letra a com filtro Todos

 

Pagina 1

 

SELECT * FROM fotos WHERE nome LIKE '%[a , á , ã , à]%'

Pagina 2

 

SELECT * FROM fotos WHERE nome LIKE '%%' and idcat=

Digito a letra a com filtro Ação

 

Pagina 1

 

SELECT * FROM fotos WHERE nome LIKE '%[a , á , ã , à]%' and idcat= 2

Pagina 2

 

SELECT * FROM fotos WHERE nome LIKE '%%' and idcat=

 

Nao entendo pq nao esta resgatando o valor palavrasem(pesq) e request.form("filtro") da variavel nome e idcat, respectivamente. Sendo que na primeira pagina tudo ok, mas na segunda pagina da o erro. Qual o parametro que deve ser passado ???

 

If (Request.Form("filtro") = "todos") Then
   sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%'"
   else
   sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%' and idcat= " & request.form("filtro") & ""
   end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua paginação usa Links, correto? Então não use mais Request.FORM para recuperar os dados, use apenas Request, pois assim irá requisitar dados de todas as coleções de envio. Há uma equena queda de performance, mas creio que não influenciará tanto.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Salgado, nao deu certo !!!!! Continua dando o mesmo erro !
Como estão os links?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado, nao deu certo !!!!! Continua dando o mesmo erro !

Como estão os links?

 

Ai é que esta... nao consegui achar a logica pra passar o parametro certo. Tentei dessa forma:

 

<a href='busca.asp?PagAtual=" & PagAtual + 1 & "&nome=" & request("pesq") & "'>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passe os campos usando os mesmos nomes que estavam em seu FORM.

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.