HarmonyOS 鸿蒙Next relationalStore (关系型数据库)

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

HarmonyOS 鸿蒙Next relationalStore (关系型数据库)
有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

8 回复

查询数据的时候有点没明白执行逻辑,查询代码如下

cke_1134.png

打印的log如下(SQL初始化成功是在入口ability中调用了初始化的方法打印出来的)

cke_4518.png

想要的效果是返回的shops里面有查询到的数据集合,但是好像是先直接返回了,然后才执行了数据库的查询操作,是因为这个查询是异步过程吗?

如果需要操作查询的结果是不是只能在外部调用selectValue().then....

求赐教!

类似这样处理

return new Promise<Record<string, string>>(async(resolve, reject) => {

         let result: Record<string, string> = { 'message': '成功', 'code': '100' }

          resolve(result)

});

谢谢老哥!

数据库操作是耗时操作是异步的。

理解为烧水时有一个过程的不可能直接得到结果,模拟你的操作写了个示例:

@Entry
@Component
struct Index {
  userVm = new UserVm();
  @State isShow: boolean = false;
  @State dataList: string[] = [];

  queryData() {
    this.isShow = true;
    this.userVm.getUserList((list) => {
      this.isShow = false;
      this.dataList.push(...list);
    });
  }

  build() {
    Column() {
      Button("查询数据")
        .onClick(() => this.queryData());
      Text("数据查询中...")
        .visibility(this.isShow ? Visibility.Visible : Visibility.None);
      ForEach(this.dataList, (item: string) => {
        Text(item);
      });
    }
  }
}

class UserVm {
  getUserList(callback: (dataList: string[]) => void) {
    //模拟耗时操作异步回调
    setTimeout(() => {
      //模拟返回的数据
      let list: string[] = [];
      for (let i = 0; i < 10; i++) {
        list.push(`Item_${i}`);
      }
      //调用外部传入的回调函数
      callback(list);
    }, 2000);
  }
}

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

这是一个异步过程,你可以用promise封装一下。

HarmonyOS中的Next relationalStore(关系型数据库)是专为鸿蒙系统设计的,旨在提供高效、稳定的数据存储解决方案。它支持标准的SQL操作,适合用于结构化数据的存储和查询。若你在使用时遇到问题,建议首先检查你的数据库连接配置、SQL语句的正确性以及版本兼容性。确保所有依赖和库都是最新的,并且与你的鸿蒙系统版本相匹配。

鸿蒙Next教程已发布,可以先学学:https://www.itying.com/category-93-b0.html

回到顶部