AOT查询可以将TempDB表引用为数据源

时间:2016-06-24 02:43:57

标签: axapta dynamics-ax-2012 x++

我们使用AX 2012 R3。

Temporary TempDB Tables [AX 2012]声明 AOT 下的查询> 查询可以将TempDB表作为数据源引用。
我的问题:AOT查询如何读取写入TempDB表数据源的记录?

我遇到的问题是AOT查询似乎无法从我的TempDB表数据源中读取任何记录:

我在AOT下定义了一个TempDB表,并且我还创建了一个AOT查询,该查询将此TempDB表作为数据源引用。
我编写了一个方法来填充TempDB表,然后编写一个while queryRun循环,与上面提到的AOT查询对象一起传递。但是,循环体从未运行过。
我确保代码编写正确:如果我将TempDB表更改为Regular表,则输入循环体并正确生成结果。

(或者,我写了while select而不是AOT查询的queryRunwhile select循环生成正确的结果,无论连接表是TempDB还是Regular。 但是,我想允许添加其他范围。while select循环似乎无法执行此操作。因此,我在while queryRun之后使用SysQuery::findOrCreateRange循环。 )

上面的链接还指出 TempDB表仅在实例化它的方法的范围内存在。填充TempDB表和我写的循环都是在同一个方法中完成的。但是,由于我从未实例化一个表,实例化它(TempDB表)是什么意思

编辑 s:1)我还尝试在while queryRun循环之后编写一些代码,以查看TempDB表中是否有记录,并发现记录仍然存在于TempDB表。 2)为了澄清,while queryRun循环意味着以下

QueryRun queryRun = new QueryRun(query);
while(queryRun.next()){...}

上面query实例化中的queryRun是一个AOT查询对象。

1 个答案:

答案 0 :(得分:4)

填写NULL表后,您需要通过TempDb

将其传递给查询

然后执行queryRun.setRecord([TempDb Table])