Axapta 如何使用webservice请求检索具有偏移量和限制的数据?

Axapta 如何使用webservice请求检索具有偏移量和限制的数据?,axapta,x++,dynamics-ax-2009,Axapta,X++,Dynamics Ax 2009,我正在尝试构建一个AX服务,以从Microsoft Dynamics AX 2009中的InventTable检索数据。 关于,我尝试在AOT作业中执行一个代码,以便使用modifieddate=“2/7/2013”检索数据 代码示例如下所示: static void SelectQueryTest(Args _args) { Query q = new Query(); QueryRun qr; QueryBuildDataSource qbds;

我正在尝试构建一个AX服务,以从Microsoft Dynamics AX 2009中的InventTable检索数据。 关于,我尝试在AOT作业中执行一个代码,以便使用modifieddate=“2/7/2013”检索数据 代码示例如下所示:

    static void SelectQueryTest(Args _args)
    {
       Query q = new Query();
    QueryRun qr;
    QueryBuildDataSource qbds;
    int64 countItem;
    InventTable inventTable;
    Fromdate FromDate = 2\7\2013;


    ;

    qbds = q.addDataSource(tableNum(InventTable));
    qbds.addRange(fieldNum(InventTable, modifiedDateTime)).value(date2StrUsr(FromDate ));
    qr = new QueryRun(q);
    countItem =SysQuery::countTotal(qr);
   if(countItem>0)
   {

     while(qr.next())
    {

        inventTable = qr.get(tableNum(inventTable));
        info(strfmt("Item Name: %1", inventTable.ItemName));
    }
   }
   else
   {
     info("No records found");
   }

    }

有谁能建议我如何编写代码,使用从Web服务请求中获取的偏移量和限制来检索数据。

您很可能不需要自己进行服务,因为有标准的方法可以做到这一点

看看这里的答案:


另请查看。

在查询AX时,限制和偏移量在x++中不可用

在我看来,你有两个选择来实现相同的目标

  • 按recId对结果集排序,存储recId,并将recId>yourRecId用于偏移量。您还需要使用while select之类的方法手动统计记录

  • 使用x++直接查询SQL数据库,在这种情况下,您应该能够使用服务器支持的任何SQL


  • 什么是偏移,什么是限制,什么是Web服务?你写的日期是7月2日。我实际上指的是像skip and take in linq这样的方法,或者像“select column FROM table LIMIT 18 OFFSET 8”这样的select查询在MySql中。感谢1月的回复。我们在AX数据库中有将近20万个产品。我认为使用Web服务一次获取大量数据是很困难的。因此我考虑使用一个AX服务,每个只检索500个数据,并将这些数据拉入我的MySql数据库