【发布时间】:2012-07-02 23:52:07
【问题描述】:
如何在 Android Cursor 中的 WHERE 子句中添加 AND?
例如:
Cursor cursor = data.query(
Banana.URI,
new String[]{BananaColumns._ID},
BananaColumns.NAME + "=? AND " + BananaColumns.COLLECTION + "=?",
new String[]{bananaData.getName(), bananaData.getCategory()},
null);
这将返回一个空的Cursor。但是Table 包含该查询应该找到的数据。我的格式错了吗?
谢谢
【问题讨论】:
-
如果你愿意,我觉得这个查询很好:
SELECT _id FROM BananaTable WHERE name=<bananaData.getName()> AND collection=<bananaData.getCategory()>。 (我对名称做了一些假设。)仔细检查bananaData 方法是否返回您所期望的。 -
确实如此。我已经通过它了。我什至用相同的数据做了一个手动的 sql 查询,它工作得很好。再多看几次,看看我是否遗漏了什么。
-
...令人沮丧。你会发布手动查询吗?
-
我怀疑有一些特殊字符进来了。你能用硬编码的值测试一下吗?
-
@Sam:确实令人沮丧。但是,我确实发现了错误。我有两个不同的类别...我使用了错误的类别。 o.O 使用正确的类别给了我预期的结果。感谢您的帮助,如果您将评论中的建议作为答案发布,我将非常乐意接受它作为解决方案。
标签: android android-cursor android-sqlite