harmony 鸿蒙@ohos.data.dataSharePredicates (数据共享谓词)

  • 2025-06-12
  • 浏览 (3)

@ohos.data.dataSharePredicates (数据共享谓词)

谓词(DataSharePredicates) 是开发者通过DataShare查询数据库中的数据所使用的筛选条件,经常被应用在更新数据、删除数据和查询数据中。

谓词的接口函数与数据库的筛选条件一一对应,开发者在使用前需了解数据库相关知识。

谓词(DataSharePredicates)的使用场景如下:

  • 用于在媒体文件管理服务作为检索条件使用,参考相册管理模块检索条件。此种场景下,开发者无需关注数据库类型。
  • 用于调用关系型数据库键值型数据库系统接口时的检索条件使用。此种场景下,开发者根据使用的数据库类型参考对应的谓词使用方法。

说明:

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

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

导入模块

import { dataSharePredicates } from '@kit.ArkData';

DataSharePredicates

提供用于不同实现不同查询方法的数据共享谓词。该类型不是多线程安全的,如果应用中存在多线程同时操作该类派生出的实例,注意加锁保护。

equalTo10+

equalTo(field: string, value: ValueType): DataSharePredicates

该接口用于配置谓词以匹配值等于指定值的字段。

目前仅关系型数据库及键值型数据库支持该谓词。

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

原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
field string 数据库表中的列名。
field为undefined或者null时,此次调用接口配置的谓词无效。
value ValueType 指示要与谓词匹配的值。
value为undefined或者null时,此次调用接口配置的谓词无效。

返回值:

类型 说明
DataSharePredicates 返回与指定字段匹配的谓词。

示例:

let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose");

and10+

and(): DataSharePredicates

该接口用于将和条件添加到谓词中。

目前仅关系型数据库及键值型数据库支持该谓词。

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

原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。

返回值:

类型 说明
DataSharePredicates 返回带有和条件的谓词。

示例:

let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "lisi")
    .and()
    .equalTo("SALARY", 200.5);

orderByAsc10+

orderByAsc(field: string): DataSharePredicates

该接口用于配置谓词以匹配其值按升序排序的列。

目前仅关系型数据库及键值型数据库支持该谓词。

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

原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
field string 数据库表中的列名。
field为undefined或者null时,此次调用接口配置的谓词无效。

返回值:

类型 说明
DataSharePredicates 返回与指定字段匹配的谓词。

示例:

let predicates = new dataSharePredicates.DataSharePredicates();
predicates.orderByAsc("AGE");

orderByDesc10+

orderByDesc(field: string): DataSharePredicates

该接口用于配置谓词以匹配其值按降序排序的列。

目前仅关系型数据库及键值型数据库支持该谓词。

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

原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
field string 数据库表中的列名。
field为undefined或者null时,此次调用接口配置的谓词无效。

返回值:

类型 说明
DataSharePredicates 返回与指定字段匹配的谓词。

示例:

let predicates = new dataSharePredicates.DataSharePredicates();
predicates.orderByDesc("AGE");

limit10+

limit(total: number, offset: number): DataSharePredicates

该接口用于配置谓词以指定结果数和起始位置。

目前仅关系型数据库及键值型数据库支持该谓词。

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

原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
total number 最大数据记录数。
当使用键值型数据库且total为undefined或null时,会限制最大记录数为0。
当使用关系型数据库且total为undefined或null时,不会限制最大记录数。
当使用键值型数据库时,取值范围参考键值型数据库limit接口中的total参数说明。
当使用关系型数据库时,取值范围参考关系型数据库limitAs接口中的value参数说明。
offset number 指定查询结果的起始位置。
当offset为undefined或null时,起始位置为结果集的最前端。
当使用键值型数据库时,取值范围参考键值型数据库limit接口中的offset参数说明。
当使用关系型数据库时,取值范围参考关系型数据库offsetAs接口中的rowOffset参数说明。

返回值:

类型 说明
DataSharePredicates 返回与指定字段匹配的谓词。

示例:

let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose").limit(10, 3);

in10+

in(field: string, value: Array<ValueType>): DataSharePredicates

该接口用于配置谓词以匹配值在指定范围内的字段。

目前仅关系型数据库及键值型数据库支持该谓词。

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

原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。

参数:

参数名 类型 必填 说明
field string 数据库表中的列名。
field为undefined或者null时,此次调用接口配置的谓词无效。
value Array<ValueType> 以ValueType型数组形式指定的要匹配的值。

返回值:

类型 说明
DataSharePredicates 返回与指定字段匹配的谓词。

示例:

let predicates = new dataSharePredicates.DataSharePredicates();
predicates.in("AGE", [18, 20]);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkData(方舟数据管理)

harmony 鸿蒙Class (RdbPredicates)

harmony 鸿蒙arkts-apis-data-relationalStore-RdbStore

harmony 鸿蒙Interface (ResultSet)

harmony 鸿蒙Interface (Transaction)

harmony 鸿蒙Enums

harmony 鸿蒙Functions

harmony 鸿蒙Interfaces (其他)

harmony 鸿蒙Types

harmony 鸿蒙模块描述

0  赞