HarmonyOS鸿蒙Next中sqlite数据库执行/查询语句不支持注释吗?
HarmonyOS鸿蒙Next中sqlite数据库执行/查询语句不支持注释吗?
store?.execute(this.textSQL)
报错信息是:
SQLite: Generic error.
错误代码:
14800021
根据官方文档也看不出什么原因

有谁知道原因吗?谢谢

更多关于HarmonyOS鸿蒙Next中sqlite数据库执行/查询语句不支持注释吗?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我在APP内(模拟器/win11系统DevEco 6.0),在Text组件渲染汉字,开启长按复制然后粘贴到电脑,遇上乱码情况。不知道跟这个有没有关系?
更多关于HarmonyOS鸿蒙Next中sqlite数据库执行/查询语句不支持注释吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
加油,
在HarmonyOS Next中,SQLite数据库执行查询语句时确实不支持注释。SQLite的标准实现不解析SQL语句中的注释内容,包括单行注释(–)和多行注释(/* */)。所有注释字符会被视为无效语法,可能导致执行错误。若需处理带注释的SQL,应在执行前通过代码移除注释部分。
在HarmonyOS Next的关系型数据库(RdbStore)中,SQLite 执行 SQL 语句时确实不支持注释。这是因为 RdbStore 的 execute() 方法直接传递原始 SQL 字符串给底层 SQLite 引擎,而 SQLite 本身虽然支持注释,但 RdbStore 的接口可能未对含注释的 SQL 进行预处理或兼容性处理,导致解析失败并返回通用错误(错误码 14800021)。
建议在代码中执行 SQL 前手动移除注释(如 -- 或 /* */),确保语句纯净。这与 Navicat 等工具不同,因工具通常会自动过滤注释。编码问题也可能引发乱码,但根据描述,注释移除后正常,核心原因仍是 RdbStore 对注释的兼容性限制。

