FDMemTable三层提交数据总是不成功的原因

提交数据的代码如下:

procedure TForm1.btnSaveClick(Sender: TObject);
var
LDeltas: TFDJSONDeltas;
begin
if FDMemTable1.State in dsEditModes then
FDMemTable1.Post
else
Exit;
LDeltas := TFDJSONDeltas.Create;
TFDJSONDeltasWriter.ListAdd(LDeltas, '1', FDMemTable1);
if svrMethods.SaveData2('0', 't1', LDeltas) then
ShowMessage('save ok')
else
ShowMessage('save fail');
end;

BUG现象:不论是WIN32,WIN64桌面程序,还是安卓APP程序,每次都提示'save ok',DEBUG中间件方法代码无任何任何异常抛出,但一刷新就发现其实根本没有提交成功。

有2个原因需要注意:

1)FDMemTable1.CachedUpdates := True; 此属性必须设为为TRUE,否则提交必会失败。

2)3个数据序列的单元必须被引用FireDAC.Stan.StorageJSON, FireDAC.Stan.StorageXML,FireDAC.Stan.StorageBin。

原文地址:https://www.cnblogs.com/hnxxcxg/p/5662393.html