HarmonyOS 鸿蒙Next官方文档的关系型数据库示例代码没法有效运行

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next官方文档的关系型数据库示例代码没法有效运行 官方文档里的示例代码,先定义了store为undefined类型,后面判断是否为undefined来插入数据

但是store一直是undefined,没法有效运行啊

let store: relationalStore.RdbStore | undefined = undefined;

let value1 = 'Lisa';
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
let value5 = BigInt('15822401018187971961171');
// 以下三种方式可用
const valueBucket1: relationalStore.ValuesBucket = {
  'NAME': value1,
  'AGE': value2,
  'SALARY': value3,
  'CODES': value4,
  'IDENTITY': value5,
};
const valueBucket2: relationalStore.ValuesBucket = {
  NAME: value1,
  AGE: value2,
  SALARY: value3,
  CODES: value4,
  IDENTITY: value5,
};
const valueBucket3: relationalStore.ValuesBucket = {
  "NAME": value1,
  "AGE": value2,
  "SALARY": value3,
  "CODES": value4,
  "IDENTITY": value5,
};

if (store !== undefined) {
  (store as relationalStore.RdbStore).insert('EMPLOYEE', valueBucket1, (err: BusinessError, rowId: number) => {
    if (err) {
      console.error(`Failed to insert data. Code:${err.code}, message:${err.message}`);
      return;
    }
    console.info(`Succeeded in inserting data. rowId:${rowId}`);
  })
}

更多关于HarmonyOS 鸿蒙Next官方文档的关系型数据库示例代码没法有效运行的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复
getRdbStore() {
  const STORE_CONFIG: relationalStore.StoreConfig = {
    name: "RdbTest.db",
    securityLevel: relationalStore.SecurityLevel.S1
  };

  relationalStore.getRdbStore(this.context, STORE_CONFIG,
    (err: BusinessError, rdbStore: relationalStore.RdbStore) => {
      this.store = rdbStore;
      if (err) {
        console.error(`WRYCHH Get RdbStore failed, code is ${err.code},message is ${err.message}`);
        return;
      }
      console.info('WRYCHH Get RdbStore successfully.');
      this.insert();
    })
}

insert() {
  let value1 = "Lisa";
  let value2 = 18;
  let value3 = 100.5;
  let value4 = new Uint8Array([1, 2, 3, 4, 5]);
  const valueBucket: ValuesBucket = {
    'NAME': value1,
    'AGE': value2,
    'SALARY': value3,
    'CODES': value4,
  };

  if (this.store != undefined) {
    const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB, IDENTITY UNLIMITED INT)'; // 建表Sql语句,IDENTITY为bigint类型,sql中指定类型为UNLIMITED INT

    // 当数据库创建时,数据库默认版本为0
    if (this.store.version === 0) {
      this.store.executeSql(SQL_CREATE_TABLE); // 创建数据表
      // 设置数据库的版本,入参为大于0的整数
      this.store.version = 1;
    }

    this.store.insert("EMPLOYEE", valueBucket, 
      (err: BusinessError, rowId: number) => {
        if (err) {
          console.error(`WRYCHH Insert is failed, code is ${err.code},message is ${err.message}`);
          return;
        }
        console.info(`WRYCHH Insert is successful, rowId = ${rowId}`);
      })
  }
}

更多关于HarmonyOS 鸿蒙Next官方文档的关系型数据库示例代码没法有效运行的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


就是获取了还不行才发帖的···,

项目名称

  • 状态:已完成
  • 类型:Web应用
  • 描述:这是一个用于管理日常任务的应用程序。
  • 创建者:张三
  • 创建时间:2023-04-01
  • 最后更新:2023-04-10

成员

  • 张三
  • 李四
  • 王五

特性

  • 用户管理
  • 任务列表
  • 日历视图

针对HarmonyOS鸿蒙Next官方文档中的关系型数据库示例代码无法有效运行的问题,可能的原因及解决方向如下:

  1. 环境配置检查

    • 确保你的开发环境已正确安装并配置了HarmonyOS SDK,以及所有必要的依赖库。
    • 验证数据库服务是否已在你的鸿蒙设备上启动并运行。
  2. 代码兼容性

    • 检查示例代码是否与你使用的HarmonyOS版本兼容。不同版本的API可能有差异。
    • 确认代码中使用的数据库操作是否符合鸿蒙系统的数据库规范。
  3. 权限问题

    • 确保你的应用已申请并获得了访问数据库的相应权限。
  4. 代码错误

    • 仔细检查示例代码,看是否有语法错误、逻辑错误或遗漏的关键步骤。
    • 尝试将示例代码逐步分解执行,以确定问题出现的具体位置。
  5. 日志分析

    • 查看运行时的日志输出,分析是否有异常信息或错误提示,这有助于定位问题。

如果经过上述检查后问题依旧没法解决,请联系官网客服。官网地址是:https://www.itying.com/category-93-b0.html。他们将能够提供更专业的帮助和支持。

回到顶部