HarmonyOS 鸿蒙Next:为什么这里insert会报错?Cannot read property insert of undefined无法读取未定义的属性插入

发布于 1周前 作者 songsunli 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:为什么这里insert会报错?Cannot read property insert of undefined无法读取未定义的属性插入

在学习构建一个关系型数据库,但是Index页面在执行rdb_utils文件定义的加入新数据的函数时老是报错。

7 回复

问题很简单,执行insert时rdb_store对象没有到位,添加日志确认rdb_store初始化完成,getRdbStore方法可能没有按预期正常执行;运行时检查日志确认rdb_store存在;

BookModel 是否是class book_model导出的实例?展示代码没有说明;

建议代码贴关联部分即可;也是自己整理思路的机会。

谢谢你的回复,我推测是context出问题了,本来是在entryability文件里调用getrbdstore接口的,后来改成在rbd_utils.ets后就没问题了,现在已经能正常读写数据库了。

建表语句字段之间不用加逗号吗?

下面这个是你的

const sql = `CREATE TABLE IF NOT EXISTS BOOK_LIST( TYPE CHAR NAME CHAR PAGE CHAR WRITER CHAR VENDOR CHAR ID CHAR PRIMARY KEY IMAGE CHAR );`

你好,谢谢你的回复。 我加上逗号后又在真机上测试了下,还是在报错。按照的官方的示例代码 (https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V2/js-apis-data-relationalstore-0000001493744128-V2#ZH-CN_TOPIC_0000001523648806__insert-1

结果是: Insert is failed, code is undefined,message is undefined 返回了一个空的错误,真是难以理解的情况

你的真机是公司测试机,还是直接用的自己的手机

自己的手机。这个帖子的问题已经解决了,现在数据库插入查询是没问题了,但是数据显示和数据库更新不同步。可以请您看看我最新的问题吗?

在HarmonyOS开发中遇到“Cannot read property ‘insert’ of undefined”错误通常是因为你尝试在一个未定义或尚未正确初始化的对象上调用insert方法。请检查以下几点:

  1. 确保你正在操作的对象已经被正确定义和初始化。
  2. 验证对象是否具有insert方法,或者你是否误用了某个API。
  3. 检查调用insert方法前的逻辑,确认所有前置条件都已满足。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部