Jump to content


Photo

¿Cómo buscar un nombre con ADO y Delphi sin diferenciar mayúsculas y minúscula ?


  • Please log in to reply
4 replies to this topic

#1 Master23

Master23

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 230 posts
  • LocationSanto Domingo

Posted 24 July 2010 - 01:55 PM

Utilicé este código para buscar un texto o nombre en un database grib entonces cuando escribo un nombre en minúscula y está registrado en mayúscula no aparece aunque sean las mismas letras,cómo puedo hacer para sacarlo no importa que sea en minúsculas o mayúsculas  y bueno que en caso de que escriba el primer nombre saque todos los que tienen ese nombre hasta que lo complete ,gracias de antemano.

El código que yo utilizaba era este



delphi
  1. If not Adotable1.locate ('Nombre',edit1.text'.[]) then
  2. shomessage ('El nombre que introdujo no existe o está mal escrito,verifique o trate de nuevo');


  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 24 July 2010 - 01:59 PM

Hola
Si usas Mysql, Firebird y otras es un dolor de cabeza; Hay que usar y saber usar los charset y collate.
En access no hay ese problema, no le afectan las minusculas y mayusculas.
Para evitar ese problema (en mi caso en firebird) puse todo a mayusculas.
Saludos
  • 0

#3 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 posts
  • LocationEspaña

Posted 26 July 2010 - 09:15 AM

Buenas,

Se que hace ya un par de días de esto, pero si me dejáis, amplio un poco la respuesta del amigo Caral.

Si no queremos almacenar todo en mayúsculas porque queremos poder mostrar la información como el cliente la introduce, tenemos la opción de, aquellos campos alfanuméricos que puedan tener caracteres "extraños" (mezcla de mayúsculas y minúsculas, acentos y demás) y que se presten a ser usados en búsquedas (como el campo "Nombre" del ejemplo), duplicarlos en la tabla de la base de datos. Luego, le programamos un sencillo trigguer a esa tabla que, en los insert/updates, rellene ese campo duplicado sin los acentos (y si queremos todo en mayúsculas o minúsculas).

Realmente lo de las mayúsculas/minúsculas es lo de menos, dado que se puede solventar en la misma sentencia SQL (funciones upper y lower en Firebird).

Para ejemplo un botón:

[table]
[tr]
[td]Nombre[/td]
[td]NombreSearch[/td]
[/tr]
[tr]
[td]María[/td]
[td]MARIA[/td]
[/tr]
[tr]
[td]Noemí[/td]
[td]NOEMI[/td]
[/tr]
[/table]

Y ahora sólo quedaría realizar las búsquedas por este nuevo campo ;)

Espero que os sirva

Nos leemos


  • 0

#4 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 26 July 2010 - 05:35 PM

Hola
Por supuesto que sirve amigo.
Gracias por la explicacion.
Saludos
PD: No te pierdas tanto que se te extraña. (y)
  • 0

#5 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 posts
  • LocationEspaña

Posted 27 July 2010 - 01:35 AM

Buenas,

PD: No te pierdas tanto que se te extraña. (y)


Ya me gustaría estar más on, pero cuestiones laborales me lo impiden. A ver si ahora tengo unos días tranquilos y puedo pasarme más a menudo por estos lares :)

Nos leemos

  • 0




IP.Board spam blocked by CleanTalk.