我有一个自定义表,我正在尝试将数据导入其中。导入我的临时表时,我得到 3 条单独的记录。从暂存导入到目标时,它将创建 1 条记录(如果没有记录),然后“更新”该记录两次。如果目标中已有记录,它将更新该记录 3 次。
我相当确定这与此表(目标)是自定义表有关,但是,我无法弄清楚为什么记录总是更新。它们是独一无二的记录。
我有一个自定义表,我正在尝试将数据导入其中。导入我的临时表时,我得到 3 条单独的记录。从暂存导入到目标时,它将创建 1 条记录(如果没有记录),然后“更新”该记录两次。如果目标中已有记录,它将更新该记录 3 次。
我相当确定这与此表(目标)是自定义表有关,但是,我无法弄清楚为什么记录总是更新。它们是独一无二的记录。
我需要暂存表和目标表之间的关系。设置正确的关系后,一切正常。
我可以使用 TableMain 实体类中的 InsertUpdate 方法来解决它。在 insertupdate 方法中检查目标缓冲区中的值并查看 TableMain 中是否存在记录。如果是,则将 callinsertlogic 修改为 false,否则将其设为 true。
表主表主;
select RecId from tableMain where tableMain .Field1 == target.fiedl1
if(tablemain.recid) Callinsertlogic = false; else callinsertlogic = true;
然后调用超级方法ret = super( ..,callinsertlogic,..)
。
使用这种方式,如果记录是新的,我可以插入,如果现有记录则更新,而无需在 tablemain 中添加索引。