如何使用 FireDAC 附加到现有文件

How to append to an existing file using FireDAC

我想写入现有的 .csv 文件,而不是在每次运行时都创建一个新文件。这是我到目前为止的代码。

with TFDBatchMoveDataSetReader.Create(FDBatchMove) do begin
      DataSet:= Inventory.mInventoryCount;
      Optimise:= False;
    end;
    with TFDBatchMoveTextWriter.Create(FDBatchMove) do
    AssignFile(myFile, 'C:\Dataout.csv');
    //FileName:= ExtractFilePath('C:\') + 'DataOut.csv';
    Append(myfile);
    FDBatchMove.Execute

你不应该自己写。这就是作家为你所做的。你只需要控制 Mode property and the clear options of the Options option set of the TFDBatchMove 来指示引擎作者应该做什么。从你所说的听起来你对 dmAlwaysInsert 模式(默认)感兴趣并保持 poClearDestpoClearDestNoUndo 选项未包含在选项集中(这也是默认设置)。

或者换句话说,默认情况下,FireDAC 会将没有检查的数据附加到目的地,因此您所描述的问题可能是通过修改某些提到的设置而发生的(或者,您只是错误地识别了问题)。