【发布时间】:2019-05-27 04:03:21
【问题描述】:
我有一个 x++ 脚本,旨在从选择查询中计算记录数,然后再进行更新。
这是原始问题供参考:convert SQL Query with Join to X++ Dynamics AX scripting
最初,我有一个与之对应的 SQL Query,它产生 50 行/记录,当我将其转换为 X++ 时,它不计算或提取相同数量的记录,
这是 x++ 脚本
static void Job(Args _args)
{
Table1 table1;
Table2 table2;
Table3 table3;
Table4 table4;
Table5 table5;
int i = 0;
while select forUpdate table1
join table2 where table1.field1 == table2.field1
join table3 where table1.field2 == table3.field2
join table4 where table3.field3 == table4.field3
join table5 where table3.category == table5.recid
&& table1.location == 'asia' && table2.modtye == 2
&& table3.discount == 'sample'
&& table4.name == 'hello'
&&(table5.name == 'one' || table5.name == 'two' || table5.name == 'three')
{
if (table1)
{
i = i + 1;
}
}
info(strfmt("Total : %1",i));
}
请帮忙,我哪里出错了,我认为是这部分的问题
if (table1)
我也尝试精简代码以了解问题出在哪里,
while select forUpdate table1
join table2 where table1.field1 == table2.field1
&& table1.location == 'asia' && table2.modtye == 2
这部分没有返回结果...当我包含
&& table1.location == 'asia' && table2.modtye == 2
所以我想,问题就在那里,但是代码有什么问题?
我的代码实际上来自本教程链接
【问题讨论】:
-
应该是-if (table1)?
-
是的,是的……我已经编辑过了。还是不行
-
我已经编辑了我的问题以获取一些发现
-
您可以检查 SQL 脚本是否与直接在数据库中执行时返回数据的逻辑相同。
-
SQL 中的“内连接”匹配 X++ 中的“连接”。
标签: dynamics-crm-2011 axapta x++