从QuickBooks桌面订购结果集

从QuickBooks桌面订购结果集,quickbooks,Quickbooks,我们将数据从QuickBooks桌面同步到web服务。对于每个会话,我们只希望选择新的和修改过的数据(与数据库中的数据进行比较)。因此,我们设置FromModifiedDate过滤器,并将其设置为数据库中记录的最新修改时间 问题是数据返回的顺序与修改的时间不一致。QuickBooks desktop可以将最新记录返回给我们。假设结果集中有n条记录,修改了时间t1到tn(其中tn是最新的)。在第一次迭代中,QuickBooks可能会返回记录n(ModifiedTime=tn),我们将其保存到数据库

我们将数据从QuickBooks桌面同步到web服务。对于每个会话,我们只希望选择新的和修改过的数据(与数据库中的数据进行比较)。因此,我们设置FromModifiedDate过滤器,并将其设置为数据库中记录的最新修改时间

问题是数据返回的顺序与修改的时间不一致。QuickBooks desktop可以将最新记录返回给我们。假设结果集中有n条记录,修改了时间t1到tn(其中tn是最新的)。在第一次迭代中,QuickBooks可能会返回记录n(ModifiedTime=tn),我们将其保存到数据库中。在下一次迭代中有一个中断。在下一次运行中,我们从tn请求记录,并错过上一次运行(t1,…)中未同步的所有记录

是否有方法指定结果集按ModifiedTime排序,并始终首先返回最早的修改记录?(例如,第一次迭代,t1-t5,下一次t6-t10)

是否有方法指定结果集按ModifiedTime排序,并始终首先返回最早的修改记录?(例如,第一次迭代,t1-t5,下一次t6-t10)

否,QuickBooks桌面不支持此操作

听起来这不是你的问题。你能澄清一下你所说的:

在下一次迭代中有一个中断


“打扰”是什么意思?你预计会有什么样的干扰?每次你都应该处理你得到的每一条记录。从应用程序中删除“中断”,您就不会有任何问题,对吗?

如果软件中存在导致此问题的错误。即使我们修复了这个bug,数据库中的数据也已经进入了我提到的状态。我们只能通过再次查询所有数据来恢复。如果有办法保证在任何时候,最新修改的时间都能反映数据已被处理,那就太好了。不幸的是,QuickBooks可能永远不支持订购/您所要求的。为什么不设置应用程序,以便存储上次成功同步的日期,并始终从该日期/时间开始同步?这样,如果你的同步在中间死亡,你可以从最后一个成功的日期开始查询,你不必查询所有的数据,而只需要从那个日期/时间开始的数据。