Delphi 如何向克隆的TClientDataset添加字段
我有Delphi 如何向克隆的TClientDataset添加字段,delphi,clone,dbexpress,tclientdataset,Delphi,Clone,Dbexpress,Tclientdataset,我有 ClientDataSet1>DataSetProvider1>SqlDataSet1>sql=select*from customer 我在设计时添加所有字段 然后复制ClientDataSet1并将其重命名为ClientDataSet2 在DataModule创建事件时,我克隆光标 ClientDataset2.CloneCursor(ClientDataset1, True); 因此,克隆的数据集现在在cds1中定义了所有持久性字段 根据这篇文章的答案 我试图向克隆的数据集添加额外
ClientDataSet1>DataSetProvider1>SqlDataSet1>sql=select*from customer
我在设计时添加所有字段
然后复制ClientDataSet1并将其重命名为ClientDataSet2
在DataModule创建事件时,我克隆光标
ClientDataset2.CloneCursor(ClientDataset1, True);
因此,克隆的数据集现在在cds1中定义了所有持久性字段
根据这篇文章的答案
我试图向克隆的数据集添加额外的字段InternalCalc/LookupField
在设计时,但在执行“未找到字段”时出错
我的问题是,添加中不存在的额外字段的正确方法是什么
将数据库中的主数据集或复制到克隆的TClientDataSet
thank's…我试图在设计时向克隆的数据集添加额外的字段InternalCalc/LookupField,但在设计时它尚未克隆;您可以在运行时克隆它。是的,在设计时,当我打开cds2错误发生时,我会从提供程序标志中删除pfInWhere/pfInUpdate。要向克隆的数据集添加字段,您需要首先克隆它,因为克隆会清除任何当前字段定义。这意味着您必须在运行时添加计算字段和查找字段,在克隆之后。好的,谢谢的TOndrej。你能提供更多关于克隆的解释吗?清除任何当前字段定义我还没有得到它。我可以迭代在设计时定义的字段,没有任何问题。还可以使用数据感知组件将其绑定。数据集从源数据集中接管字段定义。在克隆之前为目标数据集定义的字段将被丢弃。