具体要求是比如我用查询获得了下面的数据:
字段: id  name  a1   a2   a3
      01  一     1    2    3
      02  二     4    5    6
      03  三     7    8    9
      ... ...   ...   ...  ...
我现在需要在上面得到的recordset中添加一个字段aall
它的值为 a1*0.3+a2*0.6+a3*0.4不知道delphi中是否可以实现这样的操作
紧急!  
分一定给!

解决方案 »

  1.   

    cds.FieldDefs.Add('aall', ftInteger, 0, False);
      

  2.   

    楼上试过在active情况下增加字段?
    只能先增加字段,创建数据集,再把数据导近来吧
      

  3.   

    创建一个计算字段就可以了,可以设计期间创建,也可以程序动态大创建。
    我想,和adoquery  应该一样.
    在该字段oncaculate 过程里,写上:
      recordset.fieldbyname('aall').asfloat:=fieldbyname('a1').asinteger * 0.3 
      等,略.
      

  4.   

    楼上,报错:dataset not in edit or insert mode如何修改?
      

  5.   

    加个recordset.edit就可以了噻。
      

  6.   

    sunkevin(愚公) 
    请问是添加在获得数据前还是获得数据后?
      

  7.   

    我的用法是:
    ado.Edit;
    DataSet.FieldDefs.Add('总评', ftInteger, 0, False);//这里的dataset是ado
    adoCalcFields(ado);
    在procedure TForm1.adoCalcFields(DataSet: TDataSet);
    中写下如下代码:
    ado.FieldByName('总评').Value := ado.FieldByName('期中').Value;//为了测试,先显示出来再说结果是告诉我说没有"总评"这个字段.
    不知道是不是方式用错了?