Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Between y ClientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=53568)

d2nemi 24-02-2008 03:51:44

Between y ClientDataSet
 
Hola a todos.
alguien me puede ayudarme con este filtro

Filtro:='fecha BETWEEN ' + quotedstr(FormatDateTime('yyyy/mm/dd',FechaInicio.DateTime)) + ' and ' + quotedstr(FormatDateTime('yyyy/mm/dd',FechaFin.DateTime));

MD.TBFacturas.Close;
MD.TBFacturas.Filtered:=true;
MD.TBFacturas.Filter:=Filtro;
MD.TBFacturas.Open;

me sale este error
Filter expression incorrectly terminated

Miguel Galarza 25-02-2008 13:00:44

No se que Base estas usando ni tampoco mencionas que componentes de conexion, lo hago de memoria pq estoy en una pc con linux.Yo uso FB con DBE y lo haria asi
Código SQL [-]
md.tbfacturas.Close;
md.tbfacturas.sql.clear;
md.tbfacturas.Sql.add(Select * from md.tbfacturas 
where fecha>=FormatDateTime('mm/dd/yyyy',FechaInicio.DateTime)
and fecha<=FormatDateTime('mm/dd/yyyy',FechaFin.DateTime))
md.tbfacturas.Open;

Delphius 25-02-2008 13:09:35

Hola d2nemi,
No es por ser mal educado, pero si hubieras usado el buscador del foro hubieras llegado a varios hilos en donde se trata el tema.
Por ejemplo estos dos que fueron tratados hace unos pocos días:
link 1
link 2

Saludos,

d2nemi 25-02-2008 13:36:48

Hola Delphius gracias por responte.

Ya estube mirando lo liks, no me vale lo que tiene pq trabajon lo query yo tenho una tabla

d2nemi 25-02-2008 13:38:54

Cita:

Empezado por Miguel Galarza (Mensaje 268410)
No se que Base estas usando ni tampoco mencionas que componentes de conexion, lo hago de memoria pq estoy en una pc con linux.Yo uso FB con DBE y lo haria asi
Código SQL [-]md.tbfacturas.Close;
md.tbfacturas.sql.clear;
md.tbfacturas.Sql.add(Select * from md.tbfacturas
where fecha>=FormatDateTime('mm/dd/yyyy',FechaInicio.DateTime)
and fecha<=FormatDateTime('mm/dd/yyyy',FechaFin.DateTime))
md.tbfacturas.Open;

Gracias Miguel Galarza tengo las tb con FB con los componet IB

d2nemi 25-02-2008 13:44:44

Gracias a todos por responter
 
He tado con la solucion poniendo.

Filtro:='fecha>= ' + FormatDateTime('ddd/mm/yyyy h:m',FechaInicio.DateTime) + ' and fecha<= ' + FormatDateTime('ddd/mm/yyyy h:m',FechaFin.DateTime);

Delphius 25-02-2008 13:48:13

Cita:

Empezado por d2nemi (Mensaje 268412)
Hola Delphius gracias por responte.

Ya estube mirando lo liks, no me vale lo que tiene pq trabajon lo query yo tenho una tabla

Pues efectivamente por eso te comenté sobre los enlances. El uso de las tablas es solamante apropiado cuando se trabajan con pocos registros debido a que el funcionamiento de un TxxTable lo que hace es traer a memoria todo el contenido.

Con Querys sólo traes los necesarios.

Además, el Filter es lento (si lo comparamos con una Query) ya que filtra por el lado del cliente. Si puedes evitarte esto mejor. Es decir que si de antemano ya podemos "filtrar "mucho mejor.

Saludos,

d2nemi 25-02-2008 14:42:26

OK Delphius gracias por el consejo, pero como hago para insertart o actualizar con un query, pq he provado y me parece que no si puede.

Si es haciendo con las sentencias sql Insert/Update me resulta muy compliado con un sistema maestro detalle

Facturas -> Linea_fac

como he dicho antes trabajo con FB y los componete de Intebase

Ivanzinho 25-02-2008 15:32:17

Cita:

Empezado por d2nemi (Mensaje 268421)
OK Delphius gracias por el consejo, pero como hago para insertart o actualizar con un query, pq he provado y me parece que no si puede.

Si es haciendo con las sentencias sql Insert/Update me resulta muy compliado con un sistema maestro detalle

Facturas -> Linea_fac

como he dicho antes trabajo con FB y los componete de Intebase

Podrías utilizar los componentes IBDataSet. Los IBQuery y los IBTable existen para la compatibilidad con los componentes BDE, pero en nuevos proyecto te aconsejaría que no los utilizases.

Un saúdo.

d2nemi 25-02-2008 17:38:15

Cita:

Empezado por Ivanzinho (Mensaje 268433)
Podrías utilizar los componentes IBDataSet. Los IBQuery y los IBTable existen para la compatibilidad con los componentes BDE, pero en nuevos proyecto te aconsejaría que no los utilizases.

Un saúdo.

Hola Ivanzinho

y cual son lo mejores componente para trabajo con FB 2.x

Ivanzinho 26-02-2008 09:21:00

Yo actualmente estoy utilizando los componentes de la paleta InterBase y me va muy bien con ellos. Pero existen muchas otras posibilidades algunas de las cuales he probado, como FibPlus y MDO, ambas muy pareciadas a los IBX tanto en uso como en rendimiento. La razón de elegir los primeros fue que los FibPlus son de pago y no veía necesario el desembolso económico, puesto que el rendimiento era similar y la programación también. Los MDO no me convencieron porque llevan dos años sin actualizaciones.

A parte de los comentados tienes muchas otras alternativas sobre las cuales puedes buscar información tanto en este foro como en internet. Algunos de ellos son IBExpert, IBO, Zeos, ...

Espero que te sirva de guía y lamento no poder ayudarte más.

Un saúdo.


La franja horaria es GMT +2. Ahora son las 00:17:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi