Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   SQL query desde un boton (https://www.clubdelphi.com/foros/showthread.php?t=5212)

Supermagayin 13-11-2003 02:55:25

SQL query desde un boton
 
Hola. Tengo un Edit, un Query y un Boton. quiero utilizar la funcion de busqueda "like" con el contenido de este edit.
Todo esto para realizar una busqueda activada con el boton.

esto se me ocurre, pero ya no se como va la sintaxis.

Query1.SQL.Add('SELECT Nombre');
Query1.SQL.Add('FROM "tablanombre"');
Query1.SQL.Add('where nombre like ?????cadena edit???? ');


Query1.Active:=true;



Alguien Podria echarme una mano....gracias!!!

Ruben_Cu 13-11-2003 05:56:29

Hola Supermagayin, prueba así:
Código:

sql.Add('where usuario like '+''''+edit1.text+'''');
Saludos

roman 13-11-2003 06:13:07

Nada más añadir a lo que te dice Ruben_cu que en algunas bases de datos hay que agregar comodines si deseas que la búsqueda sea parcial, por ejemplo, en Paradox:

Código:

Query1.SQL.Add('where nombre like "%' + Edit.Text + '%"');
// Saludos

sitrico 17-11-2003 20:36:01

Tenía el mismo problema, pero ¿ es posible que la búsqueda no sea sensitiva a las mayúsculas? (loCaseInsensitive)

Citando un ejemplo:

Software = software = SoftWare

Gracias.

roman 17-11-2003 20:54:19

Convirtiendo ambas cadenas a mayúsculas. La mayoría de las bases de datos dispondrán de una función para convertir a mayúsculas. Por ejemplo, en Paradox:

'where upper(nombre) like "%' + UpperCase(Edit.Text) + '%"'

usando el upper de paradox y el uppercase de delphi para la cedena que viene del Edit, o bien

where upper(nombre) like upper("%' + Edit.Text + '%")'

usando el upper de paradox en ambas cadenas.

// Saludos

roman 17-11-2003 21:09:42

Por cierto, para no confundirse con las comillas quizá convenga usar parámetros:

Código:

...
Query1.SQL.Add(
  'where upper(nombre) like upper(:nombre)'
);
...
Query1.ParamByName('nombre').AsString := '%' + Edit1.Text + '%';

// Saludos


La franja horaria es GMT +2. Ahora son las 07:10:54.

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