Ver Mensaje Individual
  #1  
Antiguo 04-08-2006
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Reputación: 20
JuanBCT Va por buen camino
¿Como hacer que LIKE no sea case-sensitive?

Hola, ¿que tal? Espero que alguien sepa de esto... estoy haciendo una búsqueda en un string con LIKE de la siguiente manera:

Código Delphi [-]
 
procedure TErrores_form.FlatSpeedButton2Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.clear;
sql.Add('select * from errores');
sql.Add('where tipo_err like :cadena');
Params[0].asstring;
Params.ParambyName('cadena').asstring:=Concat('%',edit1.text,'%');
open;
end;

Funciona muy bien excepto que me diferencia mayúsculas y minúsculas, por ejemplo, si yo escribo "corrupt" trae un grupo de registros y si escribo "Corrupt" trae otro, lo que quiero es que escribiendo "corrupt" o "Corrupt" o "CoRRupT" por ejemplo, me devuelva toodos los que tengan la cadena corrupt escrita, sin diferenciar mayúsculas o minúsculas.
Buscando en la red encontré una forma de hacerlo pero no parece funcionar, me devuelve la grilla vacía. El código quedaría así:

Código Delphi [-]
 
procedure TErrores_form.FlatSpeedButton2Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.clear;
sql.Add('select * from errores');
sql.Add('where upper(tipo_err) like :cadena');
Params[0].asstring;
Params.ParambyName('cadena').asstring:=Concat('%#ucase(',edit1.text,')#%');
open;
end;

¿A alguien se le ocurre algo? Desde ya les agradezco, un saludo.

Juan
Responder Con Cita