Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
9503c250
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
9503c250
编写于
6月 28, 2022
作者:
O
openharmony_ci
提交者:
Gitee
6月 28, 2022
浏览文件
操作
浏览文件
下载
差异文件
!4449 【DataShare】datashareJSAPI接口说明文档新增
Merge pull request !4449 from songruirui/master
上级
d57fcbc5
df9e3dab
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
2584 addition
and
0 deletion
+2584
-0
zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md
...nce/apis/js-apis-application-DataShareExtensionAbility.md
+354
-0
zh-cn/application-dev/reference/apis/js-apis-data-DataShareResultSet.md
...ion-dev/reference/apis/js-apis-data-DataShareResultSet.md
+424
-0
zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md
...plication-dev/reference/apis/js-apis-data-ValuesBucket.md
+38
-0
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
.../application-dev/reference/apis/js-apis-data-dataShare.md
+907
-0
zh-cn/application-dev/reference/apis/js-apis-data-dataSharePredicates.md
...on-dev/reference/apis/js-apis-data-dataSharePredicates.md
+861
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md
0 → 100644
浏览文件 @
9503c250
# 数据共享扩展能力
**DataShareExtensionAbility**
基于ExtensionAbility框架,提供支持数据共享业务的能力。
>**说明:**
>
>本模块首批接口从API version 9开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
>本模块接口为系统接口。
>
>本模块接口仅可在Stage模型下使用。
## 导入模块
```
ts
import
DataShareExtensionAbility
from
'
@ohos.application.DataShareExtensionAbility
'
```
## onCreate
onCreate?(want: Want, callback: AsyncCallback
<
void
>
): void
DataShare客户端连接DataShareExtensionAbility服务端时,服务端回调此接口,执行初始化业务逻辑操作。该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| want |
[
Want
](
js-apis-application-Want.md#want
)
| 是 | Want类型信息,包括ability名称、bundle名称等。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数。无返回值。 |
**示例:**
```
ts
import
rdb
from
'
@ohos.data.rdb
'
;
let
DB_NAME
=
"
DB00.db
"
;
let
TBL_NAME
=
"
TBL00
"
;
let
DDL_TBL_CREATE
=
"
CREATE TABLE IF NOT EXISTS
"
+
TBL_NAME
+
"
(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)
"
;
let
rdbStore
;
onCreate
(
want
:
Want
,
callback
:
AsyncCallback
<
void
>
)
{
rdb
.
getRdbStore
(
this
.
context
,
{
name
:
DB_NAME
},
1
,
function
(
err
,
data
)
{
console
.
log
(
'
getRdbStore done, data :
'
+
data
);
rdbStore
=
data
;
rdbStore
.
executeSql
(
DDL_TBL_CREATE
,
[],
function
(
err
)
{
console
.
log
(
'
executeSql done, error message :
'
+
err
);
});
if
(
callback
)
{
callback
();
}
});
}
```
## getFileTypes
getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback
<
Array
<
string
>>
): void
获取支持文件的MIME类型时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------------- | ---------------------------------------- | ---- | ---------------------------------- |
| uri | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 |
| callback | AsyncCallback
<
Array
<
string
>>
| 是 | 回调函数。返回匹配的MIME类型数组。 |
**示例:**
```
ts
getFileTypes
(
uri
:
string
,
mimeTypeFilter
:
string
,
callback
:
AsyncCallback
<
Array
<
string
>>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
new
Array
(
"
type01
"
,
"
type02
"
,
"
type03
"
);
callback
(
err
,
ret
);
}
```
## openFile
openFile?(uri: string, mode: string, callback: AsyncCallback
<
number
>
): void
在打开文件时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ------------------------------------------ |
| uri | string | 是 | 指示要打开的文件的路径。 |
| mode | string | 是 | 指示文件打开模式,包括只读模式,读写模式。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回文件描述符。 |
**示例:**
```
ts
openFile
(
uri
:
string
,
mode
:
string
,
callback
:
AsyncCallback
<
number
>
)
{
let
err
=
{
"
code
"
:
0
};
let
fd
=
0
;
callback
(
err
,
fd
);
}
```
## insert
insert?(uri: string, valueBucket: ValuesBucket, callback: AsyncCallback
<
number
>
): void
在数据库插入时回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri |string | 是 | 指示要插入的数据的路径。 |
| valueBucket |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要插入的数据。 |
| callback |AsyncCallback
<
number
>
| 是 | 回调函数。返回插入数据记录的索引。 |
**示例:**
```
ts
insert
(
uri
:
string
,
valueBucket
:
ValuesBucket
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
value
==
null
)
{
console
.
info
(
'
invalid valueBuckets
'
);
return
;
}
rdbStore
.
insert
(
TBL_NAME
,
value
,
function
(
err
,
ret
)
{
console
.
info
(
'
callback ret:
'
+
ret
);
if
(
callback
!=
undefined
)
{
callback
(
err
,
ret
);
}
});
}
```
## update
update?(uri: string, predicates: dataSharePredicates.DataSharePredicates, valueBucket: ValuesBucket, callback: AsyncCallback
<
number
>
): void
在数据库更新时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| valueBucket |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要更新的数据。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回更新的数据记录数。 |
**示例:**
```
ts
update
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
valueBucket
:
ValuesBucket
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
predicates
==
null
||
predicates
==
undefined
)
{
return
;
}
rdbStore
.
update
(
TBL_NAME
,
value
,
predicates
,
function
(
err
,
ret
)
{
if
(
callback
!=
undefined
)
{
callback
(
err
,
ret
);
}
});
}
```
## delete
delete?(uri: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback
<
number
>
): void
在删除数据库记录时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 参数类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ---------------------------------- |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回已删除的数据记录数。 |
**示例:**
```
ts
delete
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
predicates
==
null
||
predicates
==
undefined
)
{
return
;
}
rdbStore
.
delete
(
TBL_NAME
,
predicates
,
function
(
err
,
ret
)
{
if
(
callback
!=
undefined
)
{
callback
(
err
,
ret
);
}
});
}
```
## query
query?(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns: Array
<
string
>
, callback: AsyncCallback
<
Object
>
): void
在查询数据库时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。 |
| columns | Array
<
string
>
| 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| callback | AsyncCallback
<
Object
>
| 是 | 回调函数。返回查询到的结果集。 |
**示例:**
```
ts
query
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
columns
:
Array
<
string
>
,
callback
:
AsyncCallback
<
Object
>
)
{
if
(
predicates
==
null
||
predicates
==
undefined
)
{
return
;
}
rdbStore
.
query
(
TBL_NAME
,
predicates
,
columns
,
function
(
err
,
resultSet
)
{
if
(
resultSet
!=
undefined
)
{
console
.
info
(
'
resultSet.rowCount:
'
+
resultSet
.
rowCount
);
}
if
(
callback
!=
undefined
)
{
callback
(
err
,
resultSet
);
}
});
}
```
## getType
getType?(uri: string, callback: AsyncCallback
<
string
>
): void
获取给定URI对应的MIME类型时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要获取MIME类型的数据的路径。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。返回与URI指定的数据匹配的MIME类型。 |
**示例:**
```
ts
getType
(
uri
:
string
,
callback
:
AsyncCallback
<
string
>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
"
image
"
;
callback
(
err
,
ret
);
}
```
## BatchInsert
BatchInsert?(uri: string, valueBuckets: Array
<
ValuesBucket
>
, callback: AsyncCallback
<
number
>
): void
在数据库批量插入时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 参数类型 | 必填 | 说明 |
| ------------ | ------------------------------------------------------------ | ---- | -------------------------------- |
| uri | string | 是 | 指示要批量插入的数据的路径。 |
| valueBuckets | Array
<
[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)
>
| 是 | 指示要批量插入的数据。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。返回插入的数据记录数。 |
**示例:**
```
ts
batchInsert
(
uri
:
string
,
valueBuckets
:
Array
<
ValuesBucket
>
,
callback
:
AsyncCallback
<
number
>
)
{
if
(
valueBuckets
==
null
||
valueBuckets
.
length
==
undefined
)
{
console
.
info
(
'
invalid valueBuckets
'
);
return
;
}
let
resultNum
=
valueBuckets
.
length
valueBuckets
.
forEach
(
vb
=>
{
rdbStore
.
insert
(
TBL_NAME
,
vb
,
function
(
err
,
ret
)
{
if
(
callback
!=
undefined
)
{
callback
(
err
,
resultNum
);
}
});
});
}
```
## normalizeUri
normalizeUri?(uri: string, callback: AsyncCallback
<
string
>
): void
用户给定的URI转换为服务端使用的URI时回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ----------------------- |
| uri | string | 是 | 指示用户传入的
[
URI
](
js-apis-uri.md#uri
)
。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。如果支持URI规范化,则返回规范化URI,否则返回空。 |
**示例:**
```
ts
normalizeUri
(
uri
:
string
,
callback
:
AsyncCallback
<
string
>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
"
normalize+
"
+
uri
;
callback
(
err
,
ret
);
}
```
## denormalizeUri
denormalizeUri?(uri: string, callback: AsyncCallback
<
string
>
): void
服务端使用的URI转换为用户传入的初始URI时服务端回调此接口,该方法可以选择性重写。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ----------------------- |
| uri | string | 是 | 指示服务端使用的
[
URI
](
js-apis-uri.md#uri
)
。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。如果反规范化成功,则返回反规范化的URI;如果无需进行反规范化,则返回原始URI;若不支持则返回空。 |
**示例:**
```
ts
denormalizeUri
(
uri
:
string
,
callback
:
AsyncCallback
<
string
>
)
{
let
err
=
{
"
code
"
:
0
};
let
ret
=
"
denormalize+
"
+
uri
;
callback
(
err
,
ret
);
}
```
zh-cn/application-dev/reference/apis/js-apis-data-DataShareResultSet.md
0 → 100644
浏览文件 @
9503c250
# 数据共享结果集
**结果集(DataShareResultSet)**
可提供访问由查询数据库生成的结果集的相关方法,根据提供的行数,查询相应的值,也可查询指定数据类型的值。
>**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
ts
import
DataShareResultSet
from
'
@ohos.data.DataShareResultSet
'
;
```
## 使用说明
需要通过调用
[
query
](
js-apis-data-dataShare.md#query
)
接口获取DataShareResultSet对象。
```
ts
import
dataShare
from
'
@ohos.data.dataShare
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
dataShareHelper
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
await
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
info
(
"
createDataShareHelper fail, error message :
"
+
err
);
}
else
{
console
.
info
(
"
createDataShareHelper end, data :
"
+
data
);
dataShareHelper
=
data
;
}
});
let
columns
=
[
"
*
"
];
let
da
=
new
dataSharePredicates
.
DataSharePredicates
();
let
resultSet
;
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
dataShareHelper
.
query
(
uri
,
da
,
columns
).
then
((
data
)
=>
{
console
.
log
(
"
query end, data :
"
+
data
);
resultSet
=
data
;
}).
catch
((
err
)
=>
{
console
.
log
(
"
query fail, error message :
"
+
err
);
});
```
## 属性
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
| 名称 | 参数类型 | 必填 | 说明 |
| ----------- | ------------- | ---- | ------------------------ |
| columnNames | Array
<
string
>
| 是 | 结果集中所有列的名称。 |
| columnCount | number | 是 | 结果集中的列数。 |
| rowCount | number | 是 | 结果集中的行数。 |
| isClosed | boolean | 是 | 标识当前结果集是否关闭。 |
## goToFirstRow
goToFirstRow(): boolean
转到结果集的第一行。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| :------ | --------------------------------------------- |
| boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:**
```
ts
let
isGoTOFirstRow
=
resultSet
.
goToFirstRow
();
console
.
info
(
'
resultSet.goToFirstRow:
'
+
isGoTOFirstRow
);
```
## goToLastRow
goToLastRow(): boolean
转到结果集的最后一行。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:**
```
ts
let
isGoToLastRow
=
resultSet
.
goToLastRow
();
console
.
info
(
'
resultSet.goToLastRow:
'
+
isGoToLastRow
);
```
## goToNextRow
goToNextRow(): boolean
转到结果集的下一行。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:**
```
ts
let
isGoToNextRow
=
resultSet
.
goToNextRow
();
console
.
info
(
'
resultSet.goToNextRow:
'
+
isGoToNextRow
);
```
## goToPreviousRow
goToPreviousRow(): boolean
转到结果集的上一行。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:**
```
ts
let
isGoToPreviousRow
=
resultSet
.
goToPreviousRow
();
console
.
info
(
'
resultSet.goToPreviousRow:
'
+
isGoToPreviousRow
);
```
## goTo
goTo(offset:number): boolean
相对于当前位置向前或向后移动指定行数。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ---------- | -------- | -------- | ------------------------------------------------------------ |
| offset | number | 是 | 表示相对于当前位置的偏移量。offset为负值表示向前偏移,正值则表示向后偏移。 |
**返回值:**
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:**
```
ts
let
goToNum
=
1
;
let
isGoTo
=
resultSet
.
goTo
(
goToNum
);
console
.
info
(
'
resultSet.goTo:
'
+
isGoTo
);
```
## goToRow
goToRow(position: number): boolean
转到结果集的指定行。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ---------- | -------- | -------- | ------------------------ |
| position | number | 是 | 表示要移动到的指定位置。 |
**返回值:**
| 类型 | 说明 |
| ------- | --------------------------------------------- |
| boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:**
```
ts
let
goToRowNum
=
2
let
isGoToRow
=
resultSet
.
goToRow
(
goToRowNum
);
console
.
info
(
'
resultSet.goToRow:
'
+
isGoToRow
);
```
## getBlob
getBlob(columnIndex: number): Uint8Array
以字节数组的形式获取当前行中指定列的值。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ----------- | -------- | -------- | ----------------------- |
| columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:**
| 类型 | 说明 |
| ---------- | -------------------------------- |
| Uint8Array | 以字节数组的形式返回指定列的值。 |
**示例:**
```
ts
let
columnIndex
=
1
let
goToFirstRow
=
resultSet
.
goToFirstRow
();
let
getBlob
=
resultSet
.
getBlob
(
columnIndex
);
console
.
info
(
'
resultSet.getBlob:
'
+
getBlob
);
```
## getString
getString(columnIndex: number):
*string*
以字符串形式获取当前行中指定列的值。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ----------- | -------- | -------- | ----------------------- |
| columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:**
| 类型 | 说明 |
| ------ | ---------------------------- |
| string | 以字符串形式返回指定列的值。 |
**示例:**
```
ts
let
columnIndex
=
1
let
goToFirstRow
=
resultSet
.
goToFirstRow
();
let
getString
=
resultSet
.
getString
(
columnIndex
);
console
.
info
(
'
resultSet.getString:
'
+
getString
);
```
## getLong
getLong(columnIndex: number): number
以长整数值形式获取当前行中指定列的值。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ----------- | -------- | -------- | ----------------------- |
| columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:**
| 类型 | 说明 |
| ------ | -------------------------- |
| number | 以长整数值形式返回指定列的值。 |
**示例:**
```
ts
let
columnIndex
=
1
let
goToFirstRow
=
resultSet
.
goToFirstRow
();
let
getLong
=
resultSet
.
getLong
(
columnIndex
);
console
.
info
(
'
resultSet.getLong:
'
+
getLong
);
```
## getDouble
getDouble(columnIndex: number): number
以值类型为双浮点数形式获取当前行中指定列的值。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ----------- | -------- | -------- | ----------------------- |
| columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:**
| 类型 | 说明 |
| ------ | ---------------------------- |
| number | 值类型为双浮点数形式返回指定列的值。 |
**示例:**
```
ts
let
columnIndex
=
1
let
goToFirstRow
=
resultSet
.
goToFirstRow
();
let
getDouble
=
resultSet
.
getDouble
(
columnIndex
);
console
.
info
(
'
resultSet.getDouble:
'
+
getDouble
);
```
## close
close(): void
关闭结果集。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**示例:**
```
ts
resultSet
.
close
();
```
## getColumnIndex
getColumnIndex(columnName: string): number
根据指定的列名获取列索引。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ---------- | -------- | -------- | -------------------------- |
| columnName | string | 是 | 表示结果集中指定列的名称。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------ |
| number | 返回指定列的索引。 |
**示例:**
```
ts
let
ColumnName
=
"
name
"
let
getColumnIndex
=
resultSet
.
getColumnIndex
(
ColumnName
)
console
.
info
(
'
resultSet.getColumnIndex:
'
+
getColumnIndex
);
```
## getColumnName
getColumnName(columnIndex: number):
*string*
根据指定的列索引获取列名。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ----------- | -------- | -------- | -------------------------- |
| columnIndex | number | 是 | 表示结果集中指定列的索引。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------ |
| string | 返回指定列的名称。 |
**示例:**
```
ts
let
columnIndex
=
1
let
getColumnName
=
resultSet
.
getColumnName
(
columnIndex
)
console
.
info
(
'
resultSet.getColumnName:
'
+
getColumnName
);
```
## getDataType
getDataType(columnIndex: number): DataType
指定列索引获取该列的数据类型。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
|
**参数名**
|
**类型**
|
**必填**
| 说明 |
| ----------- | -------- | -------- | -------------------------- |
| columnIndex | number | 是 | 表示结果集中指定列的索引。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------------ |
|
[
DataType
](
#datatype
)
| 返回指定列的类型。 |
**示例:**
```
ts
let
columnIndex
=
1
;
let
getDataType
=
resultSet
.
getDataType
(
columnIndex
);
console
.
info
(
'
resultSet.getDataType:
'
+
getDataType
);
```
## DataType
数据类型枚举。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
| 名称 | 值 | 说明 |
| ----------- | ------ | -------------------- |
| TYPE_NULL | 0 | 表示值类型为空。 |
| TYPE_LONG | 1 | 表示值类型为长整数值。 |
| TYPE_DOUBLE | 2 | 表示值类型为双浮点数。 |
| TYPE_STRING | 3 | 表示值类型为字符串。 |
| TYPE_BLOB | 4 | 表示值类型为字节数组。 |
\ No newline at end of file
zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md
0 → 100644
浏览文件 @
9503c250
# 数据集
**数据集(ValuesBucket)**
是开发者向数据库插入的数据集合,数据集以键-值对的形式进行传输。
>**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
ts
import
{
ValueType
}
from
'
@ohos.data.ValuesBucket
'
;
import
{
ValuesBucket
}
from
'
@ohos.data.ValuesBucket
'
;
```
## ValueType
该类型用于表示数据库允许的数据字段类型。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
| 名称 | 说明 |
| ------- | -------------------- |
| number | 表示字段类型为数字。 |
| string | 表示字段类型为字符串。 |
| boolean | 表示字段类型为布尔值。 |
## ValuesBucket
该类型用于存储一系列键值对。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
| 名称 | 参数类型 | 必填 | 说明 |
| ------------- | --------------------------------------------- | ---- | ------------------------------------------------------------ |
|
[
key: string] | [ValueType
](
#valuetype
)
\|
Uint8Array
\|
null | 是 | 键的类型为字符串型;值的类型可以为数字、字符串、布尔值、无符号整型8位数组、空值。 |
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
0 → 100644
浏览文件 @
9503c250
# 数据共享
**DataShare**
用于应用管理其自身数据,同时支持同个设备上不同应用间的数据共享。
>**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
ts
import
Ability
from
'
@ohos.application.Ability
'
import
dataShare
from
'
@ohos.data.dataShare
'
```
## dataShare.createDataShareHelper
createDataShareHelper(context: Context, uri: string, callback: AsyncCallback
<
DataShareHelper
>
): void
创建DataShareHelper实例。使用callback异步回调。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 参数类型 | 必填 | 说明 |
| -------- | -------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context |
[
Context
](
js-apis-application-context.md#context
)
| 是 | 应用的上下文环境。 |
| uri | string | 是 | 指示要连接的服务端应用的路径。 |
| callback | AsyncCallback
<
[DataShareHelper](#datasharehelper)
>
| 是 | 回调函数。当创建DataShareHelper实例成功,err为undefined,data为获取到的DataShareHelper实例;否则为错误对象。 |
**示例:**
```
ts
import
dataShare
from
'
@ohos.data.dataShare
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
dataShareHelper
;
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
info
(
"
createDataShareHelper failed, error message :
"
+
err
);
}
else
{
console
.
info
(
"
createDataShareHelper succeed, data :
"
+
data
);
dataShareHelper
=
data
;
}
});
```
## dataShare.createDataShareHelper
createDataShareHelper(context: Context, uri: string): Promise
<
DataShareHelper
>
创建DataShareHelper实例。使用Promise异步回调。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 参数类型 | 必填 | 说明 |
| ------- | ------------------------------------------------- | ---- | ------------------------------ |
| context |
[
Context
](
js-apis-application-context.md#context
)
| 是 | 应用的上下文环境。 |
| uri | string | 是 | 指示要连接的服务端应用的路径。 |
**返回值:**
| 类型 | 说明 |
| -------------------------------------------------- | -------------------------------------- |
| Promise
<
[DataShareHelper](#datasharehelper)
>
| Promise对象。返回DataShareHelper实例。 |
**示例:**
```
ts
import
dataShare
from
'
@ohos.data.dataShare
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
dataShareHelper
;
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
).
then
((
data
)
=>
{
console
.
info
(
"
createDataShareHelper succeed, data :
"
+
data
);
dataShareHelper
=
data
;
}).
catch
((
err
)
=>
{
console
.
info
(
"
createDataShareHelper failed, error message :
"
+
err
);
})
```
## DataShareHelper
DataShare管理工具实例,可使用此实例访问或管理服务端的数据。在调用DataShareHelper提供的方法前,需要先通过
[
createDataShareHelper
](
#datasharecreatedatasharehelper
)
构建一个实例。
### openFile
openFile(uri: string, mode: string, callback: AsyncCallback
<
number
>
): void
打开指定路径的文件。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ---------------------------------- |
| uri | string | 是 | 指示要打开的文件的路径。 |
| mode | string | 是 | 指示文件打开模式,如“r”表示只读访问,“w”表示只写访问(擦除文件中当前的任何数据),“wa”表示附加到任何现有数据的写访问,“rw”表示对任何现有数据的读写访问。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。当打开指定路径的文件成功,err为undefined,data为获取到的文件描述符;否则为错误对象。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
openFile
(
uri
,
"
rwt
"
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
info
(
"
openFile failed, error message :
"
+
err
);
}
erse
{
console
.
info
(
"
openFile succeed, data :
"
+
data
);
let
fd
=
data
;
}
});
```
### openFile
openFile(uri: string, mode: string): Promise
<
number
>
打开指定路径的文件。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要打开的文件的路径 |
| mode | string | 是 | 指示文件打开模式,如“r”表示只读访问,“w”表示只写访问(擦除文件中当前的任何数据),“wa”表示附加到任何现有数据的写访问,“rw”表示对任何现有数据的读写访问。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ---------------- |
| Promise
<
number
>
| Promise对象。返回文件描述符。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
openFile
(
uri
,
"
rwt
"
).
then
((
data
)
=>
{
console
.
info
(
"
openFile succeed, data :
"
+
data
);
let
fd
=
data
;
}).
catch
((
err
)
=>
{
console
.
info
(
"
openFile failed, error message :
"
+
err
);
})
```
### on('dataChange')
on(type: 'dataChange', uri: string, callback: AsyncCallback
<
void
>
): void
订阅指定URI对应数据的数据变更事件。若用户(订阅者)已注册了观察者,当有其他用户触发了变更通知时(调用了下文中的notifyChange方法),订阅者将会接收到callback通知。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | -------------------- | ---- | ------------------------ |
| type | string | 是 | 订阅的事件/回调类型,支持的事件为'dataChange',当数据更改时,触发该事件。 |
| uri | string | 是 | 表示指定的数据路径。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数。当有其他用户触发了变更通知时调用,err为undefined;否则不被触发或为错误对象。 |
**示例:**
```
ts
function
onCallback
()
{
console
.
info
(
"
**** Observer on callback ****
"
);
}
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
on
(
"
dataChange
"
,
uri
,
onCallback
);
```
### off('dataChange')
off(type: 'dataChange', uri: string, callback?: AsyncCallback
<
void
>
): void
取消订阅指定URI对应的数据资源的变更通知。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | -------------------- | ---- | ------------------------ |
| type | string | 是 | 取消订阅的事件/回调类型,支持的事件为'dataChange'。 |
| uri | string | 是 | 表示指定的数据路径。 |
| callback | AsyncCallback
<
void
>
| 否 | 回调函数。当取消订阅指定URI对应的数据资源的变更通知成功,err为undefined;否则为错误对象。 |
**示例:**
```
ts
function
offCallback
()
{
console
.
info
(
"
**** Observer off callback ****
"
);
}
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
off
(
"
dataChange
"
,
uri
,
offCallback
);
```
### insert
insert(uri: string, value: ValuesBucket, callback: AsyncCallback
<
number
>
): void
将单条数据插入数据库。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| value |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要插入的数据。如果此参数为空,将插入一个空行。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。当将单条数据插入数据库成功,err为undefined,data为获取到的插入数据记录的索引;否则为错误对象。
<br
/>
因部分数据库(如KVDB)的相应接口并不支持返回索引,故若服务端使用了不支持索引的数据库,则此callback也无法返回索引值。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
const
valueBucket
=
{
"
name
"
:
"
rose
"
,
"
age
"
:
22
,
"
salary
"
:
200.5
,
}
dataShareHelper
.
insert
(
uri
,
valueBucket
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
insert failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
insert succeed, data :
"
+
data
);
}
});
```
### insert
insert(uri: string, value: ValuesBucket): Promise
<
number
>
将单条数据插入数据库。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ----- | --------------------------------------------------------- | ---- | -------------------------------------------------- |
| uri | string | 是 | 指示要插入的数据的路径。 |
| value |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要插入的数据。如果此参数为空,将插入一个空行。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise
<
number
>
| Promise对象。返回插入数据记录的索引。
<br
/>
因部分数据库(如KVDB)的相应接口并不支持返回索引,故若服务端使用了不支持索引的数据库,则此Promise也无法返回索引值。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
const
valueBucket
=
{
"
name
"
:
"
rose1
"
,
"
age
"
:
221
,
"
salary
"
:
20.5
,
}
dataShareHelper
.
insert
(
uri
,
valueBucket
).
then
((
data
)
=>
{
console
.
log
(
"
insert succeed, data :
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
insert failed, error message :
"
+
err
);
});
```
### delete
delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback
<
number
>
): void
从数据库中删除一条或多条数据记录。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。当从数据库中删除一条或多条数据记录成功,err为undefined,data为获取到的已删除的数据记录数;否则为错误对象。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此callback也无法返回删除的数据记录数。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
da
=
new
dataSharePredicates
.
DataSharePredicates
();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
dataShareHelper
.
delete
(
uri
,
da
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
delete failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
delete succeed, data :
"
+
data
);
}
});
```
### delete
delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promise
<
number
>
从数据库中删除一条或多条数据记录。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise
<
number
>
| Promise对象。返回已删除的数据记录数。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此Promise也无法返回删除的数据记录数。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
da
=
new
dataSharePredicates
.
DataSharePredicates
();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
dataShareHelper
.
delete
(
uri
,
da
).
then
((
data
)
=>
{
console
.
log
(
"
delete succeed, data :
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
delete failed, error message :
"
+
err
);
});
```
### query
query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns: Array
<
string
>
, callback: AsyncCallback
<
DataShareResultSet
>
): void
查询数据库中的数据。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
| columns | Array
<
string
>
| 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| callback | AsyncCallback
<
[DataShareResultSet](js-apis-data-DataShareResultSet.md#datashareresultset)
>
| 是 | 回调函数。当查询数据库中的数据成功,err为undefined,data为获取到的查询到的结果集;否则为错误对象。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
columns
=
[
"
*
"
];
let
da
=
new
dataSharePredicates
.
DataSharePredicates
();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
dataShareHelper
.
query
(
uri
,
da
,
columns
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
query failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
query succeed, rowCount :
"
+
data
.
rowCount
);
}
});
```
### query
query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns: Array
<
string
>
): Promise
<
DataShareResultSet
>
查询数据库中的数据。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
| columns | Array
<
string
>
| 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | --------------------------------- |
| Promise
<
[DataShareResultSet](js-apis-data-DataShareResultSet.md#datashareresultset)
>
| Promise对象。返回查询到的结果集。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
columns
=
[
"
*
"
];
let
da
=
new
dataSharePredicates
.
DataSharePredicates
();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
dataShareHelper
.
query
(
uri
,
da
,
columns
).
then
((
data
)
=>
{
console
.
log
(
"
query succeed, rowCount :
"
+
data
.
rowCount
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
query failed, error message :
"
+
err
);
});
```
### update
update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value: ValuesBucket, callback: AsyncCallback
<
number
>
): void
更新数据库中的数据记录。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
| value |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要更新的数据。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。当更新数据库中的数据记录成功,err为undefined,data为获取到的更新的数据记录数;否则为错误对象。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此callback也无法返回更新的数据记录数。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
da
=
new
dataSharePredicates
.
DataSharePredicates
();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
const
va
=
{
"
name
"
:
"
roe1
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
}
dataShareHelper
.
update
(
uri
,
da
,
va
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
update failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
update succeed, data :
"
+
data
);
}
});
```
### update
update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value: ValuesBucket): Promise
<
number
>
更新数据库中的数据记录。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates |
[
DataSharePredicates
](
js-apis-data-DataSharePredicates.md#datasharepredicates
)
| 是 | 指示筛选条件。
<br
/>
update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
| value |
[
ValuesBucket
](
js-apis-data-ValuesBucket.md#valuesbucket
)
| 是 | 指示要更新的数据。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise
<
number
>
| Promise对象。返回更新的数据记录数。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此Promise也无法返回更新的数据记录数。 |
**示例:**
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
da
=
new
dataSharePredicates
.
DataSharePredicates
();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
const
va
=
{
"
name
"
:
"
roe1
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,
}
dataShareHelper
.
update
(
uri
,
da
,
va
).
then
((
data
)
=>
{
console
.
log
(
"
update succeed, data :
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
update failed, error message :
"
+
err
);
});
```
### batchInsert
batchInsert(uri: string, values: Array
<
ValuesBucket
>
, callback: AsyncCallback
<
number
>
): void
将批量数据插入数据库。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| values | Array
<
[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)
>
| 是 | 指示要插入的数据。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调函数。当将批量数据插入数据库成功,err为undefined,data为获取到的插入的数据记录数;否则为错误对象。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此Promise也无法返回插入的数据记录数。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
vbs
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe13
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,})
dataShareHelper
.
batchInsert
(
uri
,
vbs
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
batchInsert failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
batchInsert succeed, data :
"
+
data
);
}
});
```
### batchInsert
batchInsert(uri: string, values: Array
<
ValuesBucket
>
): Promise
<
number
>
将批量数据插入数据库。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------ | ------------------------------------------------------------ | ---- | ------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| values | Array
<
[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)
>
| 是 | 指示要插入的数据。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise
<
number
>
| Promise对象。返回插入的数据记录数。
<br
/>
因部分数据库(如KVDB)的相应接口并不提供相应支持,故若服务端使用此数据库,则此Promise也无法返回插入的数据记录数。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
vbs
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe13
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,})
dataShareHelper
.
batchInsert
(
uri
,
vbs
).
then
((
data
)
=>
{
console
.
log
(
"
batchInsert succeed, data :
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
batchInsert failed, error message :
"
+
err
);
});
```
### getType
getType(uri: string, callback: AsyncCallback
<
string
>
): void
获取URI所指定的数据的MIME类型。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | --------------------------------------------- |
| uri | string | 是 | 表示指定的数据路径。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。当获取URI所指定的数据的MIME类型成功,err为undefined,data为获取到的与URI指定的数据匹配的MIME类型;否则为错误对象。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
getType
(
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
getType failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
getType succeed, data :
"
+
data
);
let
result
=
data
;
}
});
```
### getType
getType(uri: string): Promise
<
string
>
获取URI所指定数据的MIME类型。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | -------------------- |
| uri | string | 是 | 表示指定的数据路径。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ----------------------------------- |
| Promise
<
string
>
| Promise对象。返回与URI指定的数据匹配的MIME类型。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
getType
(
uri
).
then
((
data
)
=>
{
console
.
log
(
"
getType succeed, data :
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
getType failed, error message :
"
+
err
);
});
```
### getFileTypes
getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback
<
Array
<
string
>>
): void
获取支持的文件的MIME类型。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | string | 是 | 指示要筛选的MIME类型。例如:
<br
/>
“
\*
/
\*
”:获取支持的所有类型。
<br/>
“image/
\*
”:获取主类型image,子类型为任何类型的MIME。
<br
/>
”
\*
/jpg”:获取子类型为jpg,主类型为任何类型的MIME。 |
| callback | openFile(uri: string, mode: string, callback: AsyncCallback
<number>
) { let err = {"code":0}; let fd = 0; callback(err,fd);}ts | 是 | 回调函数。当获取支持的文件的MIME类型成功,err为undefined,data为获取到的匹配的MIME类型数组;否则为错误对象。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
mimeTypeFilter
=
"
image/*
"
;
dataShareHelper
.
getFileTypes
(
uri
,
mimeTypeFilter
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
getFileTypes failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
getFileTypes succeed, data :
"
+
data
);
}
});
```
### getFileTypes
getFileTypes(uri: string, mimeTypeFilter: string): Promise
<
Array
<
string
>>
获取支持的文件的MIME类型。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------------- | ------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | string | 是 | 指示要筛选的MIME类型。例如:
<br
/>
“
\*
/
\*
”:获取支持的所有类型。
<br/>
“image/
\*
”:获取主类型image,子类型为任何类型的MIME。
<br
/>
”
\*
/jpg”:获取子类型为jpg,主类型为任何类型的MIME。 |
**返回值:**
| 类型 | 说明 |
| ------------------------ | ------------------------ |
| Promise
<
Array
<
string
>>
| Promise对象。返回匹配的MIME类型数组。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
mimeTypeFilter
=
"
image/*
"
;
dataShareHelper
.
getFileTypes
(
uri
,
mimeTypeFilter
).
then
((
data
)
=>
{
console
.
log
(
"
getFileTypes succeed, data :
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
getFileTypes failed, error message :
"
+
err
);
});
```
### normalizeUri
normalizeUri(uri: string, callback: AsyncCallback
<
string
>
): void
将给定的DataShare URI转换为规范化URI,规范化URI可供跨设备使用,DataShare URI仅供本地环境中使用。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | -------------------------------------------------------- |
| uri | string | 是 | 指示要规范化的
[
URI
](
js-apis-uri.md#uri
)
。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。当将给定的DataShare URI转换为规范化URI成功,err为undefined,data为获取到的规范化URI(如果支持URI规范化,则返回规范化URI,否则返回空);否则为错误对象。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
normalizeUri
(
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
normalizeUri failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
normalizeUri =
"
+
data
);
}
});
```
### normalizeUri
normalizeUri(uri: string): Promise
<
string
>
将给定的DataShare URI转换为规范化URI,规范化URI可供跨设备使用,DataShare URI仅供本地环境中使用。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ----------------------------------------- |
| uri | string | 是 | 指示要规范化的
[
URI
](
js-apis-uri.md#uri
)
。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ---------------------------------------------- |
| Promise
<
string
>
| Promise对象。如果支持URI规范化,则返回规范化URI,否则返回空。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
normalizeUri
(
uri
).
then
((
data
)
=>
{
console
.
log
(
"
normalizeUri =
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
normalizeUri failed, error message :
"
+
err
);
});
```
### denormalizeUri
denormalizeUri(uri: string, callback: AsyncCallback
<
string
>
): void
将指定的URI转换为非规范化URI。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | --------------------------------------------------- |
| uri | string | 是 | 指示要反规范化的
[
URI
](
js-apis-uri.md#uri
)
。 |
| callback | AsyncCallback
<
string
>
| 是 | 回调函数。当将指定的URI转换为非规范化URI,err为undefined,data为获取到的反规范化URI(如果反规范化成功,则返回反规范化的URI;如果无需进行反规范化,则返回原始URI;若不支持则返回空);否则为错误对象。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
denormalizeUri
(
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
"
denormalizeUri failed, error message :
"
+
err
);
}
else
{
console
.
log
(
"
denormalizeUri =
"
+
data
);
}
});
```
### denormalizeUri
denormalizeUri(uri: string): Promise
<
string
>
将指定的URI转换为非规范化URI。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ------------------------------------------- |
| uri | string | 是 | 指示要反规范化的
[
URI
](
js-apis-uri.md#uri
)
。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ----------------------------------------- |
| Promise
<
string
>
| Promise对象。如果反规范化成功,则返回反规范化的URI;如果无需执行任何操作,则返回原始URI;若不支持则返回空。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
denormalizeUri
(
uri
).
then
((
data
)
=>
{
console
.
log
(
"
denormalizeUri =
"
+
data
);
}).
catch
((
err
)
=>
{
console
.
log
(
"
denormalizeUri failed, error message :
"
+
err
);
});
```
### notifyChange
notifyChange(uri: string, callback: AsyncCallback
<
void
>
): void
通知已注册的观察者指定URI对应的数据资源已发生变更。使用callback异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | -------------------- | ---- | ------------------------ |
| uri | string | 是 | 表示指定的数据路径。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数。当通知已注册的观察者指定URI对应的数据资源已发生变更成功,err为undefined;否则为错误对象。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
notifyChange
(
uri
,
()
=>
{
console
.
log
(
"
***** notifyChange *****
"
);
});
```
### notifyChange
notifyChange(uri: string): Promise
<
void
>
通知已注册的观察者指定URI对应的数据资源已发生变更。使用Promise异步回调。
此接口仅可在Stage模型下使用。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | -------------------- |
| uri | string | 是 | 表示指定的数据路径。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------- |
| Promise
<
void
>
| Promise对象。无返回结果的Promise对象。 |
**示例:**
```
ts
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
notifyChange
(
uri
);
```
zh-cn/application-dev/reference/apis/js-apis-data-dataSharePredicates.md
0 → 100644
浏览文件 @
9503c250
# 数据共享谓词
**谓词(DataSharePredicates)**
是用户通过DataShare查询数据库中的数据所使用的筛选条件,经常被应用在更新数据(
[
update
](
js-apis-data-dataShare.md#update
)
)、删除数据(
[
delete
](
js-apis-data-dataShare.md#delete
)
)和查询数据(
[
query
](
js-apis-data-dataShare.md#query
)
)中。
>**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
ts
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
```
## equalTo
equalTo(field: string, value: ValueType): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType且值等于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------------------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
)
```
## notEqualTo
notEqualTo(field: string, value: ValueType): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType且值不等于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------------------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
notEqualTo
(
"
NAME
"
,
"
Rose
"
)
```
## beginWrap
beginWrap(): DataSharePredicates
该接口用于向谓词添加左括号。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | ---------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回带有左括号的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
equalTo
(
"
NAME
"
,
"
lisi
"
)
.
beginWrap
()
.
equalTo
(
"
AGE
"
,
18
)
.
or
()
.
equalTo
(
"
SALARY
"
,
200.5
)
.
endWrap
()
```
## endWrap
endWrap(): DataSharePredicates
该接口用于向谓词添加右括号。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | ---------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回带有右括号的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
equalTo
(
"
NAME
"
,
"
lisi
"
)
.
beginWrap
()
.
equalTo
(
"
AGE
"
,
18
)
.
or
()
.
equalTo
(
"
SALARY
"
,
200.5
)
.
endWrap
()
```
## or
or(): DataSharePredicates
该接口用于将或条件添加到谓词中。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | ---------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回带有或条件的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
equalTo
(
"
NAME
"
,
"
lisi
"
)
.
or
()
.
equalTo
(
"
NAME
"
,
"
Rose
"
)
```
## and
and(): DataSharePredicates
该接口用于将和条件添加到谓词中。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | ---------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回带有和条件的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
equalTo
(
"
NAME
"
,
"
lisi
"
)
.
and
()
.
equalTo
(
"
SALARY
"
,
200.5
)
```
## contains
contains(field: string, value: string): DataSharePredicates
该接口用于配置谓词以匹配数据类型为string且值包含指定的字段。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | string | 是 | 指示值中包含该字段。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
contains
(
"
NAME
"
,
"
os
"
)
```
## beginsWith
beginsWith(field: string, value: string): DataSharePredicates
该接口用于配置谓词以匹配数据类型为string且值以指定字符串起始的字段。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | string | 是 | 指示值以该字符串起始。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
beginsWith
(
"
NAME
"
,
"
os
"
)
```
## endsWith
endsWith(field: string, value: string): DataSharePredicates
该接口用于配置谓词以匹配数据类型为string且值以指定字符串结尾的字段。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | string | 是 | 指示值以该字符串结尾。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
endsWith
(
"
NAME
"
,
"
os
"
)
```
## isNull
isNull(field: string): DataSharePredicates
该接口用于配置谓词以匹配值为null的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| field | string | 是 | 数据库表中的列名。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
isNull
(
"
NAME
"
)
```
## isNotNull
isNotNull(field: string): DataSharePredicates
该接口用于配置谓词以匹配值不为null的指定字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| field | string | 是 | 数据库表中的列名。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
isNotNull
(
"
NAME
"
)
```
## like
like(field: string, value: string): DataSharePredicates
该接口用于配置谓词以匹配数据类型为string且值类似于指定字符串的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | string | 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
like
(
"
NAME
"
,
"
%os%
"
)
```
## unlike
unlike(field: string, value: string): DataSharePredicates
该接口用于配置谓词以匹配数据类型为string且值不类似于指定字符串的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | string | 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
unlike
(
"
NAME
"
,
"
%os%
"
)
```
## glob
glob(field: string, value: string): DataSharePredicates
该接口用于配置谓词匹配数据类型为string的指定字段。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | string | 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
glob
(
"
NAME
"
,
"
?h*g
"
)
```
## between
between(field: string, low: ValueType, high: ValueType): DataSharePredicates
该接口用于将谓词配置为匹配数据类型为ValueType且值在指定范围内的指定字段。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field | string | 是 | 数据库表中的列名。 |
| low |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示与谓词匹配的最小值。 |
| high |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示与谓词匹配的最大值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
between
(
"
AGE
"
,
10
,
50
)
```
## notBetween
notBetween(field: string, low: ValueType, high: ValueType): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType且值超出给定范围的指定字段。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------------------- | ---- | ------------------------ |
| field | string | 是 | 数据库表中的列名。 |
| low |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示与谓词匹配的最小值。 |
| high |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示与谓词匹配的最大值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
notBetween
(
"
AGE
"
,
10
,
50
)
```
## greaterThan
greaterThan(field: string, value: ValueType): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType且值大于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
greaterThan
(
"
AGE
"
,
10
)
```
## lessThan
lessThan(field: string, value: ValueType): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType且值小于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------------------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
lessThan
(
"
AGE
"
,
50
)
```
## greaterThanOrEqualTo
greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType且值大于或等于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
greaterThanOrEqualTo
(
"
AGE
"
,
10
)
```
## lessThanOrEqualTo
lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType且值小于或等于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value |
[
ValueType
](
js-apis-data-ValuesBucket.md#valuetype
)
| 是 | 指示要与谓词匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
lessThanOrEqualTo
(
"
AGE
"
,
50
)
```
## orderByAsc
orderByAsc(field: string): DataSharePredicates
该接口用于配置谓词以匹配其值按升序排序的列。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| field | string | 是 | 数据库表中的列名。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
orderByAsc
(
"
AGE
"
)
```
## orderByDesc
orderByDesc(field: string): DataSharePredicates
该接口用于配置谓词以匹配其值按降序排序的列。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| field | string | 是 | 数据库表中的列名。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
orderByDesc
(
"
AGE
"
)
```
## distinct
distinct(): DataSharePredicates
该接口用于配置谓词以过滤重复记录并仅保留其中一个。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
).
distinct
(
"
NAME
"
)
```
## limit
limit(total: number, offset: number): DataSharePredicates
该接口用于配置谓词以指定结果数和起始位置。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | -------------- |
| total | number | 是 | 指定结果数。 |
| offset | number | 是 | 指示起始位置。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
).
limit
(
10
,
3
)
```
## groupBy
groupBy(fields: Array
<
string
>
): DataSharePredicates
该接口用于配置谓词按指定列分组查询结果。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------- | ---- | -------------------- |
| fields | Array
<
string
>
| 是 | 指定分组依赖的列名。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
groupBy
([
"
AGE
"
,
"
NAME
"
])
```
## indexedBy
indexedBy(field: string): DataSharePredicates
该接口用于配置谓词按指定索引列查询结果。目前仅RDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------- |
| field | string | 是 | 索引列的名称。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
indexedBy
(
"
SALARY_INDEX
"
)
```
## in
in(field: string, value: Array
<
ValueType
>
): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType数组且值在给定范围内的指定字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------- | ---- | --------------------------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | Array
<
[ValueType](js-apis-data-ValuesBucket.md#valuetype)
>
| 是 | 以ValueType型数组形式指定的要匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
in
(
"
AGE
"
,
[
18
,
20
])
```
## notIn
notIn(field: string, value: Array
<
ValueType
>
): DataSharePredicates
该接口用于配置谓词以匹配数据类型为ValueType数组且值不在给定范围内的指定字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------- | ---- | --------------------------------------- |
| field | string | 是 | 数据库表中的列名。 |
| value | Array
<
[ValueType](js-apis-data-ValuesBucket.md#valuetype)
>
| 是 | 以ValueType型数组形式指定的要匹配的值。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
notIn
(
"
NAME
"
,
[
"
Lisa
"
,
"
Rose
"
])
```
## prefixKey
prefixKey(prefix: string): DataSharePredicates
该接口用于配置谓词以匹配键前缀的指定字段。目前仅KVDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------- |
| prefix | string | 是 | 指定的键前缀。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
prefixKey
(
"
NAME
"
)
```
## inKeys
inKeys(keys: Array
<
string
>
): DataSharePredicates
该接口用于配置谓词以匹配键在给定范围内的指定字段。目前仅KVDB支持该谓词。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------- | ---- | ------------------ |
| inKeys | Array
<
string
>
| 是 | 给定范围的键数组。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | -------------------------- |
|
[
DataSharePredicates
](
#datasharepredicates
)
| 返回与指定字段匹配的谓词。 |
**示例:**
```
ts
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
()
predicates
.
inKeys
([
"
Lisa
"
,
"
Rose
"
])
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录