我在ListView
的数据库中显示查询数据。我的问题是:我可以从查询中订购数据,然后将这些有序数据存储在我的光标对象中吗?或者我是否必须订购ListView
?
即我可以在以下查询中按名称订购数据吗?
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + passId, null, null, null, null);
答案 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表示没有