【发布时间】:2014-01-23 04:51:31
【问题描述】:
我正在尝试在 Android 中执行这样的 SQL 查询:
SELECT * FROM Flashcards WHERE (category = 'Anatomy' OR category = 'Surgery') AND (difficulty = 'Easy' OR difficulty = 'Medium');
类别和难度的数量在运行时由用户选择确定。到目前为止,我已经尝试使用带有查询参数的原始查询,但我觉得在这种情况下我正在与框架作斗争:
String query = "SELECT * FROM Flashcards WHERE (?) AND (?) ORDER BY RANDOM() LIMIT 1";
Cursor cursor = db.rawQuery(query, queryParameters);
我尝试传入的查询参数包括:
category = 'Anatomy' OR category = 'Surgery'
还有:
category = Anatomy OR category = Surgery
查询一直没有返回任何结果。在外部对同一个数据库执行的相同查询确实会返回结果。
【问题讨论】:
-
需要指定列名 WHERE category= ?或类别 =?
-
类别数=?条件将根据用户选择的类别数量而有所不同。
-
+1 来自我的“但我觉得在这种情况下我正在与框架作斗争”部分
-
我认为你不使用简单查询。你想使用 rawquery.right?