如何从数据库中提取数据并将其存储到Android中的数组中?

时间:2011-06-17 15:36:02

标签: android sqlite

我正在学习Android开发。我有一个名称和金额的IOU表。因此,在多次输入数据库表后,你会得到类似的结果:

name1 50
name2 25
name1 10
name3 60

......

我的问题是,从表中提取条目并在Adroid应用程序中将它们排序为数组的最佳方法是什么。

例如,Array1 [] name1 = [50,10,...]其中50和10是与DB中name1关联的数量。

我不能只使用SELECT * FROM table WHERE name = name1因为名称会改变而且会增加。我从这个SO问题中听到: How to store arrays in a database? 动态生成表并不是一个好主意。

1 个答案:

答案 0 :(得分:2)

我想你想要一个这样的查询:

SELECT * FROM table ORDER BY name

SELECT * FROM table ORDER BY amount

也就是说,如果您想要所有行,则不需要WHERE子句。 ORDER BY子句可以为您进行排序。

然而:您确定需要将所有数据拉入数组 - 特别是如果数据库可以进行所需的排序吗?另一种方法是打开一个光标,然后一次做一行所需的任何处理。

编辑:另一个例子(基于你的评论;我没有对此进行过测试):

SELECT name, SUM(amount) FROM table GROUP BY name ORDER BY name

将为数据库中的每个唯一名称提供一行,其中每个金额的总和与该用户相关联。对于您在上面发布的示例,这将导致以下行:

name1 60  // The sum of the two rows that have name="name1"
name2 25
name3 60