How to escape _ (underscore) character

46 views
Skip to first unread message

Felipe Ayres

unread,
Jul 28, 2016, 11:54:27 AM7/28/16
to ORMLite Users
Hi,

I have a simple method to filter a domain by name:

public List<Domain> filterByName(String p_name)
{
QueryBuilder<Domain, Integer> v_queryBuilder = this.queryBuilder();
Where<Domain, Integer> v_where = v_queryBuilder.where();
v_where.like("name", "%" + p_name + "%");
return v_queryBuilder.query();
}

When I search for "mmm_222" it also find "mmmB222", underscore works like a wildcard there. How can I escape underscore? 

Already tried:

public List<Domain> filterByName(String p_name)
{
QueryBuilder<Domain, Integer> v_queryBuilder = this.queryBuilder();
Where<Domain, Integer> v_where = v_queryBuilder.where();
v_where.like("name",  "%" + p_name.replace("_", "[_]") + "%");
return v_queryBuilder.query();
}

And

public List<Domain> filterByName(String p_name)
{
QueryBuilder<Domain, Integer> v_queryBuilder = this.queryBuilder();
Where<Domain, Integer> v_where = v_queryBuilder.where();
SelectArg v_selectArg = new SelectArg();
v_selectArg.setValue("%" + p_name + "%");
v_where.like("name", v_selectArg);
return v_queryBuilder.query();
}

But it do not work...

Any sugestion?

Thank you!
Reply all
Reply to author
Forward
0 new messages