使用ADODataSet从数据库中取到了数据,如何进行二次加工,比如再增加一列数据,该列数据不存在于数据库中,或者再增加几行记录,最后再将加工后的数据通过DataSource显示到DBGrid或其他控件中。

解决方案 »

  1.   

    传输到本地数据集吧,比如:TClientdataSet,那里想怎么处理就怎么处理。
    我经常这么干。
    不过用了TClientdataset,客户端发布的时候就需要带 midas.dll链接库,所以在单元文件uses MidasLib就可以静态链接进去,发布就方便点啦
      

  2.   

    增加记录:
          ADataSet.DisableControls;
          try
            ADataSet.Edit;
            ADataSet.FieldByName('xxx').Value := xxx;
            ADataSet.Post;
          finally
            ADataSet.EnableControls;
          end;
    ADataSet就是一个ClientDataSet增加列:
    FClientDataSet.FieldDefs.Add(FieldName, DataType, Size);
    可能还需要调用下面一句
      FClientDataSet.CreateDataSet;
      

  3.   


    这到是个好办法。谢谢。如何把ADODataSet传给ClientDataSet呢?
      

  4.   

    如何把数据库数据传给ClientDataSet
      

  5.   

    ADOQuery1.Open;
    DataSetProvider1.DataSet := ADOQuery1;
    ClientDataSet1.Data := DataSetProvider1.Data;