游标'由'SQLite命令

时间:2013-01-15 20:21:57

标签: java android sqlite

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

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

Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + passId, null, null, null, null);

2 个答案:

答案 0 :(得分:5)

查询中的最后一个参数代表order by

示例:

Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + passId, null, null, null, coulmnName+" DESC");

答案 1 :(得分:2)

public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)

在API级别1中添加 查询给定的表,在结果集上返回一个Cursor。

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