如何使用Web服务请求检索具有偏移和限制的数据?

时间:2013-12-09 05:47:17

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

我正在尝试构建一个AX服务,以便从Microsoft Dynamics AX 2009中的InventTable中检索数据。 参考https://community.dynamics.com/ax/f/33/t/70476.aspx,我尝试在AOT Job中执行代码,以使用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服务请求中获取的偏移和限制来检索数据。

2 个答案:

答案 0 :(得分:2)

查询AX时,

限制和偏移在x ++中不可用。

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

  1. 通过recId订购结果集,存储recId,以及recId>的用途yourRecId用于抵消。您还需要使用select select等方法手动计算记录。

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

答案 1 :(得分:0)

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

在这里查看答案:Fetching data from dynamics ax 2009 using Ax webservices and C#

另请查看this screencast