[firebase-br] Trocar o Uso do Like por Containing....
Zottis
zottissistemas em brturbo.com.br
Qua Nov 7 12:38:32 -03 2007
isso seria com o Comando CONTAINING?
pois com o comando LIKE já funciona do modo que passei, mas eu gostaria de
trocar o LIKE por CONTAINING ou IGUAL ou STARTING WITH, ou qualquer coisa
que seja melhor que o LIKE, pois essa pesquisa dependendo o Período
escolhido fica lenta demais.
só que tem que dar certo para as Opçoes "N", "S" ou as duas...
Valeu..
----- Original Message -----
From: "Fernando Oliveira Pereira" <fernando.olpereira em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, November 07, 2007 9:59 AM
Subject: Re: [firebase-br] Trocar o Uso do Like por Containing....
Zottis, a clausura LIKE necessita do caracter % para determinar início e fim
de cadeia de caracteres.
Então o trecho ficaria assim:
if radioGroup1.ItemIndex=0 then
begin
ParamByName('VarPago').AsString:= '%%';
end else if radioGroup1.ItemIndex=1 then
begin
ParamByName('VarPago').AsString:='%S%';
end else if radioGroup1.ItemIndex=2 then
begin
ParamByName('VarPago').AsString:='%N%';
end;
Falow... abraço!
Em 07/11/07, Zottis <zottissistemas em brturbo.com.br> escreveu:
>
> Bom Dia Turma....
>
> Estou com uma dúvida.
>
> tenho formulários de Pesquisa que ainda usam o comando "LIKE", mas estou
> trocando pelo uso de CONTAINING e STARTING WITH
>
> mas aí a dúvida....
>
> With Busca do
> Begin
> Close;
> sql.Clear;
> sql.Add('select ............');
> sql.Add ('from CtaPag,Fornecedores');
> sql.Add ('where');
> sql.Add ('CtaPag.FornecedorNo =
> Fornecedores.FornecedorNo
> and CtaPag.DELETADO = ''N''and');
>
> sql.Add ('(CtaPag.Pago) Like(:VarPago) and'); ///
> <<<<======== AQUI A DÚVIDA
>
>
> sql.Add ('(Vencimento Between :VarDataI and :VarDataF)
> and');
> sql.Add ('Upper(Fornecedores.razaoSocial) CONTAINING
> Upper(:VarNome) or Upper(Fornecedores.NomeFantasia) CONTAINING
> Upper(:VarNome)');
> sql.Add ('order by
> Vencimento,CTAPAG.FORNECEDORNO,contano');
> ParamByName('VarDataI').AsDate := Data1.Date;
> ParamByName('VarDataF').AsDate := Data2.Date;
> ParamByName('VarNome').AsString := MaskEdit1.Text;
>
> if radioGroup1.ItemIndex=0 then
> begin
> ParamByName('VarPago').AsString := '%'; <<=====
> COMO PASSAREI A OPÇÃO QUANDO SÃO OS DOIS TIPOS("S" e "N")?
> end else
> if radioGroup1.ItemIndex=1 then
> begin
> ParamByName('VarPago').AsString:='S';
> end else
> if radioGroup1.ItemIndex=2 then
> begin
> ParamByName('VarPago').AsString:='N';
> end;
> Prepare;
> Open;
> End;
>
>
> valeu
>
>
> Zottis
>
> USO DElphi7 FB 2.0 e MDO
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
Fernando Oliveira Pereira
Analista & Programador em Sistema de Informação
TiSystems S/S Ltda
Alfenas - MG
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista