我是新手,请帮助我。
我正在尝试使用ormlite like(列名,值)函数,但这对我不起作用。但是当我测试全文时,它就像“eq”函数一样工作。
我的代码是
try {
QueryBuilder<MakeDTO, Integer> qb = makeDao.queryBuilder();
qb.where().like("madeCompany", filterKey);
PreparedQuery<MakeDTO> pq = qb.prepare();
return makeDao.query(pq);
} catch (SQLException e) {
throw new AppException(e);
}
谢谢。
最佳答案
一个古老的问题,但是我刚刚解决的问题(ORMLite的文档尚不清楚)。您需要将查询参数包装在“%”中,以告诉ORMLite查询字符串的哪一侧可以匹配任意数量的字符。
例如,如果您希望查询与包含字符串的任何madeCompany匹配,请使用以下命令:
try {
QueryBuilder<MakeDTO, Integer> qb = makeDao.queryBuilder();
qb.where().like("madeCompany", "%"+filterKey+"%");
PreparedQuery<MakeDTO> pq = qb.prepare();
return makeDao.query(pq);
} catch (SQLException e) {
throw new AppException(e);
}
关于Android ormlite like()函数无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7642161/