我有一个 while 循环,它继续从查询中提取数据,直到查询不再返回结果,在此循环中,for each 循环将每个返回的数据填充到一个 xml 文件中。该查询的每个查询限制为 500 个结果,因此我想返回 500 个结果填充它们并再次查询下一个 500,直到查询返回代码 < 1(无结果)
我正在跟踪 id 并在查询中使用它来获取逻辑,但是一旦前 500 个结果返回,循环就不会得到下一个 500。
我做错了什么?
代码:
bool is_finished = false;
while (is_finished == false)
{
string current_id = "0";
sb.Append("<queryxml><entity>Account</entity><query><field>AccountNumber<expression op='greaterthan'>" + current_id + "</expression></field></query></queryxml>").Append(System.Environment.NewLine);
var r = client.query(at_integrations, sb.ToString());
if (r.ReturnCode == 1)
{
foreach (var item in r.EntityResults) // max EntityResults 500 per query
{
Account acct = (Account)item;
//create xml file with the results
current_id = acct.id.ToString();
}
}
else
{
is_finished = true;
}
}