我想把TClientDataSet当作一个内存数据表,怎么设置才能让它可写。!!cdsClient: TClientDataSet;        
with cdsClient do
begin
    FieldDefs.Add('name', ftFixedChar,16,TRUE);
    FieldDefs.Add('sex', ftInteger,0,TRUE);
    CreateDataSet();
end;

解决方案 »

  1.   

    var
       F_CData:TClientDataset;
    begin
        F_CData := TClientDataset.Create(nil);
    F_CData.FieldDefs.Add('产品名称',ftString, 30, False);
    F_CData.FieldDefs.Add('本月实际',ftString, 20, False);
    F_CData.FieldDefs.Add('本季累计',ftString, 20, False);
    F_CData.FieldDefs.Add('本年累计',ftString, 20, False);
    F_CData.CreateDataSet;
    F_CData.Open;     while not AdoDatasetOut.Eof do begin
    F_CData.Append;
    F_CData.Fields[0].AsString := AdoDatasetOut.Fields[0].Value;
    F_CData.Fields[1].AsString := AdoDatasetOut.Fields[1].Value;
    F_CData.Fields[2].AsString := AdoDatasetOut.Fields[2].Value;
    F_CData.Fields[3].AsString := AdoDatasetOut.Fields[3].Value;
    AdoDatasetOut.Next;
         end;
    end;