必须要用缓存更新输入数据,又要即时对输入数据进行合计(即是一边输单,下面显示合计)。该怎样做?

解决方案 »

  1.   

    1 缓存更新
    with ADODataSet1 do begin
      CursorLocation := clUseClient;
      CursorType := ctStatic;
      LockType := ltBatchOptimistic;
      CommandType := cmdText;
      CommandText := 'SELECT * FROM Employee';
      Open;
    end;
    ADODataSet1.UpdateBatch(arAll);
    2 进行合计,在OnChange中
    i:=0;
    with ADODataSet1 do begin
    First;
    while not EOF do begin
    i:=i+fields[n].asinteger;
    Next;
    end;
    end;
    label1.caption:=IntToStr(i);
      

  2.   

    可以在beforepost事件
    用Sql语句进行合计
      

  3.   

    缓存更新 将LockType设为ltBatchOptimistic;然后用updateBatch更新,用CancelBatch取消
      

  4.   

    用clientdataset实现缓存
    添加一个aggregate字段total
    expression:='sum(字段名)‘
    active:=true;
    用一dblabel指向该字段就行了
      

  5.   

    同意 yesxwl(吴宫幽径) 的说法