具有限制的CalendarContract查询

时间:2014-12-10 22:54:40

标签: android calendarcontract

如何使用LIMIT子句查询CalendcarContract.Instances?

我想从一个特定的开始日期开始查询" n"行。

我尝试过的是:

final Uri uri = Uri.parse(CalendarContract.Instances.CONTENT_URI + "/" + 
                          Long.toString(startDate) + "/" + 
                          Long.MAX_VALUE);

final String sortOrder = Instances.BEGIN;

String selection = " limit " + rows;

Cursor cursor = context.getContentResolver().query (
  uri,
  projection, 
  selection,
  null,
  sortOrder);

这会在日志文件中生成错误:

...while compiling: SELECT Instances._id...WHERE (begin<=? AND end>=? AND (limit 1)...

我认为错误是&#34; AND&#34;之前(限制1)。该服务正在添加,而不是我。那么,我可以使用另一种URI还是其他技术?

注意:我特别需要Instances版本,它将单个事件与重复事件相结合。

感谢。

1 个答案:

答案 0 :(得分:0)

好的,除非你有更好的答案,否则不要介意。

我意识到这是一个更普遍的URI问题,与CalendarContract没有特别的关系。在搜索其他结果时,我发现了一个建议,即将LIMIT n附加到sort子句中,例如

final String sortOrder = Instances.BEGIN + " limit " + 10;

归功于 How to add limit clause using content provider