相关疑难解决方法(0)

意外的查询行为

我正在尝试执行以下代码:

static void ProjTableQuery(Args _args)
{
   Query query;
   QueryBuildDataSource qbds1;
   QueryBuildDataSource qbds2;
   QueryBuildRange qbr1;
   QueryBuildRange qbr2;
   QueryRun queryRun;
   ProjTable projTable;

   query = new Query();

   qbds1 = query.addDataSource(tableNum(ProjTable));
   qbds1.addSortField(
       fieldNum(ProjTable, Name),
       SortOrder::Ascending);

   //qbr1 = qbds1.addRange(fieldNum(ProjTable, Type));
   //qbr1.value(queryValue(ProjType::FixedPrice));

   qbr2 = qbds1.addRange(fieldNum(ProjTable, ProjId));
   qbr2.value(queryValue('0') + '*');

   qbds2 = qbds1.addDataSource(tableNum(ProjEmplTrans));
   qbds2.relations(true);
   qbds2.joinMode(JoinMode::InnerJoin);

   queryRun = new QueryRun(query);

   while (queryRun.next())
   {
       projTable = queryRun.get(tableNum(ProjTable));
       info(strFmt("%1 %2 %3", projTable.ProjId, projTable.Name, projTable.Type));
   }
}
Run Code Online (Sandbox Code Playgroud)

注释掉的那两行可以正常工作.但是,如果我取消注释它们,它将不再运行,并且不会显示任何错误消息.

就我所见,ProjType是一个枚举,我确信我在SQL中检查了FixedPrice值.

x++ axapta dynamics-ax-2012 dynamics-ax-2012-r3

1
推荐指数
1
解决办法
353
查看次数