首页 > 解决方案 > Firedac - Datasnap + FDMemtable + fkInternalCalc

问题描述

我在将这些字段fkInternalCalc从 TClientDataSet 迁移到 TFDMemtable 时遇到了一些问题。

我们使用这些字段在内存时间内操作数据,但这些字段不能持久化。我的意思是,这些字段“fkInternalCalc”非常有用。

我们有一个应用程序数据快照,我们创建了一种通用方法来从服务器恢复“TFDJSONDataSets”

procedure TProxyExec.Open(const DataSet: TFDMemTable; Query: String;
const TipoSever: TipoServerDB);
var
   Dados: TFDJSONDataSets;
begin
   try
      GetDataSet(Query,Dados,TipoSever);
      DataSet.Close;
      DataSet.AppendData(TFDJSONDataSetsReader.GetListValue(Dados,0));
   finally
      FreeAndNil(Dados);
   end;
end;

当数据集没有字段 fkInternalCalc 时一切正常,但是当它出现配置为 fkI​​nternalCalc 的字段时,休斯顿我们有问题哈哈哈

当我执行下面的指令时;

DataSet.AppendData(TFDJSONDataSetsReader.GetListValue(Dados,0));

它出现以下错误;图像

调试器异常通知 Programa.exe 引发异常 dass EFDException,并带有消息 IFireDAC] [DatS]-38。当表有行时,无法更改表 [fdmTabela] 结构。

我使用 .dcus 选项进行了调试,但是找不到解决方案。有人可以帮助我吗?

我们目前正在使用 XE7 - Update1

此致!

标签: delphifiredacfdmemtable

解决方案


推荐阅读