【问题标题】:Ormlite escape special characters in Like queryOrmlite 在 Like 查询中转义特殊字符
【发布时间】:2014-08-29 14:53:14
【问题描述】:

我在 Ormlite 中有下一个 where 子句用于查询: where.like("name", "%"+constraint+"%")

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

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

谢谢!

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

【问题讨论】:

    标签: android sqlite escaping ormlite


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 2012-08-23
    • 1970-01-01
    • 2016-01-14
    • 2014-12-14
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多