Ir al contenido


Foto

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


  • Por favor identifícate para responder
4 respuestas en este tema

#1 Master23

Master23

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 230 mensajes
  • LocationSanto Domingo

Escrito 24 julio 2010 - 01:55

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
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 24 julio 2010 - 01:59

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 mensajes
  • LocationEspaña

Escrito 26 julio 2010 - 09:15

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
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 26 julio 2010 - 05:35

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 mensajes
  • LocationEspaña

Escrito 27 julio 2010 - 01:35

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.