Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-08-2006
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 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
  #2  
Antiguo 04-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Facil, en esta linea agregar upper en la cadena
Código Delphi [-]
sql.Add('where upper(tipo_err) like upper(:cadena)');
Y seguir con esta linea
Código Delphi [-]
Params.ParambyName('cadena').asstring:='%'+edit1.text+'%';
Esta linea está de mas.
Cita:
Código Delphi [-]
Params[0].asstring;
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 04-08-2006 a las 17:38:59.
Responder Con Cita
  #3  
Antiguo 04-08-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
La otra forma
__________________

Responder Con Cita
  #4  
Antiguo 04-08-2006
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Poder: 20
JuanBCT Va por buen camino
Les agradezco mucho su ayuda, lo pude solucionar y anduvo bárbaro. Saludos!

Juan.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Uso del Case IVAND SQL 4 05-04-2006 17:39:48
no context-sensitive help installed elpinjum Varios 0 08-08-2005 15:07:01
Ayuda con CASE YaninaGenia Varios 2 26-06-2005 12:40:39
Indices Con Case Sensitive RMHTECTH Tablas planas 0 06-10-2004 19:04:13


La franja horaria es GMT +2. Ahora son las 15:27:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi