当前位置:   article > 正文

HarmonyOS实战开发:@ohos.data.dataShareResultSet (数据共享结果集)_(resultset as datashareresultset).getstring

(resultset as datashareresultset).getstring

结果集(DataShareResultSet) 可提供访问由查询数据库生成的结果集的相关方法,根据提供的行数,查询相应的值,也可查询指定数据类型的值。

说明:

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口为系统接口。

本模块接口仅可在Stage模型下使用。

导入模块

import DataShareResultSet from '@ohos.data.DataShareResultSet';

使用说明

需要通过调用query接口获取DataShareResultSet对象。

  1. import dataShare from '@ohos.data.dataShare';
  2. import dataSharePredicates from '@ohos.data.dataSharePredicates'
  3. import { BusinessError } from '@ohos.base'
  4. import UIAbility from '@ohos.app.ability.UIAbility'
  5. let dataShareHelper: dataShare.DataShareHelper | undefined = undefined;
  6. let uri = ("datashare:///com.samples.datasharetest.DataShare");
  7. let context = getContext(UIAbility);
  8. dataShare.createDataShareHelper(context, uri, (err, data) => {
  9. if (err != undefined) {
  10. console.error("createDataShareHelper fail, error message : " + err);
  11. } else {
  12. console.info("createDataShareHelper end, data : " + data);
  13. dataShareHelper = data;
  14. }
  15. });
  16. let columns = ["*"];
  17. let da = new dataSharePredicates.DataSharePredicates();
  18. let resultSet: DataShareResultSet | undefined = undefined;
  19. da.equalTo("name", "ZhangSan");
  20. if (dataShareHelper != undefined) {
  21. (dataShareHelper as dataShare.DataShareHelper).query(uri, da, columns).then((data: DataShareResultSet) => {
  22. console.info("query end, data : " + data);
  23. resultSet = data;
  24. }).catch((err: BusinessError) => {
  25. console.error("query fail, error message : " + err);
  26. });
  27. }

DataShareResultSet

提供通过查询数据库生成的结果集的相关访问方法。

列或键名称作为字符串数组返回,其中字符串的顺序与结果集中的列或键的顺序相同。

属性

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

名称类型必填说明
columnNames数组<字符串>结果集中所有列的名称。
columnCount结果集中的列数。
rowCount结果集中的行数。
isClosed布尔标识当前结果集是否关闭。

goToFirstRow

goToFirstRow(): boolean

转到结果集的第一行。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

返回值:

类型说明
布尔如果成功移动结果集,则为true;否则返回false。

示例:

  1. // resultSet需依照本页的使用说明进行创建。
  2. if (resultSet != undefined) {
  3. let isGoToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  4. console.info('resultSet.goToFirstRow: ' + isGoToFirstRow);
  5. }

goToLastRow

goToLastRow(): boolean

转到结果集的最后一行。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

返回值:

类型说明
布尔如果成功移动结果集,则为true;否则返回false。

示例:

  1. if (resultSet != undefined) {
  2. let isGoToLastRow = (resultSet as DataShareResultSet).goToLastRow();
  3. console.info('resultSet.goToLastRow: ' + isGoToLastRow);
  4. }

goToNextRow

goToNextRow(): boolean

转到结果集的下一行。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

返回值:

类型说明
布尔如果成功移动结果集,则为true;否则返回false。

示例:

  1. if (resultSet != undefined) {
  2. let isGoToNextRow = (resultSet as DataShareResultSet).goToNextRow();
  3. console.info('resultSet.goToNextRow: ' + isGoToNextRow);
  4. }

goToPreviousRow

goToPreviousRow(): boolean

转到结果集的上一行。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

  1. if (resultSet != undefined) {
  2. let isGoToPreviousRow = (resultSet as DataShareResultSet).goToPreviousRow();
  3. console.info('resultSet.goToPreviousRow: ' + isGoToPreviousRow);
  4. }

goTo

goTo(offset: number): boolean

相对于当前位置向前或向后移动指定行数。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
offsetnumber表示相对于当前位置的偏移量。offset为负值表示向前偏移,正值则表示向后偏移。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

  1. let goToNum = 1;
  2. if (resultSet != undefined) {
  3. let isGoTo = (resultSet as DataShareResultSet).goTo(goToNum);
  4. console.info('resultSet.goTo: ' + isGoTo);
  5. }

goToRow

goToRow(position: number): boolean

转到结果集的指定行。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
positionnumber表示要移动到的指定位置。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

  1. let goToRowNum = 2;
  2. if (resultSet != undefined) {
  3. let isGoToRow = (resultSet as DataShareResultSet).goToRow(goToRowNum);
  4. console.info('resultSet.goToRow: ' + isGoToRow);
  5. }

getBlob

getBlob(columnIndex: number): Uint8Array

以字节数组的形式获取当前行中指定列的值。

如果当前行中指定的列或键的值为空,或者指定的列或键不是Blob类型,则使用方需要确定是否抛出此异常。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
columnIndex指定的列索引,从0开始。

返回值:

类型说明
Uint8Array以字节数组的形式返回指定列的值。

示例:

  1. let columnIndex = 1;
  2. if (resultSet != undefined) {
  3. let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  4. let getBlob = (resultSet as DataShareResultSet).getBlob(columnIndex);
  5. console.info('resultSet.getBlob: ' + getBlob);
  6. }

getString

getString(columnIndex: number): string

以字符串形式获取当前行中指定列的值。

如果当前行中指定的列或键的值为空,或者指定的列或键不是string类型,则使用方需要确定是否抛出此异常。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
columnIndex指定的列索引,从0开始。

返回值:

类型说明
字符串以字符串形式返回指定列的值。

示例:

  1. let columnIndex = 1;
  2. if (resultSet != undefined) {
  3. let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  4. let getString = (resultSet as DataShareResultSet).getString(columnIndex);
  5. console.info('resultSet.getString: ' + getString);
  6. }

getLong

getLong(columnIndex: number): number

以长整数值形式获取当前行中指定列的值。

如果当前行中指定的列或键的值为空,或者指定的列或键不是long类型,则使用方需要确定是否抛出此异常。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
columnIndex指定的列索引,从0开始。

返回值:

类型说明
以长整数值形式返回指定列的值。

示例:

  1. let columnIndex = 1;
  2. if (resultSet != undefined) {
  3. let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  4. let getLong = (resultSet as DataShareResultSet).getLong(columnIndex);
  5. console.info('resultSet.getLong: ' + getLong);
  6. }

getDouble

getDouble(columnIndex: number): number

以值类型为双浮点数形式获取当前行中指定列的值。

如果当前行中指定的列或键的值为空,或者指定的列或键不是double类型,则使用方需要确定是否抛出此异常。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
columnIndexnumber指定的列索引,从0开始。

返回值:

类型说明
number值类型为双浮点数形式返回指定列的值。

示例:

  1. let columnIndex = 1;
  2. if (resultSet != undefined) {
  3. let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  4. let getDouble = (resultSet as DataShareResultSet).getDouble(columnIndex);
  5. console.info('resultSet.getDouble: ' + getDouble);
  6. }

close

close(): void

关闭结果集。

对结果集调用此方法将释放其所有资源并使其无效。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

示例:

  1. if (resultSet != undefined) {
  2. (resultSet as DataShareResultSet).close();
  3. }

getColumnIndex

getColumnIndex(columnName: string): number

根据指定的列名获取列索引。

列名作为输入参数传递。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
columnNamestring表示结果集中指定列的名称。

返回值:

类型说明
number返回指定列的索引。

示例:

  1. let ColumnName = "name";
  2. if (resultSet != undefined) {
  3. let getColumnIndex = (resultSet as DataShareResultSet).getColumnIndex(ColumnName);
  4. console.info('resultSet.getColumnIndex: ' + getColumnIndex);
  5. }

getColumnName

getColumnName(columnIndex: number): string

根据指定的列索引获取列名。

列索引作为输入参数传递。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
columnIndexnumber表示结果集中指定列的索引。

返回值:

类型说明
string返回指定列的名称。

示例:

  1. let columnIndex = 1;
  2. if (resultSet != undefined) {
  3. let getColumnName = (resultSet as DataShareResultSet).getColumnName(columnIndex);
  4. console.info('resultSet.getColumnName: ' + getColumnName);
  5. }

getDataType

getDataType(columnIndex: number): DataType

指定列索引获取该列的数据类型。

如果当前行中指定的列或键的值为空,或者指定的列或键不是DataType类型,则使用方需要确定是否抛出此异常。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

参数:

参数名类型必填说明
columnIndex表示结果集中指定列的索引。

返回值:

类型说明
DataType返回指定列的类型。

示例:

  1. let columnIndex = 1;
  2. if (resultSet != undefined) {
  3. let getDataType = (resultSet as DataShareResultSet).getDataType(columnIndex);
  4. console.info('resultSet.getDataType: ' + getDataType);
  5. }

DataType

数据类型枚举。

系统能力: SystemCapability.DistributedDataManager.DataShare.Core

名称说明
TYPE_NULL0表示值类型为空。
TYPE_LONG1表示值类型为长整数值。
TYPE_DOUBLE2表示值类型为双浮点数。
TYPE_STRING3表示值类型为字符串。
TYPE_BLOB4表示值类型为字节数组。

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/985232
推荐阅读
相关标签
  

闽ICP备14008679号