Primeiro, você tem que 'isolar' as condições do WHERE, pois senão ele vai se 
perder.

O correto seria assim:

SQL.Text := 'Select  A.Cod_produto, A.Descricao, A.valor, C.NOME From PRODUTOS 
A,
FORNECEDOR C Where (C.NOME = "'+LPesquisar.Text+'" or A.Descricao=
"'+descricao.Text+'" or A.Cod_Produto ='+cod_produto.Text+ ') and 
A.COD_FORNECEDOR
= C.COD_FORNECEDOR

Ou seja, as condições "OR" devem ficar dentro de parêntesis e a outra condição
(And) fora de parêntesis.

Em segundo lugar, referente ao erro -104, dá uma conferida no nome das tabelas e
colunas que você colocou no SQL, prá ver se está igual na sua base de dados, 
pois
normalmente este erro ocorre quando foi informada uma tabela/coluna que não 
existe.

sds
Anderson

>     Olá pessoal bom dia, será que alguém poderia me ajudar. To terminando meu
> projeto de fim de curso e to fazendo as consultas. Utilizei um Query pra
> fazê-las, só que não dá certo.
> Preciso pesquisar um produto pelo código dele, pelo nome e pelo fornecedor 
> daquele
> produto. Construí a seguinte rotina.
>
> With DM.QPesquisar do
>       Begin
>         SQL.Clear;
>         SQL.Text := 'Select  A.Cod_produto, A.Descricao, A.valor, C.NOME From
> PRODUTOS A, FORNECEDOR C Where C.NOME = "'+LPesquisar.Text+'" or
> A.Descricao= "'+descricao.Text+'" or A.Cod_Produto ='+cod_produto.Text+ '
> and A.COD_FORNECEDOR = C.COD_FORNECEDOR';
>         Open;
>       End;
>
> Não mudei de linha no código SQL aqui é porque não cabe. Aí quando se vai pra
> execução quando eu clico no botão onde programei esse SQL ele dá o seguinte 
> erro.
>
> DYNAMIC SQL ERROR
> SQL ERRO COD = - 104
> TOKEN UNKNOWN - LINE 1, CHAR 148
> END.
>
> Nem sei mais o q testar. Já mudei diversas vezes e nada. Se alguém tiver uma 
> idéia.
>
> Obrigada..
>
> Taty Santana
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
>  http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
>  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a