Consulta SQL - Apenas campos que contenham informações

19/05/2008

1

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!


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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira