Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Corregir este codigo (https://www.clubdelphi.com/foros/showthread.php?t=65961)

aanil 24-01-2010 21:52:02

Corregir este codigo
 
Hola a todo,

Por favor ayudarme a corregir esta linea, ya que lo que pretendo es hacer una búsqueda parcial, o sea en una lista de nombre si escribo Antonio, que aparezcan todos sin importar el apellido o apellidos.

Este es mi linea, y con la posicion de los apostrofes o comilla simple es que creo que esta el problema/

Código SQL [-]
sql.Add('where nombres like % '+QUOTEDSTR(edit1.Text) );

Gracias.

marcoszorrilla 24-01-2010 21:55:15

Cita:

Empezado por aanil (Mensaje 351726)
Hola a todo,

Por favor ayudarme a corregir esta linea, ya que lo que pretendo es hacer una búsqueda parcial, o sea en una lista de nombre si escribo Antonio, que aparezcan todos sin importar el apellido o apellidos.

Este es mi linea, y con la posicion de los apostrofes o comilla simple es que creo que esta el problema/

Código SQL [-]
sql.Add('where nombres like % '+QUOTEDSTR(edit1.Text)+'%' );

Gracias.

Un Saludo.

aanil 24-01-2010 23:11:56

Hola Marcos

Copie y pegue el código que me proporciona y sigue dando el error de sintaxis que dice:

Error de Sintaxis en la expresión de consulta 'nombres like %' antonio'%'

A ver que es lo que pasa.

Gracias

toni.vi 24-01-2010 23:31:58

Código SQL [-]
sql.Add('where nombres like ' + QuotedStr('%' + (edQuery.Text) + '%');
Pero te recomiendo:
Código SQL [-]
sql.Add('where upper(nombres) like ' + QuotedStr('%' + uppercase(edQuery.Text) + '%');

aanil 24-01-2010 23:52:00

Gracias TONI.VI

Tu código final lo adapte a mi necesidad, pero veo que estaba en la colocación de '%'.

De nuevo las gracias.

AAnil

martita 25-01-2010 17:50:18

es mejor usar parametros
 
Hola Aanil, te recomiendo mejor usar parametros en las
sentencias de sql. checate este codigo

MiQry.Close;
MiQry.SQL.Clear;
MiQry.SQL.Add('Select * From Mitable where Micampo=:parametro');

MiQry.SQL.Parambyname('parametro').asstring:=variable1;
MiQry.Open;

es una forma mas ordenada y mas segura de trabajar con querys
te ahorraras tiempo y dolores de cabeza.
Saludos. :D

martita 25-01-2010 17:52:16

correccion
 
perdon en mi respuesta anterior puse = : P pero visualmente aparecio
una carita no se por que pero bueno, aqui te paso de nuevo el codigo

MiQry.Close;
MiQry.SQL.Clear;
MiQry.SQL.Add('Select * From Mitable where Micampo = : parametro');
MiQry.SQL.Parambyname('parametro').asstring:=variable1;

MiQry.Open;

Saludos

aanil 01-02-2010 22:16:07

Hola Martita.

Quisiera que me indicara un link o donde se puede encontrar un documento bien didáctico o sea paso a paso, para aprender a usar parámetros con ADOQuery en Delphi 7.

He visto muchos ejemplos en la red, pero no logro entenderlos bien y como aplicarlos.

Otra cosa quiero darte las gracias por la ayuda.

AAnil

República Dominicana


La franja horaria es GMT +2. Ahora son las 18:43:33.

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