内の複数のORステートメント:Multiple, combined OR conditions in ORMLiteこの記事によるとORMLite
私は機能に
List<String> cat = new ArrayList<String>();
List<Person> line = new ArrayList<>();
Dao<Person, Integer> personDAO = getHelper().getPersonDAO();
cat.add("category1");
cat.add("category2");
QueryBuilder<Person, Integer> queryBuilder = personDAO.queryBuilder();
Where<Person, Integer> where = queryBuilder.where();
if(filterOn)
for (int i = 0; i < cat.size(); ++i)
where.eq("category", cat.get(i)).or().eq("name", cat.get(i));
where.or(cat.size());
if(searchBar.size()!=0){
for (int i = 0; i < cat.size(); ++i)
where.eq("category", cat.get(i)).or().eq("name", cat.get(i));
where.like("category", constrainName).or().like("name", constrainName);
where.or(cat.size()+1);
}
line = personDAO.queryBuilder().query();
を条件と文字列のArrayListに依存することができるクエリを作成したいが、アイブ氏は、あらゆることなく、アプリケーションの外に投げてしまいましたループの最初の繰り返しが終了するたびに例外が発生します。
更新:問題を解決します。
for (int i = 0; i < cat.size(); ++i)
where.eq("category",cat.get(i)).or().eq("name",cat.get(i));
where.or(cat.size());
if(data){
where.like("category", t).or().like("name", t);
l = personDAO.query(where.and(2).prepare());
} else
l = personDAO.query(where.or(1).prepare());
"適用外です"。ああ。あなたはJVMがあなたを辞めたことを意味しますか?アプリケーションが停止した場合、例外があります。 – Gray