Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Busqueda de Textos en ADO (https://www.clubdelphi.com/foros/showthread.php?t=42425)

SoulSoldier 13-04-2007 18:05:54

Busqueda de Textos en ADO
 
Hola amigos de Club Delphi. Tengo una pequeña duda, y espero que uds. puedan ayudarme con ella.

Voy a ilustrar mi duda con un ejemplo:

Quiero buscar la palabra Jesús en una base de datos, y lo hago por medio de un ADOQuery. La búsqueda se hace muy bien si introduzco fragmetos de la palabra, tales como "Je", "je", "Jes","sús", entre otros. Aquí viene mi duda:
cuando ingreso la palabra "Jesus" (sin tilde) no me trae los registros que si tienen la tilde en la "u".

He estado mirando en otros hilos, y he encontrado como convertir las cadenas a texto sin tildes pero realmente eso no es lo que busco.

Me pueden ayudar por favor?

Muchos saludos.

ContraVeneno 13-04-2007 18:20:23

Esto tiene que ver con el tipo de colación que estas utilizando, no mencionas que manejador de base de datos utilizas, pero suponiendo que utilices SQL Server, puedes cambiar el tipo de colación desde el Enterprise manager. La colación generalmente esta definida desde el nombre, por ejemplo: SQL_Latin1_General_CP1_CI_AS
donde "CI" se refiere a que es "Case Insensitive" , lo que significa que no distingue mayúsculas o minúsculas.
y "AS" se refiere a "Acent Sensitive", es decir, sí distingue los acentos.

Entonces, lo que tu necesitas es una colación que sea AI (Acent insensitive)

De cualquier manera busca información relacionada con "collation". En la red o aquí en los foros encontrarás lo que necesitas.

Neftali [Germán.Estévez] 13-04-2007 18:32:05

Aunque no te lo puedo asegurar 100% seguro, creo que puedes solucionar esa cuestion utilizando el COLLATE, en tu caso para esa columna, aunque creo que se puede aplicar a otros ámbitos.

Ejecuta esto en SQL Server:

Código SQL [-]
SELECT * FROM ::fn_helpcollations()

Eso te da todos las "intercalaciones" disponibles.

Si busca en la ayuda de SQl sobre "Seleccionar una intercalación de SQL" verás la lista disponible; Entre ellas hay algunas en las que se lee...

"Orden de diccionario, no distinguir mayúsculas de minúsculas, no distinguir acentos, para utilizar con el conjunto de caracteres 1252."

Creo que por ahí puede estar la solución que buscas.
Ya dirás...

SoulSoldier 13-04-2007 18:33:58

La base de datos es Jet (Access)
 
Pues verás, la base de datos que uso es Jet, pero voy a buscar si tengo forma de modificar el collation. Les comentaré sobre mis resultados.

Muchas gracias Contraveneno.

-elen síla lúmenn' omentielvo-

SoulSoldier 13-04-2007 19:25:35

No he podido!
 
Hola amigos nuevamente,

Les comento que no he encontrado la forma de cambiar la Colación en Access... pueden indicarme si es posible?


La franja horaria es GMT +2. Ahora son las 03:13:09.

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