[firebase-br] Pesquisa Dinâmica.

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Ter Jul 6 16:42:49 -03 2010


ederson essa sintaxe é uma adaptação de um codigo sql que uso pra fazer
pesquisa por varios campos ao mesmo tempo, buscando aquele registro que se
assemelha a diferença que ao inves de and que eu te passei eu uso or na
sintaxe que te passei ela busca todos os registros que se enquadrem
exatamente nas especificações caso qq um dos parametros não seja igual ele
não vai entrar nesse select ai, ja usando or ao invés de and o sistema faz a
busca por um determnado parametro caso não exista ele passa pro outro e
assim vai até encontrar um registro que tenha pelo menos um parametro igual
Em 6 de julho de 2010 14:43, Ederson R. F. Lima <ed.rodrigo em gmail.com>escreveu:

> Obrigado pela ajuda de todos!
>
> @Hélio Oliveira: Gostei da sua solução, é bem parecida com a que estou
> usando. Obrigado.
> @Levy Moreira: Eu tinha feito exatamente igual você fez. Imagina isso pra
> 70
> campos. Obrigado.
> @Reijanio Numes Ribeiro: Eu, acho, que entendi como funcionaria aquele SQL
> dinâmicamente. Você poderia explicar exatamente como você adiciona parte a
> parte o comando? Que cuidados você toma e etc. Eu tenho uma idéia de
> algoritmo em PASCAL pra fazer o que preciso e o seu SQL pode ajudar
> bastante. Se você puder explicar.
>
> Se alguém tiver mais alguma sugestão, por favor diga. Quando meu algoritmo
> estiver pronto e funcionando, posto ele aqui.
>
> Abraços,
> Att
>
> Em 5 de julho de 2010 21:04, Reijanio Nunes Ribeiro
> <rnribeiro em gmail.com>escreveu:
>
> > dm.sqlpessoas.CommandText := 'select p.*, b.nomebai as bairro,cd.nomecid
> as
> > cidade,'+
> > ' u.siglauf as estado from  pessoa p'+
> > ' left outer join bairro b'+
> > ' left outer join cidade cd'+
> > ' left outer join uf u'+
> > ' on p.idbai = b.idbai'+
> > ' on p.idcid = cd.idcid'+
> > ' on p.iduf = u.iduf'+
> > ' where upper(p.idpes)'+
> > ' and upper(p. nomepes)'+
> > ' and upper(p. telpes)'+
> > ' and upper(p. dtnascpes)'+
> > ' and upper(p. endpes)'
> > dm.pessoas.Open;
> >
> >
> > Em 5 de julho de 2010 18:38, Levy Moreira <levymoreira.ce em gmail.com
> > >escreveu:
> >
> > > Faria assim:
> > >
> > > var
> > > pesquisa: string;
> > > begin
> > >  pesquisa:='select * from carro where codCarro not is null ';
> > >  if edMarca.text<>'' then
> > >    pesquisa:=pesquisa + 'and marca=' edMarca.text;
> > >  if edCor.text<>'' then
> > >    pesquisa:=pesquisa + 'and cor= ' edMarca.text;
> > >  ...
> > >  query.close;
> > >  query.Sql.clear;
> > >  query.sql.add(pesquisa);
> > >  query.open;
> > > end;
> > >
> > > obs:pode faltar umas aspas ai você ver...
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
>
> --
> - Éderson R. F. Lima
> -- Engenharia da Computação / 9º Termo
> --- Araçatuba/SP
> ______________________________________________
>  FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista