HarmonyOS鸿蒙Next中如何使用官方示例读取项目工程下预置的SQLite数据库
HarmonyOS鸿蒙Next中如何使用官方示例读取项目工程下预置的SQLite数据库 我使用官方的这个例子如何读取项目工程下预置的SQLite数据库-行业常见问题-公共关键技术方案 - 华为HarmonyOS开发者,只是换了数据库的名字dbName: string = ‘school.db’,tableName: string = 'student’运行不了,数据库大小 30M左右。报错Error(1) errno is:11 table stu*** has no column nam*** A** in “INSERT INTO stu***(A**,NAME) VALUES (?,?)”.
更多关于HarmonyOS鸿蒙Next中如何使用官方示例读取项目工程下预置的SQLite数据库的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据报错Error(1) errno is:11 table stu*** has no column nam*** A** in “INSERT INTO stu***(A**,NAME) VALUES (?,?)”.,数据库表 stu*** 里面根本不存在 A** 这个字段,原因是官方文档的demo是一个通用案例要根据实际情况修改代码,在官网demo中插入了
constvalueBucket: relationalStore.ValuesBucket = {
'NAME': 'rdbTest',
'AGE': 10,
};
但咱们数据库中并没有AGE这个字段, 可以在operateRdb() 模块中新增
try {
this.store.executeSqlSync(`
ALTER TABLE ${this.tableName}
ADD COLUMN AGE INTEGER
`);
} catch (e) {
}
先检查是否有age字段如果没有自动添加字段就运行成功了
更多关于HarmonyOS鸿蒙Next中如何使用官方示例读取项目工程下预置的SQLite数据库的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
学习了
在HarmonyOS Next中,官方示例通常将预置的SQLite数据库文件置于resources/rawfile目录下。通过getContext().resourceManager.getRawFileContent()获取文件字节流,并将其拷贝到应用沙箱的数据库路径(例如getContext().databaseDir)。然后使用@ohos.data.relationalStore的getRdbStore或相关API创建/打开数据库。具体可参考官方DataAbility或RelationalStore示例代码,注意需配置权限及文件操作。

