1

我是 SQL 的初学者。我想在 Android listview 上显示 sqlite 数据。该表具有以下结构。

| _id | name | data | ...
---------------------
|   0 |   A  |  abc |
|   1 |   B  |  def |
|   2 |   C  |  ghi | ...
|   3 |   D  |  jkl |
|   4 |   E  |  mno |

因此,当用户输入 [C, B, D] 时,我想按用户的顺序显示名称和数据列。例如,

列表显示

---------------------
     C     ghi
---------------------
     B     def
---------------------
     D     jkl
---------------------

我现在在使用 ArrayAdapter 和 CursorAdapter 之间纠结。

我应该 SELECT 3 次,将值存储在数组中,然后使用 ArrayAdapter?或者,可以用 SELECT 一次满足我的要求吗?

提前致谢。

4

2 回答 2

1

这会有点复杂,但可以在单个查询中完成。

SELECT * FROM yourTable
ORDER BY 
  CASE name
    WHEN 'C' THEN 0
    WHEN 'B' THEN 1
    WHEN 'D' THEN 2
  END

当然,您必须根据用户输入来构造查询。 在这里看更多

于 2012-04-23T07:40:37.377 回答
0

您可以使用 SELECT 查询来满足您的需求。您的查询将如下所示:

String query = "SELECT * FROM yourTable WHERE name IN ('C', 'B', 'D');"
于 2012-04-23T07:16:21.570 回答