Busca com Firebird

Delphi

08/02/2008

Olá pessoal, estou querendo fazer uma consulta usando o firebird, possuo uma query e um clientdataset e execulto o seguinte codigo;

clientdataset1.close;
with sqlquery1 do
begin 
  sql.clear;
  sql.add(´SELECT * FROM CONTATOS´);
  sql.add(´WHERE NOME STARTING WITH ´ + quotedstr(edit1.text));
  sql.add(´ORDER BY NOME´);
end;
clientdataset1.open;


funciona certinho sendo que eu tenho que digitar o nome exatamente igual, so que eu queria que nao diferenciasse letra maiuscula de minuscula, se alguem puder me ajudar eu ficarei muito agradecido !!!

Obrigado !!


Xstickerrx

Xstickerrx

Curtidas 0

Respostas

Catunda

Catunda

08/02/2008

experimente assim:

sql.add(´WHERE upper(NOME) STARTING WITH upper(´ + quotedstr(edit1.text)+´)´);


GOSTEI 0
Paullsoftware

Paullsoftware

08/02/2008

Olá pessoal, estou querendo fazer uma consulta usando o firebird, possuo uma query e um clientdataset e execulto o seguinte codigo;
clientdataset1.close;
with sqlquery1 do
begin 
  sql.clear;
  sql.add(´SELECT * FROM CONTATOS´);
  sql.add(´WHERE NOME STARTING WITH ´ + quotedstr(edit1.text));
  sql.add(´ORDER BY NOME´);
end;
clientdataset1.open;
funciona certinho sendo que eu tenho que digitar o nome exatamente igual, so que eu queria que nao diferenciasse letra maiuscula de minuscula, se alguem puder me ajudar eu ficarei muito agradecido !!! Obrigado !!
é simples, basta você acrescentar o comando Upper e UpperCase dessa forma:
clientdataset1.close; 
with sqlquery1 do 
begin 
  sql.clear; 
  sql.add(´SELECT * FROM CONTATOS´); 
  sql.add(´WHERE upper(NOME) STARTING WITH ´ + quotedstr(UpperCase(edit1.text))); 
  sql.add(´ORDER BY NOME´); 
end; 
clientdataset1.open; 
espero ter ajudado :wink:


GOSTEI 0
Gandalf.nho

Gandalf.nho

08/02/2008

Se você estiver usando o FB 2.0 basta usar o collate case-insensitive para o nosso português.


GOSTEI 0
Xstickerrx

Xstickerrx

08/02/2008

Valeu galeraa consegui, tou fazendo anotações de todos os modos aqui para os meus estudos, muito obrigado !!!!


GOSTEI 0
POSTAR