此查询似乎运行良好:
public Cursor getOneWine(long id) {
return database.query("vino", null, "_id=" + id, null,
null, null, null);
}
但是当我尝试将"_id"+id
更改为"name="+name
时,它无效!也尝试了这个:
public Cursor getSearchWine(String name) {
return database.query("vino", new String[] {"_id", "name"}, "name="+name, null,
null, null, "name");
}
当我想要所有葡萄酒的光标时效果很好。
public Cursor getAllWines() {
return database.query("vino", new String[] {"_id", "name"}, null, null,
null, null, "name");
}
还检查了Android文档但未找到解决方案。
答案 0 :(得分:1)
在SQL中,必须引用字符串:
db.query("vino", new String[] {"_id", "nombre"}, "name='" + name + "'", ...);
但是,如果名称包含'
,则会导致问题;建议使用参数代替字符串:
db.query("vino", new String[] {"_id", "nombre"}, "name=?", new String[] {name}, ...);