比如说:
在工资表中有如下字段;
id   姓名  机件   养老保险  所得工资
1    xxx    560   20        540
2    kkk    678   32       646
当我在DBGrid中修改32-〉34 时候  所的工资会自动计算出更新后的值为 644
所得工资是通过查询计算所得的值;
请教阁下如何解决?

解决方案 »

  1.   

    最好的办法是在数据库端通过触发器来实现,而不是通过程序shixian这样可以最好的处理业务逻辑
      

  2.   

    你可以在数据集的state状态变化的事件里进行写代码,,实现更新后的新的结果数据
      

  3.   

    TField的OnChange事件
    DataSet.Edit;
    DataSet['所得工资']:=DataSet['机件']-DataSet['养老保险'];
      

  4.   

    所得工资采用计算字段来做。你双击adoquery or adotable or other点击all添加所有的字段进来。右击,new->field
    建一个字段名为所得工资, float类型, 计算字段.
    ok.找到adoquery的计算字段属性。
    写如下代码.
    adoquery1.fieldbyname('所得工资').asfloat:=adoquery1.fieldbyname('机件').asfloat-adoquery.fieldbyname('养老保险').asfloat;