我想写一个现有的.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
答案 0 :(得分:4)
你不应该自己写作。那是作家为你做的。您只需控制Mode属性和Options TFDBatchMove选项集的清除选项,即可指示引擎作者应该执行的操作。根据您的说法,您似乎对 dmAlwaysInsert 模式(默认设置)感兴趣并保持 poClearDest 和 poClearDestNoUndo 选项不包含在选项集(也是默认值)。
或者换句话说,默认情况下,FireDAC会将没有检查的数据附加到目的地,因此您所描述的问题可能是通过修改一些上述设置(或者您只是错误地识别问题)而发生的。