Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   busqueda sql like (https://www.clubdelphi.com/foros/showthread.php?t=49900)

douglas 02-11-2007 20:13:43

busqueda sql like
 
buenas chicos, perdon por seguir molestando aqui, mi duda es ahora, bueno se usar like, y me estrucutre el siguiente codigo
Código Delphi [-]
procedure TForm7.Button1Click(Sender: TObject);

begin
     adoquery1.Close;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.Open;
     adoquery1.SQL.Add(' where descripcion like %cosa%');
     adoquery1.Parameters.ParamByName('cosa').Value:=edit1.Text;
end;

supuestamente para que me busque lo que diga en el edit1, pero no me funciona, me tira un error, de ea acess violation. perdon de antemano les agradezco todo tipo de ayudita

Caral 02-11-2007 20:17:16

Hola
Y asi?
Código Delphi [-]
procedure TForm7.Button1Click(Sender: TObject);

begin
     adoquery1.Close;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.Open;
     adoquery1.SQL.Add(' where descripcion like :cosa');
     adoquery1.Parameters.ParamByName('cosa').Value:=edit1.Text;
end;
Saludos

Caral 02-11-2007 20:22:01

Hola
Perdon, esta rapidez cuesta.
hay otro error.
Código Delphi [-]
procedure TForm7.Button1Click(Sender: TObject);

begin
     adoquery1.Close;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.SQL.Add(' where descripcion like :cosa');
     adoquery1.Open;
     adoquery1.Parameters.ParamByName('cosa').Value:=edit1.Text;
end;
Saludos

enecumene 02-11-2007 20:25:12

Hola Caral, no crees que el parambyname debe ir antes del open? digo eso creo yo.:)

Saludos

douglas 02-11-2007 20:32:50

perdon pero me da un error de expresion de la consulta like
y me dice select * from merca

Caral 02-11-2007 20:33:54

Hola
Hoy estas quisquilloso.:D:D y ademas me pisas los talones:D;)
Amigo, da igual, Delphi lo entiende antes o despues, Pruebalo y veras, es curioso, pero asi es.:)
Saludos

enecumene 02-11-2007 20:35:03

Cita:

Empezado por Caral (Mensaje 243095)
Hola
Hoy estas quisquilloso.:D:D y ademas me pisas los talones:D;)
Amigo, da igual, Delphi lo entiende antes o despues, Pruebalo y veras, es curioso, pero asi es.:)
Saludos

Mis Disculpas:D:D

Caral 02-11-2007 20:37:12

Hola
Perdona pero hoy estoy muy lento.
Por supuesto que te va a dar error.
Como pretendes que todo el contenido sea igual al edit.
Código Delphi [-]
Select * from
Lo logico es que sea igual a un campo:
Código Delphi [-]
Select TuCampo From TuTabla
No se, me imagino, verdad?
Saludos

enecumene 02-11-2007 20:37:12

Cita:

Empezado por douglas (Mensaje 243094)
perdon pero me da un error de expresion de la consulta like
y me dice select * from merca

podrias especificar un poco mas cual es el error, o sea, copia y pega aqui el error que te da.

SAludos.

enecumene 02-11-2007 20:38:54

Cita:

Empezado por Caral (Mensaje 243097)
Hola
Perdona pero hoy estoy muy lento.

Diantres lento donde? estas como flash!!!:D:D:D

Caral 02-11-2007 20:40:04

Hola
Para nada amigo, es una broma lo de quisquilloso:), lo que analizaste es totalmente logico, en algun momento se debatió ese mismo punto en un hilo.
Saludos

douglas 02-11-2007 20:45:27

este es el codigo que tengo, ahora no me da el error pero no me funciona no me muiestra nada, ademas tomando en cuenta lo que comento caral, que el select * from merca no esta mal, si se lo quitamos solamente mostrar en el grid el campo descripcion, lo acabo de comprobar, el codigo es este, pero igual y el grid solamente carga el nombre de los campos, pero no lo almacenado.
Código Delphi [-]
procedure TForm6.Button2Click(Sender: TObject);
begin

     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add('select descripcion from merca ');
     adoquery1.SQL.Add(' where descripcion like :cosa');
     adoquery1.Open;
     adoquery1.Parameters.ParamByName('cosa').Value:=edit1.Text;
end;

ahora si le dejamos el select * from merca me muestra todos los campos de la tabla que es lo que necesito, pero igual sin los valores almacenados, el codigo esta asi

Código Delphi [-]
procedure TForm6.Button2Click(Sender: TObject);
begin

     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.SQL.Add(' where descripcion like :cosa');
     adoquery1.Open;
     adoquery1.Parameters.ParamByName('cosa').Value:=edit1.Text;
end;

perdon que los ponga en molestias chicos, pero basicamente lo que necesito es buscar un producto, que que sea locaseinsensitive o algo asi o lopartialkey, como puedo utilizar esto para buscar en mi base de datos.

perdon y gracias de ante mano chicos

Caral 02-11-2007 20:49:40

Hola
Cortemos esto y probemos otra vez.
Código Delphi [-]
procedure TForm6.Button2Click(Sender: TObject);
begin

     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.SQL.Add(' where descripcion like' + Edit1.text);
     adoquery1.Open;
end;
A ver que pasa.
Saludos

Caral 02-11-2007 20:51:53

Hola
Voy a comentar algo adicional, que me parece interesante.
Value= descripcion?
Normalmente la descripcion es String
Osea:
AsString en vez de value.
No se, digo yo.
Saludos

enecumene 02-11-2007 20:52:05

Muy buena opcion Caral.

douglas 02-11-2007 20:56:38

[IMG]file:///C:/DOCUME%7E1/douglas/CONFIG%7E1/Temp/moz-screenshot-1.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/douglas/CONFIG%7E1/Temp/moz-screenshot-2.jpg[/IMG]me da el siguiente erro con ese codigo

error de sintaxis (falta operador) en la expresionta de consultas liketintas,
al menos la palabra tintas salio del edit1.text que fue la palabra que escribir en el edit

enecumene 02-11-2007 20:57:50

Código Delphi [-]
procedure TForm6.Button2Click(Sender: TObject);
begin

     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.SQL.Add(' where descripcion like '+Quotedstr(Edit1.text)+';
     adoquery1.Open;
end;

douglas 02-11-2007 20:59:31

el valor tintas no tiene parametros predeterminados es otro error con el codigo asi

Código Delphi [-]
procedure TForm6.Button2Click(Sender: TObject);
begin

     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.SQL.Add(' where descripcion like ' + Edit1.text);
     adoquery1.Open;
end;

Caral 02-11-2007 21:01:58

Hola
Access, como me gusta, te pone interesantes retos.
Cita:

error de sintaxis (falta operador)
Código Delphi [-]
procedure TForm6.Button2Click(Sender: TObject);
begin

     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Add('select * from merca ');
     adoquery1.SQL.Add(' where descripcion like '''+Edit1.Text+ '''');
     adoquery1.Open;
end;
Saludos

douglas 02-11-2007 21:03:19

perdon chicos, me muestra los campos, pero no me muestra lo valores que deberian estar en los campos, que puedo hacer chicos, perdon la insistencia


La franja horaria es GMT +2. Ahora son las 23:11:16.

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