两个按纽、,一个是查询
with adoquery do
  begin
    Close;
    Parameters.ParamByName('Date1').Value:=StrTodate(FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date));
    Parameters.ParamByName('Date2').Value:=StrTodate(FormatDateTime('yyyy-mm-dd',DateTimePicker2.Date));
    Open;
  end;(select a.ProductCode,a.ProductName,b.SmallStorage,sum(a.SaleAmount) sumAmount
from  saleproductmx a,Product b
where a.Saledate>=:Date1 and a.Saledate<=:Date2 and a.ProductCode=b.ProductCode
group by a.ProductCode,a.ProductName,b.SmallStorage)另一个是更新查询出来的结果,要更新b.SmallStorage=sum(a.SaleAmount) sumAmount
CLICK事件如何写呢?

解决方案 »

  1.   

    在存储过程里搞定啊。
    declare @sumAmount  float(select a.ProductCode,a.ProductName,b.SmallStorage, @sumAmount=sum(a.SaleAmount) 
    from  saleproductmx a,Product b
    where a.Saledate>=:Date1 and a.Saledate<=:Date2 and a.ProductCode=b.ProductCode
    group by a.ProductCode,a.ProductName,b.SmallStorage)Update Product Set SaleAmount = @sumAmount where ProductCode = .....
    你的条件就行了。
      

  2.   

    如果在程序中搞定你先把查询出的结果放出一个变量中

    var
      sum  : double;
     sum  := dataset.commandtext.fieldbyname('sumAmount').asfloat;
    commandtext:='update Product Set SaleAmount = sum where 条件  '这样就行了
      

  3.   

    update ProductName set SmallStorage=C.sumAmount from (select sumAmount from((select a.ProductCode,a.ProductName,b.SmallStorage,sum(a.SaleAmount) sumAmount
    from saleproductmx a,Product b
    where a.Saledate>=:Date1 and a.Saledate<=:Date2 and a.ProductCode=b.ProductCode
    group by a.ProductCode,a.ProductName,b.SmallStorage)))C  where 加条件