Dynamics CRM OData 查询超过50条记录的数据(Retrieving More than 50 records using OData)

在通过ODdata方式获取CRM数据时,默认查询出来的results只有50条数据,可以通过JSON返回的Object中的“_next”属性作为URL循环获取直到该属性为空

示例代码如下:

relatedAccounts = [];

function onload() {
    var serverUrl = Xrm.Page.context.getServerUrl();
    var oDataUri = serverUrl + "/xrmservices/2011/OrganizationData.svc/AccountSet?$select=AccountId,Name,&$filter=StateCode/Value eq 0";
    GetRecords(oDataUri);
    var totalRecords = relatedAccounts.length;
}

function GetRecords(url) {
    jQuery.ajax({
        type: "GET",
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        url: url,
        async: false,
        beforeSend: function (XMLHttpRequest) {
            XMLHttpRequest.setRequestHeader("Accept", "application/json");
        },
        success: function (data, textStatus, XmlHttpRequest) {
            if (data && data.d != null && data.d.results != null) {
                AddRecordsToArray(data.d.results);
                FetchRecordsCallBack(data.d);
            }
        },
        error: function (XmlHttpRequest, textStatus, errorThrown) {
            alert("Error :  has occured during retrieval of the records ");
        }
    });
}

function AddRecordsToArray(records) {
    for (var i = 0; i < records.length; i++) {
        relatedAccounts.push(records[i]);
    }
}

function FetchRecordsCallBack(records) {
    if (records.__next != null) {
        var url = records.__next;
        GetRecords(url);
    }
}

本文示例代码摘自博客:

http://lakshmanindian.wordpress.com/2012/12/07/retrieving-more-than-50-records-using-odata-in-crm-2011/

Dynamics CRM OData 查询超过50条记录的数据(Retrieving More than 50 records using OData),布布扣,bubuko.com

时间: 2024-12-22 03:19:44

Dynamics CRM OData 查询超过50条记录的数据(Retrieving More than 50 records using OData)的相关文章

SQLServer 分组查询相邻两条记录的时间差

原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操作人. 现在的问题是:要求筛选出数据库中从“接收”到“送出”的时间差超过2天的全部记录.即如上图两笔单据中,红色框既是要筛选出的,绿色框为正常过滤的. 为了定位相邻记录,方法为给查询语句的返回记录加个自动编号列放入临时表中,再对临时表进行操作. --1.首先查出表中符合條件的所有信息 select

[mysql] 查询前几条记录

From: http://www.cnblogs.com/xuxm2007/archive/2010/11/16/1878211.html SELECT   *   FROM   table   LIMIT   5;           select     *     from     issu_info     limit     0,6             Limit     0,6       这里是对的,显示前6条                   select     *   

查询后n条记录

查询后n条记录 SELECT * FROM tb_stu ORDER BY id ASC LIMIT n

rownum查询前N条记录

在Oracle中,要按特定条件查询前N条记录,用个rownum就搞定了.——select * from emp where rownum <= 5 而且书上也告诫,不能对rownum用">",这也就意味着,如果你想用——select * from emp where rownum > 5——则是失败的.(因为rownum的值一定是从1开始的) 同样道理,rownum如果单独用 = 也只有在rownum=1时才有用. rownum 对于等于某值的查询条件   如果希望找

Oracle查询前10条记录及分页查询(第5条到第10记录)

如果你想了解Oracle查询前10条记录的相关实际应用方案的话,你就可以点击以下的文章对其在实际相关操作中的正确用法,有一个更加完善的认识,希望你在浏览完以下的文章会以下就是正文的详细内容的介绍. 在Oracle怎样查询表中的top10条记录呢? select *   from test   where rownum <=10   下面是关于rownum的介绍 Rownum和row_number() over()的使用 ROWNUM是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编

Oracle中查询前10条记录

在Oracle怎样查询表中的top10条记录呢? select * from test where rownum <=10     ----说明:rownum只能用于<或<=运算,如果要用>运算符就要用到嵌套查询. 下面是关于rownum的介绍 ================================ Rownum和row_number().over()的使用 ROWNUM是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分

ListView 使用 LiveBindings 显示超过 200 条记录

ListView 使用 LiveBindings 预设加载 200 条记录,这也许是速度的考量,但当需要全部加载的的情况时,该如何做呢?只需加入下面二行代码即可: FDQuery1.OptionsIntf.FetchOptions.RecsMax := -1; FDQuery1.OptionsIntf.FetchOptions.AutoFetchAll := afAll; ps. 以上实测加载七万条记录,在 Windows 7 约要十几秒的时间. 参考资料:http://codeverge.co

sql查询上一条记录和下一条记录

上一条记录的SQL语句: select top 1 * from news where newsid<id order by newsid DESC 下一条记录的SQL语句: select top 1 * from news where newsid>id order by newsid ASC 开发中遇到需要在当前页面显示当前文章的上一篇文章和下一篇文章,百度了一下,搜索到以上SQL语句:

linq中分组查询而且获取每个分组中的第一条记录,数据用于分页绑定

LINQ分组取出第一条数据 Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: Id=2, Name="Test2" 以上list如果直接使用distinct方法进行过滤,仍然返回3条数据,而需要的结果是2条数据.下面给出解这个问题的方法: 方法1: Distinct 方法中使用的相等比较器.这个比较器需要重写Equals和GetHashCode方法,个人不推荐,感觉较