当前位置: 代码迷 >> Android >> 需要将查询放入循环中以逐一返回结果集
  详细解决方案

需要将查询放入循环中以逐一返回结果集

热度:54   发布时间:2023-08-04 10:00:04.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

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

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

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

您可以通过一个查询获得一些合理数量的记录,例如100条带有LIMIT 100 100的记录,然后为每个第n条记录的部分获得LIMIT 100 OFFSET(n-1)* 100的其他记录部分。

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

  相关解决方案