Android 如何从Sqlite中的表中按顺序提取记录?

Android 如何从Sqlite中的表中按顺序提取记录?,android,mysql,Android,Mysql,我在Sqlite中有一个表,每个记录包含三个组件(例如,​​B、 C),主键(id)是随机的。我想要一个SQL查询,它可以按顺序提取每个记录,就像对数据库应用循环一样 我知道有一个类似LIMIT的子句,但它只返回第一个元素(LIMIT 1),而不是两个元素(LIMIT 2)。。。但我想提取一个记录,并对其进行处理,然后转到另一个记录。回想一下,id是随机的。手工编写查询并不理想,因为已经提供了生成安全查询的方法 database.query(DATABASE_TABLE, new String[

我在Sqlite中有一个表,每个记录包含三个组件(例如,​​B、 C),主键(id)是随机的。我想要一个SQL查询,它可以按顺序提取每个记录,就像对数据库应用循环一样


我知道有一个类似
LIMIT
的子句,但它只返回第一个元素(LIMIT 1),而不是两个元素(LIMIT 2)。。。但我想提取一个记录,并对其进行处理,然后转到另一个记录。回想一下,id是随机的。

手工编写查询并不理想,因为已经提供了生成安全查询的方法

database.query(DATABASE_TABLE, new String[] {ROW_ID, ROW_COLUMN_ONE, ROW_COLUMN_TWO, ... }, null, null, null, null, new String[] {ROW_ID}); 
这将返回数据库中按行ID列排序的所有行

该站点可能会有进一步的用途,因为它涵盖了SQLite实现的一些常见用例。
什么样的处理

如果您想以某种方式更新或更改数据,您可能可以在SQL中完成,但听起来您的想法更复杂,只需“更新表集值\列=值,其中键\列=键”


如果是这种情况,您将需要提取记录并用java迭代它们。看看android.database....

I您使用的是MySQL还是SQLite?我假设SQLite基于Android标签。你当然应该澄清。看起来您可能还没有完全理解SQL是如何工作的。如果您想要所有记录,那么就不应该使用LIMIT语句。我不是Java用户,但一般来说,对于SQL数据库,您可以运行查询,然后一次循环一行。如果您想提取一条记录,并对其进行处理,然后转到另一条记录,那么听起来您似乎担心内存消耗-只要您循环使用,并且每个记录不存储大量数据,您就可以了。如果您还不知道,您可以使用。您好,我应该拿出一张包含需要处理的照片的记录,然后转到另一张!只有一个随机的而不是顺序的id,我不知道如何像我一样编写查询?您好,我应该拿出一个包含需要处理的照片的记录,然后转到另一个!只有一个随机而非顺序的id,我不知道如何像我一样编写查询?从表中选择*按id排序;因此,如果我有一个数据库,表中填充了5条记录,这个查询将返回第一条记录,然后第二条。。。最多5个?有点像在表上执行“for循环”吗?不,SELECT语句将返回所有5个,从最低id到最高id的顺序。这有什么问题吗?照片的二进制数据是否嵌入到结果集中?你想一次只看一张照片吗?