HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据

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

HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据

愁煞老夫!求指导帮助!

云数据库 定义数据类型时,id字段设为 Integer ,按照如下教程可查询得到数据。

云数据库服务支持API12,请参考Cloud Foundation Kit文档完成功能开发。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/cloudfoundation-introduction-V5

但是id字段需要自增,一旦设定 id为自增字段(如下图),

即使端侧 更新 schema.json ,也查询不到数据,返回错误为:

 Failed to query , Code: 1008230009, message: Process query resp error.

cke_7037.png


更多关于HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

等不及了,先用个本办法吧:

将ID字段设为UUID(字符串)

uuid生成方法:

import { util } from '@kit.ArkTS';
let id=util.generateRandomUUID()

util工具函数中通过util.generateRandomUUID接口提供了生成uuid的相应功能,具体使用可参考如下链接:

参考链接

util.generateRandomUUID


UUID是国际标准化组织ISO)提出的一个概念。UUID是一个128比特的数值,这个数值可以通过一定的算法计算出来。为了提高效率,常用的UUID可缩短至16位。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识。一般来说,可以保证这个值是真正唯一的任何地方产生的任意一个UUID都不会有相同的值。使用UUID的一个好处是可以为新的服务创建新的标识符。这样一来,客户端在查找一个服务时,只需要在它的服务查找请求中指出与某类服务(或某个特定服务)有关的UUID,如果服务的提供者能将可用的服务与这个UUID相匹配,就返回一个响应。

UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡MAC地址)等数据计算生成的。UUID可以被任何人独立创建,并按需发布。UUID没有集中管理机构,因为它们是不会被复制的独特标识符。属性协议允许设备使用UUID识别属性类型,从而不需要用读/写请求来识别它们的本地句柄

更多关于HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


楼主解决了吗,我也遇到了同样的问题

有什么好方法吗?好着急呀。

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

试一下把id设成IntAutocrement吧,也是自增主键并非空。

在HarmonyOS鸿蒙Next端侧开发中,如果云数据库设置自增字段后查询不到数据,这通常与数据同步和查询条件设置有关。

  1. 数据同步问题:自增字段的设定可能会影响数据同步过程。检查数据是否成功上传至云端,以及端侧是否成功拉取到最新数据。有时数据同步会有延迟,确认同步状态是关键。

  2. 查询条件错误:在设置自增字段后,如果查询条件中未正确使用该字段,或者使用了错误的字段值,将无法查询到目标数据。确保查询条件正确无误,并且符合数据库中的数据状态。

  3. 字段类型不匹配:检查自增字段的类型是否与查询条件中的类型一致。类型不匹配会导致查询失败。

  4. 权限问题:确认当前用户是否有权限查询该字段。权限不足也会导致查询不到数据。

  5. 数据库版本:确认鸿蒙端和云端的数据库版本是否一致。版本不一致可能会导致数据不兼容或查询失败。

如果以上检查均无误,但问题依旧存在,可能是数据库系统内部的bug或其他未知问题。此时,建议直接联系官方客服进行进一步的排查和解决。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部