问题描述
我要做什么
我有一些记录的JSON文件。我想用这些记录更新一个MysqL表(相同的结构)。基本上是单向同步。
我了解这里可能有多种方法。我正在寻找的是一种我可以将尽可能多的过程留给FireDAC的过程。为简单起见,我想避免使用sql语句,遍历记录或使用文字字段名称等。
(这是一个 Delphi 10.4 控制台应用程序)
我尝试过但无法正常工作
我尝试使用TFDQuery加载整个MysqL表,然后使用LoadFromFile()
合并结果数据集:
fdQuery := TFDQuery.Create(nil);
fdQuery.Connection := fdConnection;
fdQuery.Open('SELECT * FROM MysqLtable');
fdQuery.ResourceOptions.StoreMergeData := dmDataMerge;
fdQuery.LoadFromFile('C:\localfile\myjson.json');
到目前为止看起来不错。如果我查看数据集的内容...
fdQuery.First();
repeat
WriteLn(fdQuery.GetRow().DumpRow(False));
fdQuery.Next();
until fdQuery.EoF;
问题是,我无法将此“状态”返回到MysqL表中。看来我无法调用Post()
或ApplyUpdates()
等,并且在关闭fdQuery
时,从JSON文件添加或修改的任何内容都将被丢弃。
我的问题是:我在这种方法上做错了什么?我想我可以改用TfdbatchMove
,但我想了解是否可以或如何使上述方法起作用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)