Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta select con % (https://www.clubdelphi.com/foros/showthread.php?t=34694)

Lepe 09-02-2007 16:25:41

Pues creo que se ha colado un error por ahí. Imaginemos que el campo en la base de datos se llama NOMBRE (escrito en mayúsculas).

Lowercase es una función de delphi, por tanto, la sql final sería:
Código SQL [-]
Select * from agenda where nombre  like 'pepe%'
Lo que ha hecho lowercase es pasar a minúsculas el nombre del campo, pero eso es lo de menos, SQL no es sensible a mayúsculas y minúsculas, así que... ni siquiera tiene sentido hacer el "Lowercase(campo)".

Si un cliente se llama PEPE (en mayúsculas) no será capaz de encontrarlo.

Lo que debemos usar es "Lower", función propia de SQL
La consulta debe ser:
Código Delphi [-]
query1.sql.text:= 'Select * from agenda where Lower(' + campo+ ')  like ' +QuotedStr(TXTbusca.text + '%');

El SQL de un ejemplo quedará:
Código SQL [-]
Select * from agenda where lower(nombre)  like 'pepe%'

Para que ahora si, por cada registro que encuentra, primero pasa a minúsculas el nombre del cliente y después lo compara con "like pepe% " dando las coincidencias que buscamos.

Saludos

Lepe 09-02-2007 16:30:43

Cita:

Empezado por edelphi
esta consulta no me corre no se por que de seguro la posicion de los apostrofes esta mal por favor diganme como es la posicion correcta

¿Veís? ¿veís? por eso es mejor usar QuotedStr :D :D :D

No he podido resistirme :p

Saludos

edelphi 07-05-2007 21:03:25

holas una consulta lo que deseo es hacer un query algo as masomenos
Código Delphi [-]
  MD.ADOfut.SQL.Text:='Select * from Futs where Fecha like'''+DateToStr(DateTimePicker1.date)+'and IDfut'''+Edit1.text+'''';
se trata de una consulta doble en la cual selecciono los campos escogidos en una fech y por un IDfut escrito en el edit1

espero me puedan ayudar

ContraVeneno 07-05-2007 21:15:44

Código Delphi [-]
With MD.ADOfut do begin
 if active then close;
 SQL.Clear;
 SQL.Add('Select *');
 SQl.Add('From Futs');
 SQL.Add('where fecha = :Fecha');
 SQL.Add('and IDFut= :IDFut');
 Parameters.ParamByname('Fecha').AsDateTime:=DateTimePicker1.DateTime;
 Parameters.ParamByName('IDFut').AsString:=Edit1.Text;
 Open;
 .....
 ....
end; //with


La franja horaria es GMT +2. Ahora son las 09:33:12.

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