【发布时间】:2016-06-24 02:43:57
【问题描述】:
我们使用 AX 2012 R3。
Temporary TempDB Tables [AX 2012] 声明 AOT > Queries 下的查询可以引用 TempDB 表作为数据源。
我的问题:AOT 查询如何读取写入作为 TempDB 表的数据源的记录?
我遇到的问题是 AOT 查询似乎无法从我的 TempDB 表数据源中读取任何记录:
我在 AOT 下定义了一个 TempDB 表,并且我还创建了一个 AOT 查询,该查询将此 TempDB 表作为数据源引用。
我编写了一个方法来填写 TempDB 表,然后我编写了一个 while queryRun 循环,并与上面提到的 AOT 查询对象一起传递。但是,循环体从未运行过。
我已确保代码编写正确:如果我将 TempDB 表更改为常规表,则输入循环体并正确生成结果。
(或者,我写了一个while select而不是AOT查询的queryRun。while select循环生成正确的结果,无论连接表是TempDB还是Regular。但是,我想允许添加其他范围。while select 循环似乎无法做到这一点。所以,我在一些SysQuery::findOrCreateRange 之后使用while queryRun 循环。)
上面的链接还指出,TempDB 表只存在于实例化它的方法范围内。 TempDB表的填写和我写的循环都是用同样的方法完成的。但是,由于我从不实例化表,实例化它(TempDB 表)是什么意思?
EDITs:1)我也尝试在while queryRun循环之后写一些代码,看看TempDB表中是否有记录,发现记录仍然存在于TempDB中桌子。
2) 澄清一下,while queryRun 循环的含义如下
QueryRun queryRun = new QueryRun(query);
while(queryRun.next()){...}
上面queryRun的实例化中的query是一个AOT查询对象。
【问题讨论】:
标签: axapta dynamics-ax-2012 x++