1

我有一个自定义表,我正在尝试将数据导入其中。导入我的临时表时,我得到 3 条单独的记录。从暂存导入到目标时,它将创建 1 条记录(如果没有记录),然后“更新”该记录两次。如果目标中已有记录,它将更新该记录 3 次。

我相当确定这与此表(目标)是自定义表有关,但是,我无法弄清楚为什么记录总是更新。它们是独一无二的记录。

4

2 回答 2

0

我需要暂存表和目标表之间的关系。设置正确的关系后,一切正常。

于 2013-09-10T16:04:38.320 回答
0

我可以使用 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 中添加索引。

于 2016-09-09T10:05:21.050 回答