通过ContentProvider从SQLite中检索最后的“N”条记录

时间:2014-08-13 09:57:01

标签: android sqlite android-sqlite android-contentprovider

我需要使用 ContentProvider. 从表中检索最后25行我已经搜索过并提出了一个解决方案,可以在简单的 SQL Database

SELECT * FROM ( SELECT * FROM [Customers] ORDER BY CustomerID DESC limit 25) ORDER BY CustomerID ASC;

但正如我所说,使用 ContentProvider ,而在onCreateLoader我的程序是这样的:

CursorLoader(getActivity(), uri, projection, selection, null, sortOrder);

其中上述查询的粗体部分,即FROM只能是Uri

如果我使用     ( SELECT * FROM [Customers] ORDER BY CustomerID DESC limit 25)作为Uri然后Exception表示这不是有效的Uri。

是否有其他方法可以实现我的目标或此查询中的任何修改。感谢名单。

1 个答案:

答案 0 :(得分:0)

告诉内容提供程序返回按CustomerID DESC排序的行。 获得该光标后,只需从其中取出前25行,然后再手动对其进行排序。 (在这种情况下,只需颠倒行的顺序。)

如果您之后仍需要在光标中包含数据,请将值存储在您自己的MatrixCursor中。