使用sqlite即时获取表格

时间:2010-07-01 20:00:18

标签: android sqlite adapter

我有一个代码,显示基于自定义适配器的项目列表。要显示表的内容没问题,但是当我需要添加对许多表的引用时,这是另一回事。在我看来,两种解决方案都是可能的:

1)查询setViewValue中的数据库(没有过多考虑这种可能性) 要么 2)找到一种将列动态关联到其他表的方法

(欢迎两者的解决方案)

我有一个主表,其中一个名为slug的列是对其他表的引用。这些其他表包含一些我想要计算的数据。

有了我的查询后,我使用SimpleCursorAdapter在android中显示一个不错的列表(例如1024(2 ref),2048(3 ref)......)。

我认为一点模式可能比我的解释更好。

Table: A
-----------------------
_id    | slug | value |
-----------------------
1      | a_a  | 1024  |
2      | g_z  | 2048  |
-----------------------


Table: mytable_a_a
----------------
_id    | value |
----------------
1      | xxx   |
2      | yyy   |
----------------

Table: mytable_g_z
----------------
_id    | value |
----------------
1      | xxx   |
2      | yyy   |
3      | zzz   |
----------------


The goal is to produce something like

-------------------------------
_id    | slug | value | count
-------------------------------
1      | a_a  | 1024  | 2
2      | g_z  | 2048  | 3
...

我尝试过类似的事情:

SELECT * FROM A. 联盟 SELECT COUNT(*)FROM A.slug;

但是我忽略了这一点,如果存在解决方案,那将会有点复杂。

可能的解决方法:在表格中包含一个计数器

谢谢

1 个答案:

答案 0 :(得分:0)

由于您的表名只能从查询中获取,因此您需要使用动态SQL,即根据您之前从数据库中获取的值连接SQL查询字符串。这有点笨拙。您可以通过不同的方式设计它,使其变得更加容易,例如将所有mytable_x_x数据存储在一个表中,并使用x_x作为可以加入的键。然后,您可以在单个查询中获得结果。