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)
-   -   Problemas con Filter y ADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=56282)

martinc5 13-05-2008 16:08:23

Problemas con Filter y ADOQuery
 
Hola gente... saben q tengo problemas con el filter cuando utilizo el componente ADO cuando usaba el BDE no lo tenia tal vez me falte habilitar alguna opción en el componente...
Estoy trabajando con ADOQuery y SQLServer
Les muestro el código, la consulta está bien xq la muestro en un dbgrid.

Código Delphi [-]
 with Qclientes do
    begin
      if Ebusca.Text<> '' then
      begin Filtered:=false;
           if buscarpor=1 then  Filter:='apenomc ='+Quotedstr(Ebusca.Text+'*');
           if buscarpor=2 then  Filter:='dom ='+Quotedstr(Ebusca.Text+'*');
           if buscarpor=3 then  Filter:='idempc ='+Quotedstr(Ebusca.Text);
           if buscarpor=4 then  Filter:='codzona ='+Quotedstr(Ebusca.Text);
           if buscarpor=5 then  Filter:='cuit ='+Quotedstr(Ebusca.Text+'*');
             Filtered:=true;
      end else
        begin  Filtered:=false; Filter:=''; Filtered:=true;  end;
    end;

Esta misma sintáxis use con BDE y funcionaba muy bien pero con ADO no. :(

Desde ya, muchas gracias este foro siempre me ha ayudado bastante.

Saludos :cool:

martinc5 13-05-2008 17:42:08

Hola de nuevo voy a proceder a corregirme... La verdad que era un detalle insignificante y que hace perder mucho tiempo jejeje ;)
esta sería la forma correcta de hacerlo:
Código Delphi [-]
with Qclientes do
    begin
      if Ebusca.Text<> '' then
      begin Filtered:=false;
           if buscarpor=1 then  Filter:='apenomc LIKE '+Quotedstr(Ebusca.Text+'*');
           if buscarpor=2 then  Filter:='dom LIKE '+Quotedstr(Ebusca.Text+'*');
           if buscarpor=3 then  Filter:='idempc ='+Ebusca.Text;
           if buscarpor=4 then  Filter:='codzona ='+Ebusca.Text;
           if buscarpor=5 then  Filter:='cuit LIKE '+Quotedstr(Ebusca.Text+'*');
             Filtered:=true;
      end else
        begin  Filtered:=false; Filter:=''; Filtered:=true;  end;
    end;

El problemita era el LIKE, toma como si fuera una consulta SQL.

Saludos :D


La franja horaria es GMT +2. Ahora son las 16:20:36.

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