2

我正在尝试使用 ?s 作为构建查询的参数,但它显然有问题。希望文档至少提供一个示例...

SQLDb.rawQuery("SELECT C.?, B.?, B.?, B.? FROM ? C, ? B  WHERE C.? = B.?", new String[] 
               {Tables.CATEGORIES_NAME, Tables.BUDGET_DATE, Tables.BUDGET_VALUE, Tables.KIND, Tables.CATEGORIES, Tables.BUDGET, Tables.CATEGORIES, Tables.TABLE_ID, Tables.TABLE_ID});

这些 const 都是字符串,只是列的名称。我究竟做错了什么?

4

2 回答 2

5

?不能用于 SQL 查询的任意部分。它可用于 、 等中的值WHEREORDER BY但不能用于WHERE子句左侧的数据库名称、表名称、列名称等。

于 2012-04-11T19:59:45.063 回答
1

?不要在查询中使用,而是使用String.formatwith在查询%s中填写表名和列名。

于 2012-04-11T20:07:23.137 回答