0

我有 SQLite DB 查询,它一次返回一条记录。这是查询:

rawQuery("SELECT id, category_id, title, text FROM customer WHERE (reads = (SELECT MIN(minReads) FROM categories)) AND status = 'a' ORDER BY rating DESC, rand_index DESC LIMIT 1 ",null);

如果我想获取下一条记录,因为我们在上面的 SQLite 查询中应用限制,我无法获取下一条记录。Limit = 1是必要的,因为我的db.

如何在不修改现有查询的情况下获取下一条记录。我不能对此应用循环,因为我有很多记录并且我不希望同时所有记录。我希望它被一一动态地获取。我想成为可以将结果存储在数组中的东西,因为在获取下一条记录时我可能还需要旧记录。

任何输入都会有很大帮助。

4

2 回答 2

2

您应该获取所有记录,然后以本地类对象形式循环它们,循环 sql 查询是一个非常糟糕的主意,这真的很慢。

于 2010-11-18T13:33:05.090 回答
1

您可能只是通过一个查询获得一些合理数量的记录,例如 100 条记录LIMIT 100,然后为每个第 n 条记录的部分获得 LIMIT 100 OFFSET (n-1)*100 的附加记录部分。

基本上,这是一个简单的分页实现。

于 2010-11-18T13:44:47.383 回答