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)
-   -   Se puede realizar una consulta a un ClientDataset ? (https://www.clubdelphi.com/foros/showthread.php?t=74935)

oscarac 19-07-2011 16:04:56

Se puede realizar una consulta a un ClientDataset ?
 
tengo un ClientDataSet, donde almaceno datos (como cuando se ingresa una factura o un asiento contable) y recien los paso a la base de datos cuando presiono en el boton que dice Grabar

pero mientras voy agregando informacion, necesito ir sumando los campos que se deban sumar (ejemplo -> Totales)

lo que hago ahora es recorrer la tabla desde el principio hasta el final, cuando son pocos registros, casi ni se nota, pero cuando hablamos de muchos registros, hay un tiempo de espera

habria la posibilidad de ejecutar una consulta sobre este ClienteDataSet

Código SQL [-]
 
Select Sum (Total) from.........

o existe alguna otra forma?

gracias

cecam 19-07-2011 17:11:45

Mirate los aggregate de un clientdataset, permiten sum, avg, count, max y min . . .

Código:

function aggregateCDS(cds:TClientDataSet; const expression:string; const valorPorDefecto:currency):currency;
var
  agg:TAggregate;
begin
  agg:=TAggregate.Create(cds.Aggregates,cds);
  agg.Expression:=expression;
  agg.Active:=True;
  if  not VarIsNull(agg.Value)
  then Result:=agg.Value
  else Result:=valorPorDefecte;
  agg.Free;
end;

Saludos!

oscarac 19-07-2011 17:36:31

justo revisando en Delphi al Limite encontre la solucion y es como tu mencionas cecam
gracias


La franja horaria es GMT +2. Ahora son las 11:13: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