Ajuda com select usando Like, :Parametro e ¬

Delphi

27/07/2004

Fala Galera!
Algúem poderia me ajudar com essa consulta?
Tá meio estranho, pq c eu digito ´e´ na Edit, ele me traz alguns resultados, mas c eu digito ´a´ ele não me traz nada!!! e c tem um registro assim: ´MONITOR COLORIDO DE 17´´, e eu digitar na edit ´MONITOR´, ele não me traz nada tbm!!!

Segue o código:

If CmbCampo.Text = ´Patrimonio´ then FCampo := ´PATRIMONIO´;
If CmbCampo.Text = ´Equipamento´ then FCampo := ´EQUIP´;
If CmbCampo.Text = ´Area´ then FCampo := ´DAREA´;
If CmbCampo.Text = ´Linha´ then FCampo := ´DLINHA´;
If CmbCampo.Text = ´Grupo Centro de Custo´ then FCampo := ´GCCUSTO´;
If CmbCampo.Text = ´Centro de Custo´ then FCampo := ´DCCSUTO´;
Ordem := ´EQUIP, PATRIMONIO´;
Tag.close;
with Tag do begin
    SQl.Clear;
    SQl.Add(´Select * from ManEquip where :VCampo Like :vconteudo´);
    SQl.Add(´Order By ´ + Ordem);
    Parambyname(´VCampo´).asstring := FCampo;
    Parambyname(´VConteudo´).asstring := ´¬´+EdtFind.Text+´¬´;
end;
Tag.Open;



Bueno

Bueno

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

27/07/2004

[color=red:632120d944][b:632120d944]Respondendo:[/b:632120d944][/color:632120d944]

If CmbCampo.Text = ´Patrimonio´ then FCampo := ´PATRIMONIO´; 
If CmbCampo.Text = ´Equipamento´ then FCampo := ´EQUIP´; 
If CmbCampo.Text = ´Area´ then FCampo := ´DAREA´; 
If CmbCampo.Text = ´Linha´ then FCampo := ´DLINHA´; 
If CmbCampo.Text = ´Grupo Centro de Custo´ then FCampo := ´GCCUSTO´; 
If CmbCampo.Text = ´Centro de Custo´ then FCampo := ´DCCSUTO´; 
Ordem := ´EQUIP, PATRIMONIO´; 
Tag.close; 
with Tag do begin 
    SQl.Clear; 
    SQl.Add(´Select * from ManEquip where UPPER(:VCampo) Like :vconteudo´); // Modifiquei esta linha (UPPER)
    SQl.Add(´Order By ´ + Ordem); 
    Parambyname(´VCampo´).asstring := FCampo; 
    Parambyname(´VConteudo´).asstring := ´¬´+UpperCase(EdtFind.Text)+´¬´; // Modifiquei esta linha (UPPERCASE)
end; 
Tag.Open; 



GOSTEI 0
Bueno

Bueno

27/07/2004

[b:f2d2206be9]Undeclared Identifier[/b:f2d2206be9]
Kra, continuo com o mesmo problema... não deu certo não...
mais alguma sugestão?!


GOSTEI 0
Tnaires

Tnaires

27/07/2004

Se vc está editando o SQL em tempo de execução, não há pq usar parâmetros.
Simplesmente faça:
SQl.Add(´Select * from ManEquip where ´ + FCampo + ´ Like ´ +  QuotedStr(´¬´ + Trim(EdtFind.Text) + ´¬´));

QuotedStr serve para colocar aspas na string d consulta.
Trim serve para retirar os espaços em branco à esquerda e à direita do texto do Edit (opcional).
Abraços


GOSTEI 0
Bueno

Bueno

27/07/2004

[b:52c288ddaa]
Undeclared Identifier
tnaires
[/b:52c288ddaa]

Valew!!!! me pouparam umas boas linhas de código!!!!


GOSTEI 0
POSTAR