Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-05-2018
usuario1000 usuario1000 is offline
Miembro
 
Registrado: Nov 2016
Posts: 40
Poder: 0
usuario1000 Va por buen camino
Busqueda con tildes o sin tildes.

Hola a todos.

Tengo un problemilla que en principio parecía mas sencillo de resolver y que ya se me está enconando y requiero de vuestra estimada ayuda. Gracias de antemano.

Utilizo una base de datos FIREBIRD y delphi 10 seattle.

Tengo un TEdit(eBuscar) que se llama "descripcion" y una tabla donde hago un filtro para buscar por los elementos que coinciden con el TEdit.

es decir:
Código Delphi [-]
        cdsTabla.Filter := 'descripcion like'+ QuotedStr('%'+ebuscar.Text+'%');

El problema surge cuando quiero buscar "JOSE' y si en la base de datos está escrito "JOSÉ", pues no aparece y debería aparecer.

¿Como hago para que me filtre independientemente si la palabra tiene tilde o no?. No me gustaria utilizar el comodin "_" puesto que no me parece una solución muy adecuada.

Gracias.

Última edición por Casimiro Notevi fecha: 15-05-2018 a las 23:09:26.
Responder Con Cita
  #2  
Antiguo 15-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.394
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira este hilo, de hoy mismo.


Y por cierto, para otra ocasión no olvides usar las etiquetas para el código, gracias.


Responder Con Cita
  #3  
Antiguo 15-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.394
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tienes que modificar la definición del campo en la base de datos.
Código SQL [-]
create table tbPrueba (
  id integer not null,   
  cNombre varchar(64) character set ISO8859_1 collate ES_ES_CI_AI default '',      //  -> sería tu campo descripcion
  primary key (id) 
)
Responder Con Cita
  #4  
Antiguo 15-05-2018
usuario1000 usuario1000 is offline
Miembro
 
Registrado: Nov 2016
Posts: 40
Poder: 0
usuario1000 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Tienes que modificar la definición del campo en la base de datos.
Código SQL [-]create table tbPrueba ( id integer not null, cNombre varchar(64) character set ISO8859_1 collate ES_ES_CI_AI default '', // -> sería tu campo descripcion primary key (id) )

Uff, me da yuyu, cambiar la definicion de la base de datos, la cual está funcionando ahora con datos reales. No obstante haré pruebas con lo que me dices.

Gracias.
Responder Con Cita
  #5  
Antiguo 16-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.394
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues tienes que añadirle: collate ES_ES_CI_AI
No hay otra solución.
Responder Con Cita
  #6  
Antiguo 16-05-2018
orodriguezca orodriguezca is offline
Miembro
 
Registrado: Jan 2009
Posts: 179
Poder: 10
orodriguezca Va por buen camino
Tengo una duda con la solución propuesta: entiendo que se solucionaría el problema si lo que se está haciendo es una consulta de selección a la base de datos, pero en el caso que presenta usuario1000 lo se que hace es aplicar un filtro a un TClientDataset; ¿sigue siendo válida la solución?. Pregunto porque hasta donde sé la propiedad Filter de cualquier "localdataset" solo afecta a los datos actualmente en memoria dejando sin efecto el "truco" de collate ES_ES_CI_AI; ¿es así o o me estoy perdiendo de algo?
Responder Con Cita
  #7  
Antiguo 16-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.394
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No lo sé, no suelo usar TClientDataset.

Es una pregunta interesante.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Tildes. bit Lazarus, FreePascal, Kylix, etc. 5 10-04-2014 10:19:55
Consulta que incluya tildes antigrondona SQL 5 30-07-2010 13:30:13
Consulta SQL exceptuando tildes ingabraham SQL 8 22-06-2010 23:19:20
Más de lo mismo ñ, tildes Maibok MySQL 3 18-12-2006 01:31:32
tildes caprichosos elcigarra PHP 7 30-09-2006 23:06:59


La franja horaria es GMT +2. Ahora son las 04:27:11.


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