#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】23.【端侧工程】云数据库查询我的病虫害历史记录

通过cloudDatabase.DatabaseZone.query方法查询云数据库中满足条件的数据记录。

打开MyPestPage.ets文件

1.定义存储区、查询条件变量

agDBZone:cloudDatabase.DatabaseZone | undefined=undefined; // 云数据库存储区
  condition:cloudDatabase.DatabaseQuery<cloudDatabase.DatabaseObject> | undefined=undefined; // 查询条件

2.初始化

aboutToAppear(): void {
    // 初始化云数据库
    this.agDBZone = cloudDatabase.zone('NMSS');
    // 先查询首选项中的用户ID,用户手机号登录之后
    this.getMyPest('18866668888');
  }

3.获取我的病虫害诊断历史记录

/**
   * 获取用户诊断历史记录
   * @param userId 用户ID
   */
  async getMyPest(userId:string):Promise<void>{
    this.condition=new cloudDatabase.DatabaseQuery(Pest);
    this.condition.equalTo('UserId',userId).orderByDesc('UpdateDate');
    this.agDBZone?.query(this.condition)
      .then(result =>{
        let ps:Pest[] =result as Pest[];
        ps.forEach((item:Pest)=>{
          let pest:Pest =item as Pest;
          let model:PestModel =new PestModel();
          model.ID=pest.ID;
          model.AGID=pest.AGID;
          model.Type=pest.Type;
          model.ImgUri=pest.Img;
          model.PestName=pest.PestName;
          model.PestCtrl=pest.PestCtrl;
          this.myPests.push(model);
        });
      })
      .catch((err:BusinessError)=>{
        // 无任何操作
      })
  }

注意:数据记录的唯一性,根据当前登录的用户ID(手机号)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿花粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值