Ir para conteúdo

POWERED BY:

Arquivado

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

Naelson

Clausula Where com problema ?

Recommended Posts

Olá a todos.

 

O que pode estar errado com esta query?

Recebo esta mensagem ao executar.

 

---------------------------

Consfrm

---------------------------

Invalid use of keyword.

 

Token: Where

 

Line Number: 6.

---------------------------

OK

---------------------------

 

 

Query1.Sql.Add('SELECT Notificacao.OficioNum, Notificacao.OficioAno, Notificacao.OrgaoDescricao, Notificacao.Cargo, Notificacao.Titulo, Notificacao.SubTitulo, Notificacao.Notificado, Oficio.Processo, Oficio.Nome'); Query1.Sql.Add('FROM "Notificacao.DB" Notificacao'); Query1.Sql.Add(' RIGHT OUTER JOIN "Oficio.DB" Oficio'); Query1.Sql.Add(' ON (Notificacao.OficioNum = Oficio.OficioNum'); Query1.Sql.Add(' AND (Notificacao.OficioAno = Oficio.OficioAno'); Query1.Sql.Add('Where Notificacao.OficioNum like '+''''+'%'+edit1.text+'%'+''''); Query1.Sql.Add('AND Notificacao.OficioAno like '+''''+'%'+edit2.text+'%'+'''');
um abraço a todos

 

Naelson

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia...

 

tenta fazer assim:

Query1.Sql.Add('SELECT Notificacao.OficioNum, Notificacao.OficioAno, Notificacao.OrgaoDescricao, Notificacao.Cargo, Notificacao.Titulo, Notificacao.SubTitulo, Notificacao.Notificado, Oficio.Processo, Oficio.Nome'); Query1.Sql.Add('FROM "Notificacao.DB" Notificacao'); Query1.Sql.Add(' RIGHT OUTER JOIN "Oficio.DB" Oficio'); Query1.Sql.Add(' ON (Notificacao.OficioNum = Oficio.OficioNum'); Query1.Sql.Add(' AND Notificacao.OficioAno = Oficio.OficioAno)'); Query1.Sql.Add('Where Notificacao.OficioNum like '+''''+'%'+edit1.text+'%'+''''); Query1.Sql.Add('AND Notificacao.OficioAno like '+''''+'%'+edit2.text+'%'+'''');

 

se funcionar avisa... :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá de novo,

 

Fiz os acertos, beleza, resolveu o problema do 'Where', agora é com parametros, veja:

 

Query1: Parametro 'Param1' não encontrado

 

Como eu faço para passar parametros para a Query, pois pelo Object Inspector não consigo.

 

Podem me ajudar novamente.

 

um abraço

 

Naelson

 

 

Query1.Close;

Query1.SQL.Clear;

Query1.Sql.Add('SELECT Notificacao.OficioNum, Notificacao.OficioAno, Notificacao.OrgaoDescricao, Notificacao.Cargo, Notificacao.Titulo, Notificacao.SubTitulo, Notificacao.Notificado, Oficio.Processo, Oficio.Nome');

Query1.Sql.Add('FROM "Notificacao.DB" Notificacao');

Query1.Sql.Add(' INNER JOIN "Oficio.DB" Oficio');

Query1.Sql.Add(' ON (Notificacao.OficioNum = Oficio.OficioNum)');

Query1.Sql.Add(' AND (Notificacao.OficioAno = Oficio.OficioAno)');

Query1.Params.ParamByName('Param1').AsString := Chr(39) + '%' + Edit1.text + '%' + Chr(39);

Query1.Params.ParamByName('Param2').AsString := Chr(39) + '%' + Edit2.text + '%' + Chr(39);

Query1.Sql.Add('Where Notificacao.OficioNum like :Param1');

Query1.Sql.Add('AND Notificacao.OficioNum like :Param2');

Query1.Open;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:Query1.Close;Query1.SQL.Clear;Query1.Sql.Add('SELECT Notificacao.OficioNum, Notificacao.OficioAno, Notificacao.OrgaoDescricao, Notificacao.Cargo, Notificacao.Titulo, Notificacao.SubTitulo, Notificacao.Notificado, Oficio.Processo, Oficio.Nome');Query1.Sql.Add('FROM "Notificacao.DB" Notificacao');Query1.Sql.Add(' INNER JOIN "Oficio.DB" Oficio');Query1.Sql.Add(' ON (Notificacao.OficioNum = Oficio.OficioNum)');Query1.Sql.Add(' AND (Notificacao.OficioAno = Oficio.OficioAno)');Query1.Sql.Add('Where Notificacao.OficioNum like :Param1');Query1.Sql.Add('AND Notificacao.OficioNum like :Param2');Query1.Params.ParamByName('Param1').AsString := Chr(39) + '%' + Edit1.text + '%' + Chr(39);Query1.Params.ParamByName('Param2').AsString := Chr(39) + '%' + Edit2.text + '%' + Chr(39);Query1.Open;Fernanda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta dessa forma, que economiza até em código:with Query1 do begin // com a query 1 faça Close; SQL.Clear; SQL.Add('SELECT Notificacao.OficioNum, Notificacao.OficioAno, Notificacao.OrgaoDescricao,'); SQL.Add('Notificacao.Cargo, Notificacao.Titulo, Notificacao.SubTitulo, Notificacao.Notificado,'); SQL.Add('Oficio.Processo, Oficio.Nome'); SQL.Add('FROM "Notificacao.DB" Notificacao'); SQL.Add(' INNER JOIN "Oficio.DB" Oficio'); SQL.Add(' ON (Notificacao.OficioNum = Oficio.OficioNum)'); SQL.Add(' AND (Notificacao.OficioAno = Oficio.OficioAno)'); SQL.Add('Where Notificacao.OficioNum like :Param1'); SQL.Add('AND Notificacao.OficioNum like :Param2'); ParamByName('Param1').AsString := '%' + Edit1.text + '%'; // nao precisar de Params na frente ParamByName('Param2').AsString := '%' + Edit2.text + '%'; // nao precisar de Params na frente Prepare; // nao se esqueça de preparar a query antes de abrir Open;end;Se funcionar avisa! :D --Wenderson Souzawendersonsouza@gmail.com

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.