sql 语句是可以直接做算术运算的

解决方案 »

  1.   

    brokensun (2000-5-20 23:40:00)  
    一般显示都是用TQuery类实现,所以组合TDBGrid类,达到你的要求确实就很简单了,象这样:
    1.Q='select 物品名称,单价,数量..... from your_table '
    2.Q='select 物品名称,单价,数量,......,单价*数量 as Total  from your_table '
    3.类似
    TQuery.SQL.Add(Q)可改变查询结果,因为TDBGrid可随你的TQuery的变化而变化,所以你看,就是这么简单。
     
      

  2.   

    可以在设计时添加一个计算字段total!然后 在table的oncalcfields事件里面写
    procedure TForm1.table1CalcFields(DataSet: TDataSet);
    begin
      with table1 do
      begin
        fieldbyname('total').asfloat:=fieldbyname('num').asfloat*fieldbyname('price').asfloat;
      end;
    end;或者用楼上的办法,用Query的sql语句直接生成计算字段!
      
      

  3.   

    至于动态生成计算字段,你可以参考
    http://www.csdn.net/expert/topic/516/516434.xml?temp=.68948
    不过
    fieldkind:=fkCalculated;
      

  4.   

    forgot2000(忘记2000年)的方法能行。
      

  5.   

    楼上的方法我知道,我是情况是:我用table1来对数据库进行添加删除等操作,同时我还想用这个数据集进行报表输出,报表里面涉及到了我说的那个计算字段。
    开始,我是在设计时期给加了一个total的计算字段,在ncalcfields事件里计算。可是,这样以来,就不能对该表进行添加记录的操作了,因为这时候一添加,便会出发ncalcfields事件。这样以来,计算和对表的操作产生了冲突,不能同时操作,所以,我想用一个动态的计算字段了解决。请问个位前辈们,我该如何解决?
      

  6.   

    楼上的方法我知道,我是情况是:我用table1来对数据库进行添加删除等操作,同时我还想用这个数据集进行报表输出,报表里面涉及到了我说的那个计算字段。
    开始,我是在设计时期给加了一个total的计算字段,在ncalcfields事件里计算。可是,这样以来,就不能对该表进行添加记录的操作了,因为这时候一添加,便会出发ncalcfields事件。这样以来,计算和对表的操作产生了冲突,不能同时操作,所以,我想用一个动态的计算字段了解决。请问个位前辈们,我该如何解决?
      

  7.   

    楼上的方法我知道,我是情况是:我用table1来对数据库进行添加删除等操作,同时我还想用这个数据集进行报表输出,报表里面涉及到了我说的那个计算字段。
    开始,我是在设计时期给加了一个total的计算字段,在ncalcfields事件里计算。可是,这样以来,就不能对该表进行添加记录的操作了,因为这时候一添加,便会出发ncalcfields事件。这样以来,计算和对表的操作产生了冲突,不能同时操作,所以,我想用一个动态的计算字段了解决。请问个位前辈们,我该如何解决?