Ormlite在Like查询中转义特殊字符

时间:2014-08-29 14:53:14

标签: android sqlite escaping ormlite

我在Ormlite中有查询的where子句: where.like(" name","%" + constraint +"%")

如果有人输入'%'在搜索字段中,它将返回所有结果。 有本机Ormlite类SelectArg但在这种情况下它不起作用。

是否有一种简单的方法可以使用Ormlite转义所有字符以进行类似查询?

谢谢!

UPD:通过添加转义字符详细信息http://pigtailsoft.com/blog/?p=179 on web.archive.org

手动解决此问题

1 个答案:

答案 0 :(得分:1)

  

是否有一种简单的方法可以使用Ormlite转义所有字符以进行类似查询?

ORMLite没有执行此操作的功能。我处理约束并在'%'之前添加反斜杠。也许是这样的:

StringBuilder sb = new StringBuilder();
for (char ch : constraint.toCharArray()) {
    if (ch == '%') {
        sb.append('\\');
    }
    sb.append(ch);
}
constraint = sb.toString();