DataAbility 謂詞
DataAbility 謂詞用于構(gòu)造關(guān)系型數(shù)據(jù)庫(kù)的謂詞,提供用于實(shí)現(xiàn)不同查詢方法的謂詞。
說明:
開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
導(dǎo)入模塊
import dataAbility from '@ohos.data.dataAbility';
dataAbility.createRdbPredicates
createRdbPredicates(name: string, dataAbilityPredicates: DataAbilityPredicates): rdb.RdbPredicates
從DataAbilityPredicates對(duì)象創(chuàng)建RdbPredicates對(duì)象。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 數(shù)據(jù)庫(kù)表中的表名。 |
dataAbilityPredicates | [DataAbilityPredicates] | 是 | DataAbility謂詞。 |
返回值:
類型 | 說明 |
---|---|
rdb.[RdbPredicates] | 返回RdbPredicates對(duì)象。 |
示例:
let dataAbilityPredicates = new dataAbility.DataAbilityPredicates()
dataAbilityPredicates.equalTo("NAME", "Rose").between("AGE", 16, 30)
let predicates = dataAbility.createRdbPredicates("EMPLOYEE", dataAbilityPredicates)
DataAbilityPredicates
提供用于實(shí)現(xiàn)不同查詢方法的謂詞。
equalTo
equalTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType且值等于指定值的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
notEqualTo
notEqualTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType且值不等于指定值的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.notEqualTo("NAME", "lisi")
beginWrap
beginWrap(): DataAbilityPredicates
向謂詞添加左括號(hào)。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有左括號(hào)的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
endWrap
endWrap(): DataAbilityPredicates
向謂詞添加右括號(hào)。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有右括號(hào)的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
or
or(): DataAbilityPredicates
將或條件添加到謂詞中。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有或條件的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Lisa")
.or()
.equalTo("NAME", "Rose")
and
and(): DataAbilityPredicates
將和條件添加到謂詞中。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回帶有和條件的DataAbility謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Lisa")
.and()
.equalTo("SALARY", 200.5)
contains
contains(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為string且value包含指定值的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.contains("NAME", "os")
beginsWith
beginsWith(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為string且值以指定字符串開頭的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.beginsWith("NAME", "os")
endsWith
endsWith(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為string且值以指定字符串結(jié)尾的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.endsWith("NAME", "se")
isNull
isNull(field: string): DataAbilityPredicates
配置謂詞以匹配值為null的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.isNull("NAME")
isNotNull
isNotNull(field: string): DataAbilityPredicates
配置謂詞以匹配值不為null的指定字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.isNotNull("NAME")
like
like(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為string且值類似于指定字符串的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.like("NAME", "%os%")
glob
glob(field: string, value: string): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為string的指定字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | string | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.glob("NAME", "?h*g")
between
between(field: string, low: ValueType, high: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType且value在指定范圍內(nèi)的指定字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
low | [ValueType] | 是 | 指示與謂詞匹配的最小值。 |
high | [ValueType] | 是 | 指示與謂詞匹配的最大值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.between("AGE", 10, 50)
notBetween
notBetween(field: string, low: ValueType, high: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType且value超出給定范圍的指定字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
low | [ValueType] | 是 | 指示與謂詞匹配的最小值。 |
high | [ValueType] | 是 | 指示與謂詞匹配的最大值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.notBetween("AGE", 10, 50)
greaterThan
greaterThan(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType且值大于指定值的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.greaterThan("AGE", 18)
lessThan
lessThan(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為valueType且value小于指定值的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.lessThan("AGE", 20)
greaterThanOrEqualTo
greaterThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType且value大于或等于指定值的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.greaterThanOrEqualTo("AGE", 18)
lessThanOrEqualTo
lessThanOrEqualTo(field: string, value: ValueType): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType且value小于或等于指定值的字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | [ValueType] | 是 | 指示要與謂詞匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.lessThanOrEqualTo("AGE", 20)
orderByAsc
orderByAsc(field: string): DataAbilityPredicates
配置謂詞以匹配其值按升序排序的列。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.orderByAsc("NAME")
orderByDesc
orderByDesc(field: string): DataAbilityPredicates
配置謂詞以匹配其值按降序排序的列。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.orderByDesc("AGE")
distinct
distinct(): DataAbilityPredicates
配置謂詞以過濾重復(fù)記錄并僅保留其中一個(gè)。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回可用于過濾重復(fù)記錄的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Rose").distinct()
limitAs
limitAs(value: number): DataAbilityPredicates
設(shè)置最大數(shù)據(jù)記錄數(shù)的謂詞。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
value | number | 是 | 最大數(shù)據(jù)記錄數(shù)。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回可用于設(shè)置最大數(shù)據(jù)記錄數(shù)的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Rose").limitAs(3)
offsetAs
offsetAs(rowOffset: number): DataAbilityPredicates
配置謂詞以指定返回結(jié)果的起始位置。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
rowOffset | number | 是 | 返回結(jié)果的起始位置,取值為正整數(shù)。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回具有指定返回結(jié)果起始位置的謂詞。 |
示例:
dataAbilityPredicates.equalTo("NAME", "Rose").offsetAs(3)
groupBy
groupBy(fields: Array): DataAbilityPredicates
配置謂詞按指定列分組查詢結(jié)果。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
fields | Array | 是 | 指定分組依賴的列名。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回分組查詢列的謂詞。 |
示例:
dataAbilityPredicates.groupBy(["AGE", "NAME"])
indexedBy
indexedBy(field: string): DataAbilityPredicates
配置謂詞以指定索引列。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
indexName | string | 是 | 索引列的名稱。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回具有指定索引列的謂詞。 |
示例:
dataAbilityPredicates.indexedBy("SALARY_INDEX")
in
in(field: string, value: Array): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType數(shù)組且值在給定范圍內(nèi)的指定字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | Array<[ValueType]> | 是 | 以ValueType類型數(shù)組形式指定的要匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.in("AGE", [18, 20])
notIn
notIn(field: string, value: Array): DataAbilityPredicates
配置謂詞以匹配數(shù)據(jù)類型為ValueType數(shù)組且值不在給定范圍內(nèi)的指定字段。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
field | string | 是 | 數(shù)據(jù)庫(kù)表中的列名。 |
value | Array<[ValueType]> | 是 | 以ValueType類型數(shù)組形式指定的要匹配的值。 |
返回值:
類型 | 說明 |
---|---|
[DataAbilityPredicates] | 返回與指定字段匹配的謂詞。 |
示例:
dataAbilityPredicates.notIn("NAME", ["Lisa", "Rose"])
ValueType
用于表示允許的數(shù)據(jù)字段類型。
系統(tǒng)能力: SystemCapability.DistributedDataManager.DataShare.Core。
名稱 | 說明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|
number | 表示值類型為數(shù)字。 |
string | 表示值類型為字符。 |
boolean | 表示值類型為布爾值。 |
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8706瀏覽量
151971 -
數(shù)據(jù)管理
+關(guān)注
關(guān)注
1文章
300瀏覽量
19684 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2393瀏覽量
43079
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
HarmonyOS應(yīng)用開發(fā)-訪問DataAbility問題記錄
基于Rdb創(chuàng)建的一個(gè)Data_Ability的數(shù)據(jù)操作過程
DataAbility的使用方法及訪問數(shù)據(jù)庫(kù)的過程
sdk5鴻蒙利用文件管理器獲取文件Uri的過程
求助,練習(xí)DataAbility時(shí)用模擬器啟動(dòng)出現(xiàn)編譯問題要如何解決?
HarmonyOS/OpenHarmony應(yīng)用開發(fā)-DataAbility開發(fā)體驗(yàn)
HarmonyOS/OpenHarmony應(yīng)用開發(fā)API-DataAbilityResult能力
鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedData (分布式數(shù)據(jù)管理)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>數(shù)據(jù)管理</b>:【@<b class='flag-5'>ohos.data</b>.distributedData (分布式<b class='flag-5'>數(shù)據(jù)管理</b>)】](https://file1.elecfans.com/web2/M00/ED/44/wKgaomZiYtqAeD3lAABQ0iJCe48630.png)
鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedDataObject (分布式數(shù)據(jù)對(duì)象)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>數(shù)據(jù)管理</b>:【@<b class='flag-5'>ohos.data</b>.distributedDataObject (分布式<b class='flag-5'>數(shù)據(jù)</b>對(duì)象)】](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.rdb (關(guān)系型數(shù)據(jù)庫(kù))】
鴻蒙開發(fā)組件:DataAbility的生命周期
鴻蒙開發(fā)組件:創(chuàng)建DataAbility
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>組件:創(chuàng)建<b class='flag-5'>DataAbility</b>](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開發(fā)組件:?jiǎn)?dòng)與訪問DataAbility
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>組件:?jiǎn)?dòng)與訪問<b class='flag-5'>DataAbility</b>](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開發(fā)組件:DataAbility權(quán)限控制
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>組件:<b class='flag-5'>DataAbility</b>權(quán)限控制](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙開發(fā)Ability Kit程序框架服務(wù):DataAbility切換 組件切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務(wù):<b class='flag-5'>DataAbility</b>切換 組件切換](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
評(píng)論