我有一个汽车 sqlite 数据库,其中一个表有 3 列:年份、品牌和型号。通过下面的查询,我可以搜索单个短语,例如“ford”,它将显示所有福特结果,或者“1964”,我将获得那一年的所有汽车。但是“1964 福特”返回“未找到结果” - 或 null。如何修改查询,以便我可以从所有 3 列中输入搜索词,例如“1964 福特野马”?是的,我知道没有 1964 年的福特野马,它是 1964 年半。但是在我的数据库中有一排是 1964 年的福特野马,所以我们以“1966 年福特野马”为例。
public Cursor searchDB(String query) {
return db.query(true, DB_TABLE, new String[] { KEY_ROWID, KEY_YEAR, KEY_MAKE,
KEY_MODEL }, KEY_YEAR + " LIKE" + "'%" + query + "%' OR " + KEY_MAKE +
" LIKE" + "'%" + query + "%' OR " + KEY_MODEL + " LIKE" + "'%" + query + "%'",
null, null, null, null, null);
}
我尝试使用 AND 代替 + ,但崩溃了。我使用的是安卓 2.2。