Consulta SQL - Apenas campos que contenham informações

19/05/2008

0

Preciso a consulta SQL de uma Query me retorne valores informados em 6 edits de uma mesma tabela. Sendo que nem todos os edits precisam conter informações. Não encontrei a sintaxe correta para fazer este tipo de pesquisa e gostaria de contar com a ajuda de voces. Segue um exemplo:
Pesquisar por:
Codigo [______] Nome [______] Endereço [______] Telefone [_____]
Resultados:
...
...
...
...
------------------------------------------------------------------------------------
O inconveniente é que quando um usuário, por exemplo, não informa algum dos parametros de busca, a sintaxe SQL fica incorreta, ou no caso não retorna nenhum valor porque busca um parametro ´vazio´.
Se alguem souber uma maneira de construir esta sintaxe e possa descreve-la para mim agradeço desde já
Muito obrigado a todos!


Geanceretta

Geanceretta

Responder

Posts

19/05/2008

Webjoel

Olá!

Você precisa mostar o SQL, verificando se o campo está vazio ou não, se tiver valor você inclui o filtro, exemplo:

//declarar variavel:

var filtro : string

//...

filtro := ´´;
sql := ´SELECT * FROM CLIENTE´;

if (editCODIGO.text <> ´´) then
begin
   if (filtro = ´´) then
   begin
      filtro := filtro + ´ where COD_CLI = ´ + editCODIGO.text;
   end
   else
   begin
      filtro := filtro + ´ and COD_CLI = ´ + editCODIGO.text;
   end;
end;

//...

//Depois de verificar todos os Edits, monte o SQL:

SQLQuery := sql + filtro;



Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar