ctripcorp / SQLlin

A DSL ORM library for Kotlin Multiplatform.
Apache License 2.0
219 stars 10 forks source link

要存入或要查询的字符串中包含 ' 符号会报错 unrecognized token,这个要怎么解决 #77

Closed Matcha-xiaobin closed 2 months ago

Matcha-xiaobin commented 5 months ago

比如我要写入的一个字符串到指定字段,或者说更新某一个字段的内容,内容如下:

希望的力量~字符串'23~

似乎是因为字符串中包含英文的单引号,上面的内容中只有一个单引号。

写入方式通过直接传递实体类的方式:

        database {
            InfoPageDataTable { table ->
                table INSERT infoData
            }
        }

会报错,其它写入方式我未尝试,因为不会。

不仅写入会报错,查询时,上述内容也会报错。

SQL这方面我不太熟,还请大佬指点一下。

qiaoyuang commented 5 months ago

是个 bug,后面我来修复

qiaoyuang commented 2 months ago

该问题已经在 #82 中修复,之后所有的字符串参数都采用数组的形式传递给 sqllin-driver, 最终由 SQLite 本身将参数绑定至 SQL 语句,兼容了特殊字符情况,1.3.0 发布后即可获得修复后的版本。