HarmonyOS 鸿蒙Next关系型数据库获取到的list数组得不到返回值

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

HarmonyOS 鸿蒙Next关系型数据库获取到的list数组得不到返回值

cke_205.png

cke_420.png

cke_791.png

cke_1258.png

日志先输出的页面中的log内容再输出的数据库自定义函数中的log,我加了await也是这样

cke_26563.png

这里是使用数组的foreach循环,有没有大佬能帮我看看!感谢!

2 回复

你这是没有太理解异步操作与同步操作的区别和正确使用方式,可以看一下有关同步异步思路转换的帖子:

https://developer.huawei.com/consumer/cn/forum/topic/0201148145311180335?fid=0101587866109860105

仔细看看帖子,再去搜索一下Promise, async/await 的用法,有些文章中有测试小代码,可以帮助真正理解各个语法的实际效果,这样写出来的代码和自己的想法才会吻合。

当前这个问题里不能直接将函数调用作为结果直接赋值给数组,由于异步特性,调用时并无数据返回,真正的数据是延后产生的,所以直接赋值得不到结果;你自定义的方法中调用了异步函数但自身未正确使用异步函数的两种形式之一来继承异步特性,需要改造一下,Callback 或 Promise 两者选择一个来定义此函数才方便调用方使用;API中多数接口函数也是用这两种形式各有一个函数。先把异步函数使用的正确方式理顺,代码中与预期不符的情况就会少很多。

在HarmonyOS鸿蒙系统中,若你在使用Next关系型数据库时遇到获取list数组无返回值的问题,可能是由以下几个常见原因导致的:

  1. 查询语句错误:首先确认你的SQL查询语句是否正确无误,特别是关于表名和字段名的拼写,以及逻辑运算符的使用。

  2. 数据库连接问题:检查数据库连接是否成功建立,包括连接字符串、用户名和密码是否正确。

  3. 数据权限:确认当前用户是否有足够的权限去访问数据库中的数据。

  4. 结果集处理:检查你的代码中对结果集的处理逻辑,确保正确地从结果集中提取数据并存储到list数组中。

  5. 异常处理:查看是否有异常被抛出但未被捕获,导致程序静默失败。增加适当的异常捕获和处理逻辑,可以帮助定位问题。

  6. 版本兼容性:确认你的鸿蒙系统版本和Next关系型数据库的库版本是否兼容。

如果以上步骤均检查无误但问题依旧存在,建议直接联系官网客服以获取更专业的技术支持。官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部