如何使用 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 模式(默认)感兴趣并保持 poClearDest 和 poClearDestNoUndo 选项未包含在选项集中(这也是默认设置)。
或者换句话说,默认情况下,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 模式(默认)感兴趣并保持 poClearDest 和 poClearDestNoUndo 选项未包含在选项集中(这也是默认设置)。
或者换句话说,默认情况下,FireDAC 会将没有检查的数据附加到目的地,因此您所描述的问题可能是通过修改某些提到的设置而发生的(或者,您只是错误地识别了问题)。