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](/user/Entry)
[@Component](/user/Component)
struct Index {
  userVm = new UserVm();
  [@State](/user/State) isShow: boolean = false;
  [@State](/user/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); } }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

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

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

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

回到顶部