DataAbility谓词用于构造关系型数据库的谓词,提供用于实现不同查询方法的谓词。
本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import { dataAbility } from '@kit.ArkData';
dataAbility.createRdbPredicates
createRdbPredicates(name: string, dataAbilityPredicates: DataAbilityPredicates): rdb.RdbPredicates
通过表名和DataAbility谓词对象创建Rdb谓词对象。
系统能力: SystemCapability.DistributedDataManager.DataShare.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | 数据库表中的表名。 |
dataAbilityPredicates | DataAbilityPredicates | 是 | DataAbility谓词。 |
返回值:
类型 | 说明 |
---|---|
rdb.RdbPredicates | 返回RdbPredicates对象。 |
示例:
let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
dataAbilityPredicates.equalTo("NAME", "Rose")
// EMPLOYEE是使用关系型数据库创建的表。
let predicates = dataAbility.createRdbPredicates("EMPLOYEE", dataAbilityPredicates)
DataAbilityPredicates
提供用于实现不同查询方法的谓词。
初始化:
let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
equalTo
equalTo(field: string, value: ValueType): DataAbilityPredicates
配置谓词以匹配数据,数据的指定字段数据类型为ValueType且值等于指定值。
此方法类似于SQL语句的“=”。
系统能力: SystemCapability.DistributedDataManager.DataShare.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | ValueType | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
DataAbilityPredicates | 返回与指定字段匹配的谓词。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
notEqualTo
notEqualTo(field: string, value: ValueType): DataAbilityPredicates
配置谓词以匹配数据,数据的指定字段数据类型为ValueType且不等于指定值。
此方法类似于SQL语句的“!=”。
系统能力: SystemCapability.DistributedDataManager.DataShare.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | ValueType | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
DataAbilityPredicates | 返回与指定字段匹配的谓词。 |
示例:
dataAbilityPredicates.notEqualTo("NAME", "lisi")
beginWrap
beginWrap(): DataAbilityPredicates
在谓词中添加左括号。此方法类似于SQL语句的“(”,需要与endWrap一起使用。
系统能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
类型 | 说明 |
---|---|
DataAbilityPredicates | 返回带有左括号的DataAbility谓词。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
endWrap
endWrap(): DataAbilityPredicates
在谓词中添加右括号。此方法类似于SQL语句的“)”,需要和beginWrap一起使用。
系统能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
类型 | 说明 |
---|---|
DataAbilityPredicates | 返回带有右括号的DataAbility谓词。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
or
or(): DataAbilityPredicates
将或条件添加到谓词中。
此方法类似于SQL语句“or”。
系统能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
类型 | 说明 |
---|---|
DataAbilityPredicates | 返回带有或条件的DataAbility谓词。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Lisa")
.or()
.equalTo("NAME", "Rose")
and
and(): DataAbilityPredicates
将和条件添加到谓词中。
系统能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
类型 | 说明 |
---|---|
DataAbilityPredicates | 返回带有和条件的DataAbility谓词。 |
示例:
dataAbilityPredicates.equalTo("N