with  ClientDataSet1  do
 begin
 insert;
 FieldByName('Year').AsInteger:=2010;
 FieldByName('Month').AsInteger:=2;
 FieldByName('Day').AsInteger:=20;
 post;
 end;这样的语句可以把数据插入内存中,但不能将数据写入XML文件中,若加入下列语句:
ClientDataSet1.SaveToFile;
插入数据时会出现错误提示。

解决方案 »

  1.   

    试试我的方法:
    var 
      MemStream : TStream;
      FileName : String;
           .
           .  
           .
      MemStream := TMemoryStream.create;
      try
        ClientDataset1.SavetoStream(Mem);
        MemStream.position := 0;
        memStream.saveToFile(FileName,--XML);
      finally
        memStram.free;
      end;
    其中那个MemStream的Save方法第二个参数不知道是什么XML来着,我忘记了,你自己查查。
      

  2.   

    看我的代码,几句写错了好多,在写一次:
    var 
      MemStream : TStream; 
      FileName : String; 
          . 
          .  
          . 
      MemStream := TMemoryStream.create; 
      try 
        ClientDataset1.SavetoStream(MemStream); 
        MemStream.position := 0; 
        memStream.saveToFile(FileName,--XML); 
      finally 
        memStram.free; 
      end;  不一定能运行通过,只是给你个思路,供参考
      

  3.   

    var 
      MemStream : TStream; 
      FileName : String; 
          . 
          .  
          . 
      MemStream := TMemoryStream.create; 
      try 
        ClientDataset1.SavetoStream(MemStream); 
        MemStream.position := 0; 
        memStream.saveToFile(FileName,--XML); 
      finally 
        memStram.free; 
      end;