2013-01-15 114 views
0

我在ListView的数据库中显示查询数据。我的问题是:我可以从查询中订购数据,然后将这些有序数据存储在我的光标对象中吗?或者我必须订购ListView光标'订购'SQLite

即我可以在以下查询中按名称排序数据吗?在查询

​​
+0

确定:列举的SQL结果可以被排序(并且游标只能导航所述结果)。只要确保*不使用*在视图/适配器中排序.. – 2013-01-15 20:24:32

回答

5

末参数表示order by

例子:

Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + passId, null, null, null, coulmnName+" DESC"); 
2
public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) 

在API级别1 查询给定的表,在返回结果集的光标。

参数 表针对编译查询的表名称。 列要返回的列的列表。传递null将返回所有列,这是不鼓励的,以防止从将不会使用的存储读取数据。 selection一个过滤器,声明要返回哪些行,格式化为SQL WHERE子句(不包括WHERE本身)。传递null将返回给定表的所有行。 selectionArgs您可以在selection中包含?s,它将被selectionArgs中的值替换,以便它们出现在选择中。这些值将被绑定为字符串。 groupBy过滤器,声明如何对行进行分组,格式化为SQL GROUP BY子句(不包括GROUP BY本身)。传递null将导致行不被分组。 有一个过滤器声明哪些行组包含在游标中,如果正在使用行分组,则格式化为SQL HAVING子句(不包括HAVING本身)。传递null将导致包含所有行组,并且在不使用行分组时需要。 orderBy如何排序行,格式为SQL ORDER BY子句(不包括ORDER BY本身)。传递null将使用默认的排序顺序,这可能是无序的。 limit限制查询返回的行数,格式为LIMIT子句。传递null表示没有

+0

@Nambari谢谢。我知道ORDER BY子句必须进入,不确定它是否可以在光标中完成。再次感谢。 – user1352057

+0

非常感谢你!这是一个很好的信息片段。在玩过其他条款中的空值之后,它都可以正常工作。 – user1352057