3 回答
TA贡献2080条经验 获得超4个赞
这是一个更通用的答案,旨在为将来的观众快速参考。
例
SQLiteDatabase db = helper.getReadableDatabase();
String table = "table2";
String[] columns = {"column1", "column3"};
String selection = "column3 =?";
String[] selectionArgs = {"apple"};
String groupBy = null;
String having = null;
String orderBy = "column3 DESC";
String limit = "10";
Cursor cursor = db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy, limit);
文档中的解释
table 字符串:编译查询所依据的表名。
columns 字符串:要返回的列的列表。传递null将返回所有列,不建议这样做,以防止从不会使用的存储中读取数据。
selection 字符串:声明返回哪些行的过滤器,格式为SQL WHERE子句(不包括WHERE本身)。传递null将返回给定表的所有行。
selectionArgs 字符串:您可以在选择中包括?s,它们将被selectionArgs中的值替换,以便它们出现在选择中。这些值将绑定为字符串。
groupBy 字符串:一种声明如何对行进行分组的过滤器,格式为SQL GROUP BY子句(不包括GROUP BY本身)。传递null将导致行不被分组。
having 字符串:一个过滤器,如果正在使用行分组,则声明要包括在游标中的行组,其格式设置为SQL HAVING子句(不包括HAVING本身)。传递null将导致包括所有行组,并且在不使用行分组时是必需的。
orderBy 字符串:如何对行进行排序,格式为SQL ORDER BY子句(不包括ORDER BY本身)。传递null将使用默认的排序顺序,该顺序可能是无序的。
limit 字符串:限制查询返回的行数,格式为LIMIT子句。传递null表示没有LIMIT子句。
TA贡献2021条经验 获得超8个赞
where子句和args一起形成SQL查询的WHERE语句。所以说你想表达
WHERE Column1 = 'value1' AND Column2 = 'value2'
然后您的whereClause和whereArgs将如下所示
String whereClause = "Column1 =? AND Column2 =?";
String[] whereArgs = new String[]{"value1", "value2"};
如果要选择所有表列,我相信传递给tableColumns的空字符串就足够了。
- 3 回答
- 0 关注
- 6331 浏览
添加回答
举报