提交 468bd3b4 编写于 作者: S songruirui

datashareapi文档修改

Signed-off-by: Nsongruirui <songruirui1@huawei.com>
上级 7aa2816d
# DataShareExtensionAbility # DataShareExtensionAbility
**DataShareExtensionAbility** 作为一种扩展能力提供基础生命周期管理,支持基于场景(比如卡片、Workscheduler)的Ability的生命周期管理,提供相应的回调接口(启动、接口调用、连接、断开连接、销毁等) **DataShareExtensionAbility** 是基于元能力提供的ExtensionAbility框架,提供支持数据共享业务的能力。
>**说明:** >**说明:**
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 >
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。仅限系统应用。
## 导入模块 ## 导入模块
```js ```ts
import Extension from '@ohos.application.DataShareExtensionAbility' import DataShareExtensionAbility from '@ohos.application.DataShareExtensionAbility'
``` ```
## onCreate ## onCreate
onCreate?(want: Want, callback: AsyncCallback<void>): void; onCreate?(want: Want, callback: AsyncCallback<void>): void;
DataShareExtAbility生命周期回调,在创建时回调,执行初始化业务逻辑操作 DataShareExtAbility生命周期回调,在创建时回调,执行初始化业务逻辑操作
**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedDataManager.DataShare.Core 此接口为可选的。可以被重写,也可以不进行重写。
此接口为系统接口,三方应用不支持调用。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
**参数:** **参数:**
| 参数名 | 参数类型 | 必填 | 说明 | | 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ | | ----- | ------ | ------ | ------ |
| want | Want | 是 | Want类型信息,包括ability名称、bundle名称等。 | | want | [Want](js-apis-application-Want.md#want) | 是 | Want类型信息,包括ability名称、bundle名称等。 |
| callback | AsyncCallback<void> | 是 | 表示被指定的回调方法。 |
**返回值**: 无
**示例:** **示例:**
```js ```ts
import rdb from '@ohos.data.rdb'; import rdb from '@ohos.data.rdb';
onCreate(want) { 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)";
// All of the input parameters are passed from the native side
onCreate(want, callback) {
// Specific functions need to be implemented by the user
console.log('DataShareExtAbility onCreate, want:' + want.abilityName); console.log('DataShareExtAbility onCreate, want:' + want.abilityName);
console.log('this.context:' + this.context); console.log('DataShareExtAbility onCreate, this.context:' + this.context);
rdb.getRdbStore(this.context, {name: DB_NAME}, 1, function (err, data) { rdb.getRdbStore(this.context, {
console.log('DataShareExtAbility onCreate, getRdbStore done err:' + JSON.stringify(err)); name: DB_NAME
console.log('DataShareExtAbility onCreate, getRdbStore done data:' + JSON.stringify(data)); }, 1, function (err, data) {
rdbStore = data; console.log('getRdbStore fail, error message : ' + err);
console.log('getRdbStore done, data : ' + data);
let rdbStore = data;
rdbStore.executeSql(DDL_TBL_CREATE, [], function (err) { rdbStore.executeSql(DDL_TBL_CREATE, [], function (err) {
console.log('DataShareExtAbility onCreate, executeSql done err:' + JSON.stringify(err)); console.log('executeSql fail, error message : ' + err);
}); });
}); });
callback();
} }
``` ```
...@@ -51,33 +66,38 @@ onCreate(want) { ...@@ -51,33 +66,38 @@ onCreate(want) {
insert?(uri: string, valueBucket: ValuesBucket, callback: AsyncCallback<number>): void; insert?(uri: string, valueBucket: ValuesBucket, callback: AsyncCallback<number>): void;
insert生命周期回调,在数据库插入时回调 insert生命周期回调,在数据库插入时回调。
此接口为可选的。可以被重写,也可以不进行重写。
此接口为系统接口,三方应用不支持调用。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
**参数:** **参数:**
| 参数名 | 参数类型 | 必填 | 说明 | | 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ | | ----- | ------ | ------ | ------ |
| uri |string | 是 | 指示要插入的数据的路径 | | uri |string | 是 | 指示要插入的数据的路径。 |
| valuesBucket |ValuesBucket | 是 | 指示要插入的数据记录 | | valueBucket |[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要插入的数据记录。 |
| callback |AsyncCallback<number> | 是 | 表示被指定的回调方法。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回插入数据记录的索引 |
**示例:** **示例:**
```js ```ts
import rdb from '@ohos.data.rdb'; import rdb from '@ohos.data.rdb';
let TBL_NAME = "TBL00"; let TBL_NAME = "TBL00";
// Refer to the onCreate for the method of obtaining rdbStore
let rdbStore;
// All of the input parameters are passed from the native side
insert(uri, value, callback) { insert(uri, value, callback) {
// Specific functions need to be implemented by the user
if (value == null) { if (value == null) {
console.info('invalid valueBuckets'); console.info('invalid valueBuckets');
return; return;
} }
await rdbStore.insert(TBL_NAME, value, function (err, ret) { rdbStore.insert(TBL_NAME, value, function (err, ret) {
console.info('callback ret:' + ret); console.info('callback ret:' + ret);
if (callback != undefined) { if (callback != undefined) {
callback(err, ret); callback(err, ret);
...@@ -86,35 +106,42 @@ insert(uri, value, callback) { ...@@ -86,35 +106,42 @@ insert(uri, value, callback) {
} }
``` ```
### update ## update
update?(uri: string, predicates: DataSharePredicates, valueBucket: ValuesBucket,callback: AsyncCallback<number>): void; update?(uri: string, predicates: DataSharePredicates, valueBucket: ValuesBucket, callback: AsyncCallback<number>): void;
update生命周期回调,在数据库更新时回调 update生命周期回调,在数据库更新时回调
| 参数名 | 参数类型 | 必填 | 说明 | 此接口为可选的。可以被重写,也可以不进行重写。
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要更新的数据的路径 |
| predicates | DataSharePredicates | 是 | 指示要更新的数据 |
| valueBucket | ValuesBucket | 是 | 指示筛选条件 |
**返回值:** 此接口为系统接口,三方应用不支持调用。
| 类型 | 说明 | **系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
| ------ | -------------------- |
| number | 返回更新的数据记录数 | **参数:**
| 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| valueBucket | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要更新的数据。 |
| callback | AsyncCallback<number> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
import rdb from '@ohos.data.rdb'; import rdb from '@ohos.data.rdb';
let TBL_NAME = "TBL00"; let TBL_NAME = "TBL00";
// Refer to the onCreate for the method of obtaining rdbStore
let rdbStore;
// All of the input parameters are passed from the native side
update(uri, predicates, value, callback) { update(uri, predicates, value, callback) {
// Specific functions need to be implemented by the user
if (predicates == null || predicates == undefined) { if (predicates == null || predicates == undefined) {
return; return;
} }
rdbStore.update(TBL_NAME,value, predicates, function (err, ret) { rdbStore.update(TBL_NAME, value, predicates, function (err, ret) {
if (callback != undefined) { if (callback != undefined) {
callback(err, ret); callback(err, ret);
} }
...@@ -122,31 +149,38 @@ update(uri, predicates, value, callback) { ...@@ -122,31 +149,38 @@ update(uri, predicates, value, callback) {
} }
``` ```
### query ## query
query?(uri: string, predicates: DataSharePredicates, columns: Array<string>,callback: AsyncCallback<Object>): void; query?(uri: string, predicates: DataSharePredicates, columns: Array<string>, callback: AsyncCallback<Object>): void;
query生命周期回调,在数据库查询时回调 query生命周期回调,在数据库查询时回调
| 名称 | 参数类型 | 必填 | 说明 | 此接口为可选的。可以被重写,也可以不进行重写。
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要查询的数据的路径 | 此接口为系统接口,三方应用不支持调用。
| predicates | DataSharePredicates | 是 | 指示筛选条件 |
| columns | Array<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列 |
**返回值:** **系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
| 类型 | 说明 | **参数:**
| --------- | -------------- |
| ResultSet | 返回查询结果集 | | 名称 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| columns | Array<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| callback | AsyncCallback<Object> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
import rdb from '@ohos.data.rdb'; import rdb from '@ohos.data.rdb';
let TBL_NAME = "TBL00"; let TBL_NAME = "TBL00";
// Refer to the onCreate for the method of obtaining rdbStore
let rdbStore;
// All of the input parameters are passed from the native side
query(uri, predicates, columns, callback) { query(uri, predicates, columns, callback) {
// Specific functions need to be implemented by the user
if (predicates == null || predicates == undefined) { if (predicates == null || predicates == undefined) {
return; return;
} }
...@@ -161,34 +195,41 @@ query(uri, predicates, columns, callback) { ...@@ -161,34 +195,41 @@ query(uri, predicates, columns, callback) {
} }
``` ```
### delete ## delete
delete?(uri: string, predicates: DataSharePredicates, callback: AsyncCallback<number>): void; delete?(uri: string, predicates: DataSharePredicates, callback: AsyncCallback<number>): void;
delete生命周期回调,在删除数据库记录时回调 delete生命周期回调,在删除数据库记录时回调
| 名称 | 参数类型 | 必填 | 说明 | 此接口为可选的。可以被重写,也可以不进行重写。
| ---------- | ------------------- | ---- | ---------------------- |
| uri | string | 是 | 指示要查询的数据的路径 | 此接口为系统接口,三方应用不支持调用。
| predicates | DataSharePredicates | 是 | 指示筛选条件 |
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
**返回值:** **参数:**
| 类型 | 说明 | | 名称 | 参数类型 | 必填 | 说明 |
| ------ | ---------------------- | | ---------- | ------------------------------------------------------------ | ---- | ------------------------ |
| number | 返回已删除的数据记录数 | | uri | string | 是 | 指示要查询的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| callback | AsyncCallback<number> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
import rdb from '@ohos.data.rdb'; import rdb from '@ohos.data.rdb';
let TBL_NAME = "TBL00"; let TBL_NAME = "TBL00";
// Refer to the onCreate for the method of obtaining rdbStore
let rdbStore;
// All of the input parameters are passed from the native side
delete(uri, predicates, callback) { delete(uri, predicates, callback) {
// Specific functions need to be implemented by the user
if (predicates == null || predicates == undefined) { if (predicates == null || predicates == undefined) {
return; return;
} }
rdbStore.delete(TBL_NAME,predicates, function (err, ret) { rdbStore.delete(TBL_NAME, predicates, function (err, ret) {
if (callback != undefined) { if (callback != undefined) {
callback(err, ret); callback(err, ret);
} }
...@@ -196,30 +237,37 @@ delete(uri, predicates, callback) { ...@@ -196,30 +237,37 @@ delete(uri, predicates, callback) {
} }
``` ```
### batchInsert ## batchInsert
batchInsert?(uri: string, valueBuckets: Array<ValuesBucket>, callback: AsyncCallback<number>): void; batchInsert?(uri: string, valueBuckets: Array<ValuesBucket>, callback: AsyncCallback<number>): void;
insert生命周期回调,在数据库插入时回调 batchinsert生命周期回调,在数据库批量插入时回调。
| 名称 | 参数类型 | 必填 | 说明 | 此接口为可选的。可以被重写,也可以不进行重写。
| ------------ | ------------------- | ---- | ---------------------- |
| uri | string | 是 | 指示要插入的数据的路径 |
| valueBuckets | Array<ValuesBucket> | 是 | 指示要插入的数据记录 |
**返回值:** 此接口为系统接口,三方应用不支持调用。
| 类型 | 说明 | **系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
| ------ | -------------------- |
| number | 返回插入的数据记录数 | **参数:**
| 名称 | 参数类型 | 必填 | 说明 |
| ------------ | ------------------------------------------------------------ | ---- | ------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| valueBuckets | Array<[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)> | 是 | 指示要插入的数据记录。 |
| callback | AsyncCallback<number> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
import rdb from '@ohos.data.rdb'; import rdb from '@ohos.data.rdb';
let TBL_NAME = "TBL00"; let TBL_NAME = "TBL00";
// Refer to the onCreate for the method of obtaining rdbStore
let rdbStore;
// All of the input parameters are passed from the native side
batchInsert(uri: string, valueBuckets, callback) { batchInsert(uri: string, valueBuckets, callback) {
// Specific functions need to be implemented by the user
if (valueBuckets == null || valueBuckets.length == undefined) { if (valueBuckets == null || valueBuckets.length == undefined) {
console.info('invalid valueBuckets'); console.info('invalid valueBuckets');
return; return;
...@@ -235,143 +283,158 @@ batchInsert(uri: string, valueBuckets, callback) { ...@@ -235,143 +283,158 @@ batchInsert(uri: string, valueBuckets, callback) {
} }
``` ```
### getType ## getType
getType?(uri: string, callback: AsyncCallback<string>): void; getType?(uri: string, callback: AsyncCallback<string>): void;
getType生命周期回调函数,获取给定URI对应的MIME类型时回调 getType生命周期回调函数,获取给定URI对应的MIME类型时回调。
此接口为可选的。可以被重写,也可以不进行重写。
此接口为系统接口,三方应用不支持调用。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
**参数:** **参数:**
| 参数名 | 参数类型 | 必填 | 说明 | | 参数名 | 参数类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ | | ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要操作的数据的路径 | | uri | string | 是 | 指示要操作的数据的路径。 |
| callback | AsyncCallback<string> | 是 | 表示被指定的回调方法。 |
**返回值:**
| 类型 | 说明 |
| ------ | ----------------------------------- |
| string | 返回与uri指定的数据匹配的MIME类型。 |
**示例:** **示例:**
```js ```ts
getType(uri: string,callback) { // All of the input parameters are passed from the native side
getType(uri: string, callback) {
// Specific functions need to be implemented by the user // Specific functions need to be implemented by the user
let err;
let ret = "image"; let ret = "image";
callback(err,ret); callback(err, ret);
} }
``` ```
### getFileTypes ## getFileTypes
getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array<string>>): void; getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array<string>>): void;
getFileTypes生命周期回调,获取支持文件的MIME类型时回调 getFileTypes生命周期回调,获取支持文件的MIME类型时回调
**参数:** 此接口为可选的。可以被重写,也可以不进行重写。
| 名称 | 类型 | 必填 | 描述 | 此接口为系统接口,三方应用不支持调用。
| -------------- | ------ | ---- | -------------------------- |
| uri | string | 是 | 指示要获取的文件的路径 |
| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型 |
**返回值:** **系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
| 类型 | 说明 | **参数:**
| -------------------------------------- | ------------------------ |
| Array<string> | 返回匹配的MIME类型数组 | | 名称 | 类型 | 必填 | 描述 |
| -------------- | ---------------------------- | ---- | ---------------------------- |
| uri | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 |
| callback | AsyncCallback<Array<string>> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
// All of the input parameters are passed from the native side
getFileTypes(uri: string, mimeTypeFilter: string,callback) { getFileTypes(uri: string, mimeTypeFilter: string,callback) {
// Specific functions need to be implemented by the user // Specific functions need to be implemented by the user
let err;
let ret = new Array("type01", "type02", "type03"); let ret = new Array("type01", "type02", "type03");
callback(err,ret); callback(err, ret);
} }
``` ```
### normalizeUri ## normalizeUri
normalizeUri?(uri: string, callback: AsyncCallback<string>): void; normalizeUri?(uri: string, callback: AsyncCallback<string>): void;
normalizeUri生命周期回调,给定uri转换为规范化uri时回调 normalizeUri生命周期回调,给定uri转换为规范化uri时回调
**参数:** 此接口为可选的。可以被重写,也可以不进行重写。
| 名称 | 类型 | 必填 | 描述 | 此接口为系统接口,三方应用不支持调用。
| ---- | ------ | ---- | --------------------- |
| uri | string | 是 | 指示要规范化的uri对象 |
**返回值:** **系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
| 类型 | 说明 | **参数:**
| ------ | ---------------------------------------------------- |
| string | 如果数据功能支持uri规范化或null,则返回规范化uri对象 | | 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ----------------------- |
| uri | string | 是 | 指示要规范化的uri对象。 |
| callback | AsyncCallback<string> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
normalizeUri(uri: string,callback) { // All of the input parameters are passed from the native side
normalizeUri(uri: string, callback) {
// Specific functions need to be implemented by the user // Specific functions need to be implemented by the user
let err;
let ret = "normalize+" + uri; let ret = "normalize+" + uri;
callback(err,ret); callback(err, ret);
} }
``` ```
### denormalizeUri ## denormalizeUri
denormalizeUri?(uri: string, callback: AsyncCallback<string>): void; denormalizeUri?(uri: string, callback: AsyncCallback<string>): void;
将由denormalizeUri生命周期回调,给定规范化uri转换为非规范化uri时回调 将由denormalizeUri生命周期回调,给定规范化uri转换为非规范化uri时回调
**参数:** 此接口为可选的。可以被重写,也可以不进行重写。
| 名称 | 类型 | 必填 | 描述 | 此接口为系统接口,三方应用不支持调用。
| ---- | ------ | ---- | --------------------- |
| uri | string | 是 | 指示要规范化的uri对象 |
**返回值:** **系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
| 类型 | 说明 | **参数:**
| ------ | --------------------------------------- |
| string | 如果反规范化成功,则返回反规范化uri对象 | | 名称 | 类型 | 必填 | 描述 |
| -------- | --------------------- | ---- | ----------------------- |
| uri | string | 是 | 指示要规范化的uri对象。 |
| callback | AsyncCallback<string> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
denormalizeUri(uri: string,callback) { // All of the input parameters are passed from the native side
denormalizeUri(uri: string, callback) {
// Specific functions need to be implemented by the user // Specific functions need to be implemented by the user
let err;
let ret = "denormalize+" + uri; let ret = "denormalize+" + uri;
callback(err,ret); callback(err, ret);
} }
``` ```
### openFile ## openFile
openFile?(uri: string, mode: string, callback: AsyncCallback<number>): void; openFile?(uri: string, mode: string, callback: AsyncCallback<number>): void;
将由openFile生命周期回调,在打开文件时回调 将由openFile生命周期回调,在打开文件时回调
**参数:** 此接口为可选的。可以被重写,也可以不进行重写。
| 名称 | 类型 | 必填 | 描述 | 此接口为系统接口,三方应用不支持调用。
| ---- | ------ | ---- | --------------------- |
| uri | string | 是 | 指示要规范化的uri对象 | **系统能力:** SystemCapability.DistributedDataManager.DataShare.Provider。
| mode | string | 是 | 指示文件打开模式‘rwt’ |
**返回值:** **参数:**
| 类型 | 说明 | | 名称 | 类型 | 必填 | 描述 |
| ------ | -------------- | | -------- | --------------------- | ---- | ------------------------------------------ |
| number | 返回文件描述符 | | uri | string | 是 | 指示要规范化的uri对象。 |
| mode | string | 是 | 指示文件打开模式,包括只读模式,读写模式。 |
| callback | AsyncCallback<number> | 是 | 表示被指定的回调方法。 |
**示例:** **示例:**
```js ```ts
// All of the input parameters are passed from the native side
openFile(uri: string, mode, callback) { openFile(uri: string, mode, callback) {
// Specific functions need to be implemented by the user // Specific functions need to be implemented by the user
let err;
let fd = 0; let fd = 0;
callback(err,fd); callback(err,fd);
} }
......
# DataShare谓词 # DataSharePredicates
**DataShare谓词(DataSharePredicates)** **谓词(DataSharePredicates)** 是用户通过DataShare查询数据库中的数据所使用的限制条件,经常被应用在更新数据(Update)和查询数据(Query)中。
>**说明:** >**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 >本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
```js ```ts
import DataSharePredicates from './@ohos.data.DataSharePredicates'; import DataSharePredicates from '@ohos.data.DataSharePredicates';
``` ```
## equalTo ## equalTo
equalTo(*field*: *string*, *value*: ValueType): DataSharePredicates; equalTo(field: string, value: ValueType): DataSharePredicates;
配置谓词以匹配数据类型为ValueType且值等于指定值的字段。 该接口用于配置谓词以匹配数据类型为ValueType且值等于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | ---------------------- | | ------ | --------------------------------------------------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| value | ValueType | 是 | 指示要与谓词匹配的值。 | | value | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "Rose") dataSharePredicates.equalTo("NAME", "Rose")
``` ```
## notEqualTo ## notEqualTo
notEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates; notEqualTo(field: string, value: ValueType): DataSharePredicates;
该接口用于配置谓词以匹配数据类型为ValueType且值不等于指定值的字段。
配置谓词以匹配数据类型为ValueType且值不等于指定值的字段 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | ---------------------- | | ------ | --------------------------------------------------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| value | ValueType | 是 | 指示要与谓词匹配的值。 | | value | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.notEqualTo("NAME", "Rose") dataSharePredicates.notEqualTo("NAME", "Rose")
``` ```
...@@ -73,19 +78,19 @@ dataSharePredicates.notEqualTo("NAME", "Rose") ...@@ -73,19 +78,19 @@ dataSharePredicates.notEqualTo("NAME", "Rose")
beginWrap(): DataSharePredicates; beginWrap(): DataSharePredicates;
向谓词添加左括号 该接口用于向谓词添加左括号。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | ---------------------- | | ------------------------------------------- | ---------------------- |
| DataSharePredicates | 返回带有左括号的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回带有左括号的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi") dataSharePredicates.equalTo("NAME", "lisi")
.beginWrap() .beginWrap()
...@@ -99,19 +104,19 @@ dataSharePredicates.equalTo("NAME", "lisi") ...@@ -99,19 +104,19 @@ dataSharePredicates.equalTo("NAME", "lisi")
endWrap(): DataSharePredicates; endWrap(): DataSharePredicates;
向谓词添加右括号 该接口用于向谓词添加右括号。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | ---------------------- | | ------------------------------------------- | ---------------------- |
| DataSharePredicates | 返回带有右括号的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回带有右括号的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi") dataSharePredicates.equalTo("NAME", "lisi")
.beginWrap() .beginWrap()
...@@ -125,19 +130,21 @@ dataSharePredicates.equalTo("NAME", "lisi") ...@@ -125,19 +130,21 @@ dataSharePredicates.equalTo("NAME", "lisi")
or(): DataSharePredicates; or(): DataSharePredicates;
将或条件添加到谓词中。 该接口用于将或条件添加到谓词中。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | ---------------------- | | ------------------------------------------- | ---------------------- |
| DataSharePredicates | 返回带有或条件的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回带有或条件的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi") dataSharePredicates.equalTo("NAME", "lisi")
.or() .or()
...@@ -148,19 +155,21 @@ dataSharePredicates.equalTo("NAME", "lisi") ...@@ -148,19 +155,21 @@ dataSharePredicates.equalTo("NAME", "lisi")
and(): DataSharePredicates; and(): DataSharePredicates;
将和条件添加到谓词中。 该接口用于将和条件添加到谓词中。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | ---------------------- | | ------------------------------------------- | ---------------------- |
| DataSharePredicates | 返回带有和条件的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回带有和条件的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "lisi") dataSharePredicates.equalTo("NAME", "lisi")
.and() .and()
...@@ -169,9 +178,9 @@ dataSharePredicates.equalTo("NAME", "lisi") ...@@ -169,9 +178,9 @@ dataSharePredicates.equalTo("NAME", "lisi")
## contains ## contains
contains(*field*: *string*, *value*: *string*): DataSharePredicates; contains(field: string, value: string): DataSharePredicates;
配置谓词以匹配数据类型为String且value包含指定值的字段 该接口用于配置谓词以匹配数据类型为String且value包含指定值的字段。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -185,21 +194,21 @@ contains(*field*: *string*, *value*: *string*): DataSharePredicates; ...@@ -185,21 +194,21 @@ contains(*field*: *string*, *value*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.contains("NAME", "os") dataSharePredicates.contains("NAME", "os")
``` ```
## beginsWith ## beginsWith
beginsWith(*field*: *string*, *value*: *string*): DataSharePredicates; beginsWith(field: string, value: string): DataSharePredicates;
配置谓词以匹配数据类型为String且值以指定字符串开头的字段 该接口用于配置谓词以匹配数据类型为String且值以指定字符串开头的字段。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -213,21 +222,21 @@ beginsWith(*field*: *string*, *value*: *string*): DataSharePredicates; ...@@ -213,21 +222,21 @@ beginsWith(*field*: *string*, *value*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.beginsWith("NAME", "os") dataSharePredicates.beginsWith("NAME", "os")
``` ```
## endsWith ## endsWith
endsWith(*field*: *string*, *value*: *string*): DataSharePredicates; endsWith(field: string, value: string): DataSharePredicates;
配置谓词以匹配数据类型为String且值以指定字符串结尾的字段 该接口用于配置谓词以匹配数据类型为String且值以指定字符串结尾的字段。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -241,21 +250,23 @@ endsWith(*field*: *string*, *value*: *string*): DataSharePredicates; ...@@ -241,21 +250,23 @@ endsWith(*field*: *string*, *value*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.endsWith("NAME", "os") dataSharePredicates.endsWith("NAME", "os")
``` ```
## isNull ## isNull
isNull(*field*: *string*): DataSharePredicates; isNull(field: string): DataSharePredicates;
该接口用于配置谓词以匹配值为null的字段。
配置谓词以匹配值为null的字段 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -268,21 +279,23 @@ isNull(*field*: *string*): DataSharePredicates; ...@@ -268,21 +279,23 @@ isNull(*field*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.isNull("NAME") dataSharePredicates.isNull("NAME")
``` ```
## isNotNull ## isNotNull
isNotNull(*field*: *string*): DataSharePredicates; isNotNull(field: string): DataSharePredicates;
配置谓词以匹配值不为null的指定字段。 该接口用于配置谓词以匹配值不为null的指定字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -295,21 +308,23 @@ isNotNull(*field*: *string*): DataSharePredicates; ...@@ -295,21 +308,23 @@ isNotNull(*field*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.isNotNull("NAME") dataSharePredicates.isNotNull("NAME")
``` ```
## like ## like
like(*field*: *string*, *value*: *string*): DataSharePredicates; like(field: string, value: string): DataSharePredicates;
该接口用于配置谓词以匹配数据类型为string且值类似于指定字符串的字段。
配置谓词以匹配数据类型为string且值类似于指定字符串的字段 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -323,21 +338,23 @@ like(*field*: *string*, *value*: *string*): DataSharePredicates; ...@@ -323,21 +338,23 @@ like(*field*: *string*, *value*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.like("NAME", "%os%") dataSharePredicates.like("NAME", "%os%")
``` ```
## unlike ## unlike
unlike(*field*: *string*, *value*: *string*): DataSharePredicates; unlike(field: string, value: string): DataSharePredicates;
配置谓词以匹配数据类型为string且值不类似于指定字符串的字段。 该接口用于配置谓词以匹配数据类型为string且值不类似于指定字符串的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -351,21 +368,21 @@ unlike(*field*: *string*, *value*: *string*): DataSharePredicates; ...@@ -351,21 +368,21 @@ unlike(*field*: *string*, *value*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.unlike("NAME", "%os%") dataSharePredicates.unlike("NAME", "%os%")
``` ```
## glob ## glob
glob(*field*: *string*, *value*: *string*): DataSharePredicates; glob(field: string, value: string): DataSharePredicates;
配置谓词匹配数据类型为string的指定字段 该接口用于配置谓词匹配数据类型为string的指定字段。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -379,79 +396,81 @@ glob(*field*: *string*, *value*: *string*): DataSharePredicates; ...@@ -379,79 +396,81 @@ glob(*field*: *string*, *value*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.glob("NAME", "?h*g") dataSharePredicates.glob("NAME", "?h*g")
``` ```
## between ## between
between(*field*: *string*, *low*: ValueType, *high*: ValueType): DataSharePredicates; between(field: string, low: ValueType, high: ValueType): DataSharePredicates;
将谓词配置为匹配数据类型为ValueType且value在指定范围内的指定字段 该接口用于将谓词配置为匹配数据类型为ValueType且value在指定范围内的指定字段。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | ------------------------ | | ------ | --------------------------------------------------- | ---- | ------------------------ |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| low | ValueType | 是 | 指示与谓词匹配的最小值。 | | low | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最小值。 |
| high | ValueType | 是 | 指示与谓词匹配的最大值。 | | high | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最大值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.between("AGE", 10, 50) dataSharePredicates.between("AGE", 10, 50)
``` ```
## notBetween ## notBetween
notBetween(*field*: *string*, *low*: ValueType, *high*: ValueType): DataSharePredicates; notBetween(field: string, low: ValueType, high: ValueType): DataSharePredicates;
配置谓词以匹配数据类型为ValueType且value超出给定范围的指定字段 该接口用于配置谓词以匹配数据类型为ValueType且value超出给定范围的指定字段。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | ------------------------ | | ------ | --------------------------------------------------- | ---- | ------------------------ |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| low | ValueType | 是 | 指示与谓词匹配的最小值。 | | low | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最小值。 |
| high | ValueType | 是 | 指示与谓词匹配的最大值。 | | high | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示与谓词匹配的最大值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.notBetween("AGE", 10, 50) dataSharePredicates.notBetween("AGE", 10, 50)
``` ```
## greaterThan ## greaterThan
greaterThan(*field*: *string*, *value*: ValueType): DataSharePredicates; greaterThan(field: string, value: ValueType): DataSharePredicates;
该接口用于配置谓词以匹配数据类型为ValueType且值大于指定值的字段。
配置谓词以匹配数据类型为ValueType且值大于指定值的字段 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -460,54 +479,58 @@ greaterThan(*field*: *string*, *value*: ValueType): DataSharePredicates; ...@@ -460,54 +479,58 @@ greaterThan(*field*: *string*, *value*: ValueType): DataSharePredicates;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | --------- | ---- | ---------------------- | | ------- | --------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | | value | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.greaterThan("AGE", 10) dataSharePredicates.greaterThan("AGE", 10)
``` ```
## lessThan ## lessThan
lessThan(*field*: *string*, *value*: ValueType): DataSharePredicates; lessThan(field: string, value: ValueType): DataSharePredicates;
配置谓词以匹配数据类型为valueType且value小于指定值的字段。 该接口用于配置谓词以匹配数据类型为valueType且value小于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | --------- | ---- | ---------------------- | | ------ | --------------------------------------------------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | | value | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.lessThan("AGE", 50) dataSharePredicates.lessThan("AGE", 50)
``` ```
## greaterThanOrEqualTo ## greaterThanOrEqualTo
greaterThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates; greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates;
该接口用于配置谓词以匹配数据类型为ValueType且value大于或等于指定值的字段。
配置谓词以匹配数据类型为ValueType且value大于或等于指定值的字段 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -516,26 +539,28 @@ greaterThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates ...@@ -516,26 +539,28 @@ greaterThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | --------- | ---- | ---------------------- | | ------- | --------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | | value | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.greaterThanOrEqualTo("AGE", 10) dataSharePredicates.greaterThanOrEqualTo("AGE", 10)
``` ```
## lessThanOrEqualTo ## lessThanOrEqualTo
lessThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates; lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates;
配置谓词以匹配数据类型为ValueType且value小于或等于指定值的字段。 该接口用于配置谓词以匹配数据类型为ValueType且value小于或等于指定值的字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -544,26 +569,28 @@ lessThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates; ...@@ -544,26 +569,28 @@ lessThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | --------- | ---- | ---------------------- | | ------- | --------- | ---- | ---------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | | value | [ValueType](js-apis-data-ValuesBucket.md#valuetype) | 是 | 指示要与谓词匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.lessThanOrEqualTo("AGE", 50) dataSharePredicates.lessThanOrEqualTo("AGE", 50)
``` ```
## orderByAsc ## orderByAsc
orderByAsc(*field*: *string*): DataSharePredicates; orderByAsc(field: *string*): DataSharePredicates;
该接口用于配置谓词以匹配其值按升序排序的列。
配置谓词以匹配其值按升序排序的列 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -576,21 +603,23 @@ orderByAsc(*field*: *string*): DataSharePredicates; ...@@ -576,21 +603,23 @@ orderByAsc(*field*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.orderByAsc("AGE") dataSharePredicates.orderByAsc("AGE")
``` ```
## orderByDesc ## orderByDesc
orderByDesc(*field*: *string*): DataSharePredicates; orderByDesc(field: *string*): DataSharePredicates;
配置谓词以匹配其值按降序排序的列。 该接口用于配置谓词以匹配其值按降序排序的列。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -603,12 +632,12 @@ orderByDesc(*field*: *string*): DataSharePredicates; ...@@ -603,12 +632,12 @@ orderByDesc(*field*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.orderByDesc("AGE") dataSharePredicates.orderByDesc("AGE")
``` ```
...@@ -617,28 +646,30 @@ dataSharePredicates.orderByDesc("AGE") ...@@ -617,28 +646,30 @@ dataSharePredicates.orderByDesc("AGE")
distinct(): DataSharePredicates; distinct(): DataSharePredicates;
配置谓词以过滤重复记录并仅保留其中一个 该接口用于配置谓词以过滤重复记录并仅保留其中一个。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "Rose").distinct("NAME") dataSharePredicates.equalTo("NAME", "Rose").distinct("NAME")
``` ```
## limit ## limit
limit(*total*: *number*, *offset*: *number*): DataSharePredicates; limit(total: number, offset: number): DataSharePredicates;
该接口用于配置谓词以指定结果数和起始位置。
配置谓词以指定结果数和起始位置 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -647,53 +678,53 @@ limit(*total*: *number*, *offset*: *number*): DataSharePredicates; ...@@ -647,53 +678,53 @@ limit(*total*: *number*, *offset*: *number*): DataSharePredicates;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | -------------- | | -------- | ------ | ---- | -------------- |
| total | number | 是 | 指定结果数。 | | total | number | 是 | 指定结果数。 |
| *offset* | number | 是 | 指示起始位置。 | | offset | number | 是 | 指示起始位置。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.equalTo("NAME", "Rose").limit(10, 3) dataSharePredicates.equalTo("NAME", "Rose").limit(10, 3)
``` ```
## groupBy ## groupBy
groupBy(*fields*: Array<*string*>): DataSharePredicates; groupBy(fields: Array<string>): DataSharePredicates;
配置谓词按指定列分组查询结果 该接口用于配置谓词按指定列分组查询结果。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------- | ---- | -------------------- | | ------ | ------------- | ---- | -------------------- |
| fields | Array<*string*> | 是 | 指定分组依赖的列名。 | | fields | Array<string> | 是 | 指定分组依赖的列名。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.groupBy(["AGE", "NAME"]) dataSharePredicates.groupBy(["AGE", "NAME"])
``` ```
## indexedBy ## indexedBy
indexedBy(*field*: *string*): DataSharePredicates; indexedBy(field: string): DataSharePredicates;
配置谓词以指定索引列 该接口用于配置谓词以指定索引列。目前仅RDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -706,21 +737,23 @@ indexedBy(*field*: *string*): DataSharePredicates; ...@@ -706,21 +737,23 @@ indexedBy(*field*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.indexedBy("SALARY_INDEX") dataSharePredicates.indexedBy("SALARY_INDEX")
``` ```
## in ## in
in(*field*: *string*, *value*: Array<ValueType>): DataSharePredicates; in(field: string, value: Array<ValueType>): DataSharePredicates;
配置谓词以匹配数据类型为ValueType数组且值在给定范围内的指定字段。 该接口用于配置谓词以匹配数据类型为ValueType数组且值在给定范围内的指定字段。
目前仅RDB及KVDB(schema)支持该谓词。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -729,26 +762,28 @@ in(*field*: *string*, *value*: Array<ValueType>): DataSharePredicates; ...@@ -729,26 +762,28 @@ in(*field*: *string*, *value*: Array<ValueType>): DataSharePredicates;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------- | ---- | --------------------------------------- | | ------- | ---------------- | ---- | --------------------------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| *value* | Array<ValueType> | 是 | 以ValueType型数组形式指定的要匹配的值。 | | value | Array<[ValueType](js-apis-data-ValuesBucket.md#valuetype)> | 是 | 以ValueType型数组形式指定的要匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.in("AGE", [18, 20]) dataSharePredicates.in("AGE", [18, 20])
``` ```
## notIn ## notIn
notIn(*field*: *string*, *value*: Array<ValueType>): DataSharePredicates; notIn(field: string, value: Array<ValueType>): DataSharePredicates;
该接口用于配置谓词以匹配数据类型为ValueType数组且值不在给定范围内的指定字段。
配置谓词以匹配数据类型为ValueType数组且值不在给定范围内的指定字段 目前仅RDB及KVDB(schema)支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -757,26 +792,26 @@ notIn(*field*: *string*, *value*: Array<ValueType>): DataSharePredicates; ...@@ -757,26 +792,26 @@ notIn(*field*: *string*, *value*: Array<ValueType>): DataSharePredicates;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------- | ---- | --------------------------------------- | | ------- | ---------------- | ---- | --------------------------------------- |
| field | string | 是 | 数据库表中的列名。 | | field | string | 是 | 数据库表中的列名。 |
| *value* | Array<ValueType> | 是 | 以ValueType型数组形式指定的要匹配的值。 | | value | Array<[ValueType](js-apis-data-ValuesBucket.md#valuetype)> | 是 | 以ValueType型数组形式指定的要匹配的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.notIn("NAME", ["Lisa", "Rose"]) dataSharePredicates.notIn("NAME", ["Lisa", "Rose"])
``` ```
## prefixKey ## prefixKey
prefixKey(*prefix*: *string*): DataSharePredicates; prefixKey(prefix: string): DataSharePredicates;
配置谓词以匹配键前缀的指定字段 该接口用于配置谓词以匹配键前缀的指定字段。目前仅KVDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -789,39 +824,39 @@ prefixKey(*prefix*: *string*): DataSharePredicates; ...@@ -789,39 +824,39 @@ prefixKey(*prefix*: *string*): DataSharePredicates;
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.prefixKey("NAME") dataSharePredicates.prefixKey("NAME")
``` ```
## inKeys ## inKeys
inKeys(*keys*: Array<*string*>): DataSharePredicates; inKeys(keys: Array<string>): DataSharePredicates;
配置谓词以匹配键在给定范围内的指定字段 该接口用于配置谓词以匹配键在给定范围内的指定字段。目前仅KVDB支持该谓词
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------- | ---- | ------------------ | | ------ | ------------- | ---- | ------------------ |
| inKeys | Array<*string*> | 是 | 给定范围的键数组。 | | inKeys | Array<string> | 是 | 给定范围的键数组。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------------- | -------------------------- | | ------------------------------------------- | -------------------------- |
| DataSharePredicates | 返回与指定字段匹配的谓词。 | | [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
**示例:** **示例:**
```js ```ts
let dataSharePredicates = new DataSharePredicates() let dataSharePredicates = new DataSharePredicates()
dataSharePredicates.inKeys(["Lisa", "Rose"]) dataSharePredicates.inKeys(["Lisa", "Rose"])
``` ```
# DataShare结果集 # DataShareResultSet
**DataShare结果集(DataShareResultSet)** **结果集(DataShareResultSet)** 是为了提供通过查询数据库生成的结果集的访问方法,可以根据提供的行数,查询相应的值,也可以查询指定数据类型的值。
提供通过查询数据库生成的数据库结果集的访问方法。
>**说明:** >**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 >本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
```js ```ts
import DataShareResultSet from './@ohos.data.DataShareResultSet'; import DataShareResultSet from '@ohos.data.DataShareResultSet';
``` ```
## 使用说明 ## 使用说明
需要通过dataShare.query()获取DataShareResultSet对象。 需要通过[dataShare.query()](js-apis-data-dataShare.md#query)获取DataShareResultSet对象。
```js ```ts
import dataShare from '@ohos.data.dataShare'; import dataShare from '@ohos.data.dataShare';
import DataSharePredicates from './@ohos.data.DataSharePredicates';
query() 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 dataShare.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);
});
``` ```
## 属性 ## 属性
| 名称 | 参数类型 | 必填 | 说明 | | 名称 | 参数类型 | 必填 | 说明 |
| ----------- | --------------- | ---- | -------------------------- | | ----------- | ------------- | ---- | ------------------------ |
| columnNames | Array<*string*> | 是 | 获取结果集中所有列的名称。 | | columnNames | Array<string> | 是 | 结果集中所有列的名称。 |
| columnCount | *number* | 是 | 获取结果集中的列数。 | | columnCount | number | 是 | 结果集中的列数。 |
| rowCount | *number* | 是 | 获取结果集中的行数。 | | rowCount | number | 是 | 结果集中的行数。 |
| isClosed | *boolean* | 是 | 检查当前结果集是否关闭。 | | isClosed | boolean | 是 | 标志当前结果集是否关闭。 |
## goToFirstRow ## goToFirstRow
goToFirstRow(): *boolean*; goToFirstRow(): boolean;
转到结果集的第一行。 该接口用于转到结果集的第一行。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| :-------- | --------------------------------------------- | | :------ | --------------------------------------------- |
| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | | boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let isGoTOFirstRow = resultSet.goToFirstRow(); let isGoTOFirstRow = resultSet.goToFirstRow();
console.info('resultSet.goToFirstRow: ' + isGoTOFirstRow); console.info('resultSet.goToFirstRow: ' + isGoTOFirstRow);
``` ```
## goToLastRow ## goToLastRow
goToLastRow(): *boolean*; goToLastRow(): boolean;
转到结果集的最后一行。 该接口用于转到结果集的最后一行。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -67,32 +87,36 @@ goToLastRow(): *boolean*; ...@@ -67,32 +87,36 @@ goToLastRow(): *boolean*;
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | | boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let isGoToLastRow = resultSet.goToLastRow(); let isGoToLastRow = resultSet.goToLastRow();
console.info('resultSet.goToLastRow: ' + isGoToLastRow); console.info('resultSet.goToLastRow: ' + isGoToLastRow);
``` ```
## goToNextRow ## goToNextRow
goToNextRow(): *boolean*; goToNextRow(): boolean;
转到结果集的下一行。 该接口用于转到结果集的下一行。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------- | --------------------------------------------- | | ------- | --------------------------------------------- |
| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | | boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let isGoToNextRow = resultSet.goToNextRow(); let isGoToNextRow = resultSet.goToNextRow();
console.info('resultSet.goToNextRow: ' + isGoToNextRow); console.info('resultSet.goToNextRow: ' + isGoToNextRow);
``` ```
...@@ -101,19 +125,21 @@ console.info('resultSet.goToNextRow: ' + isGoToNextRow); ...@@ -101,19 +125,21 @@ console.info('resultSet.goToNextRow: ' + isGoToNextRow);
goToPreviousRow(): boolean; goToPreviousRow(): boolean;
转到结果集的上一行。 该接口用于转到结果集的上一行。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------- | --------------------------------------------- | | ------- | --------------------------------------------- |
| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | | boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let isGoToPreviousRow = resultSet.goToPreviousRow(); let isGoToPreviousRow = resultSet.goToPreviousRow();
console.info('resultSet.goToPreviousRow: ' + isGoToPreviousRow); console.info('resultSet.goToPreviousRow: ' + isGoToPreviousRow);
``` ```
...@@ -122,7 +148,7 @@ console.info('resultSet.goToPreviousRow: ' + isGoToPreviousRow); ...@@ -122,7 +148,7 @@ console.info('resultSet.goToPreviousRow: ' + isGoToPreviousRow);
goTo(offset:number): boolean; goTo(offset:number): boolean;
向前或向后转至结果集的指定行,相对于其当前位置偏移。 该接口用于向前或向后转至结果集的指定行,相对于其当前位置偏移。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -130,17 +156,19 @@ goTo(offset:number): boolean; ...@@ -130,17 +156,19 @@ goTo(offset:number): boolean;
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ---------- | -------- | -------- | ---------------------------- | | ---------- | -------- | -------- | ---------------------------- |
| *offset* | number | 是 | 表示相对于当前位置的偏移量。 | | offset | number | 是 | 表示相对于当前位置的偏移量。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------- | --------------------------------------------- | | ------- | --------------------------------------------- |
| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | | boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let goToNum = 1; let goToNum = 1;
let isGoTo = resultSet.goTo(goToNum); let isGoTo = resultSet.goTo(goToNum);
console.info('resultSet.goTo: ' + isGoTo); console.info('resultSet.goTo: ' + isGoTo);
...@@ -150,7 +178,7 @@ console.info('resultSet.goTo: ' + isGoTo); ...@@ -150,7 +178,7 @@ console.info('resultSet.goTo: ' + isGoTo);
goToRow(position: number): boolean; goToRow(position: number): boolean;
转到结果集的指定行。 该接口用于转到结果集的指定行。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
...@@ -158,17 +186,19 @@ goToRow(position: number): boolean; ...@@ -158,17 +186,19 @@ goToRow(position: number): boolean;
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ---------- | -------- | -------- | ------------------------ | | ---------- | -------- | -------- | ------------------------ |
| *position* | number | 是 | 表示要移动到的指定位置。 | | position | number | 是 | 表示要移动到的指定位置。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| --------- | --------------------------------------------- | | ------- | --------------------------------------------- |
| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | | boolean | 如果成功移动结果集,则为true;否则返回false。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let goToRowNum = 2 let goToRowNum = 2
let isGoToRow = resultSet.goToRow(goToRowNum); let isGoToRow = resultSet.goToRow(goToRowNum);
console.info('resultSet.goToRow: ' + isGoToRow); console.info('resultSet.goToRow: ' + isGoToRow);
...@@ -176,27 +206,29 @@ console.info('resultSet.goToRow: ' + isGoToRow); ...@@ -176,27 +206,29 @@ console.info('resultSet.goToRow: ' + isGoToRow);
## getBlob ## getBlob
getBlob(*columnIndex*: *number*): Uint8Array; getBlob(columnIndex: number): Uint8Array;
以字节数组的形式获取当前行中指定列的值。 该接口用于以字节数组的形式获取当前行中指定列的值。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ------------- | -------- | -------- | ----------------------- | | ----------- | -------- | -------- | ----------------------- |
| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | | columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------------ | -------------------------------- | | ---------- | -------------------------------- |
| *Uint8Array* | 以字节数组的形式返回指定列的值。 | | Uint8Array | 以字节数组的形式返回指定列的值。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let columnIndex = 1 let columnIndex = 1
let goToFirstRow = resultSet.goToFirstRow(); let goToFirstRow = resultSet.goToFirstRow();
let getBlob = resultSet.getBlob(columnIndex); let getBlob = resultSet.getBlob(columnIndex);
...@@ -205,27 +237,29 @@ console.info('resultSet.getBlob: ' + getBlob); ...@@ -205,27 +237,29 @@ console.info('resultSet.getBlob: ' + getBlob);
## getString ## getString
getString(*columnIndex*: *number*): *string*; getString(columnIndex: number): *string*;
以字符串形式获取当前行中指定列的值。 该接口用于以字符串形式获取当前行中指定列的值。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ------------- | -------- | -------- | ----------------------- | | ----------- | -------- | -------- | ----------------------- |
| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | | columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | ---------------------------- | | ------ | ---------------------------- |
| *string* | 以字符串形式返回指定列的值。 | | string | 以字符串形式返回指定列的值。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let columnIndex = 1 let columnIndex = 1
let goToFirstRow = resultSet.goToFirstRow(); let goToFirstRow = resultSet.goToFirstRow();
let getString = resultSet.getString(columnIndex); let getString = resultSet.getString(columnIndex);
...@@ -234,27 +268,29 @@ console.info('resultSet.getString: ' + getString); ...@@ -234,27 +268,29 @@ console.info('resultSet.getString: ' + getString);
## getLong ## getLong
getLong(*columnIndex*: *number*): *number*; getLong(columnIndex: number): *number*;
以Long形式获取当前行中指定列的值。 该接口用于以Long形式获取当前行中指定列的值。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ------------- | -------- | -------- | ----------------------- | | ----------- | -------- | -------- | ----------------------- |
| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | | columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------------------------- | | ------ | -------------------------- |
| *number* | 以Long形式返回指定列的值。 | | number | 以Long形式返回指定列的值。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let columnIndex = 1 let columnIndex = 1
let goToFirstRow = resultSet.goToFirstRow(); let goToFirstRow = resultSet.goToFirstRow();
let getLong = resultSet.getLong(columnIndex); let getLong = resultSet.getLong(columnIndex);
...@@ -263,27 +299,29 @@ console.info('resultSet.getLong: ' + getLong); ...@@ -263,27 +299,29 @@ console.info('resultSet.getLong: ' + getLong);
## getDouble ## getDouble
getDouble(*columnIndex*: *number*): *number*; getDouble(columnIndex: number): *number*;
以double形式获取当前行中指定列的值。 该接口用于以double形式获取当前行中指定列的值。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ------------- | -------- | -------- | ----------------------- | | ----------- | -------- | -------- | ----------------------- |
| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | | columnIndex | number | 是 | 指定的列索引,从0开始。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | ---------------------------- | | ------ | ---------------------------- |
| *number* | 以double形式返回指定列的值。 | | number | 以double形式返回指定列的值。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let columnIndex = 1 let columnIndex = 1
let goToFirstRow = resultSet.goToFirstRow(); let goToFirstRow = resultSet.goToFirstRow();
let getDouble = resultSet.getDouble(columnIndex); let getDouble = resultSet.getDouble(columnIndex);
...@@ -292,41 +330,43 @@ console.info('resultSet.getDouble: ' + getDouble); ...@@ -292,41 +330,43 @@ console.info('resultSet.getDouble: ' + getDouble);
## close ## close
close(): *void*; close(): void;
关闭结果集。 该接口用于关闭结果集。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**示例:** **示例:**
```js ```ts
resultSet.close(); resultSet.close();
``` ```
## getColumnIndex ## getColumnIndex
getColumnIndex(*columnName*: *string*): *number*; getColumnIndex(columnName: string): *number*;
根据指定的列名获取列索引。 该接口用于根据指定的列名获取列索引。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ------------ | -------- | -------- | -------------------------- | | ---------- | -------- | -------- | -------------------------- |
| *columnName* | string | 是 | 表示结果集中指定列的名称。 | | columnName | string | 是 | 表示结果集中指定列的名称。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | ------------------ | | ------ | ------------------ |
| *number* | 返回指定列的索引。 | | number | 返回指定列的索引。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let ColumnName = "name" let ColumnName = "name"
let getColumnIndex = resultSet.getColumnIndex(ColumnName) let getColumnIndex = resultSet.getColumnIndex(ColumnName)
console.info('resultSet.getColumnIndex: ' + getColumnIndex); console.info('resultSet.getColumnIndex: ' + getColumnIndex);
...@@ -334,27 +374,29 @@ console.info('resultSet.getColumnIndex: ' + getColumnIndex); ...@@ -334,27 +374,29 @@ console.info('resultSet.getColumnIndex: ' + getColumnIndex);
## getColumnName ## getColumnName
getColumnName(*columnIndex*: *number*): *string*; getColumnName(columnIndex: number): *string*;
根据指定的列索引获取列名。 该接口用于根据指定的列索引获取列名。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ------------- | -------- | -------- | -------------------------- | | ----------- | -------- | -------- | -------------------------- |
| *columnIndex* | number | 是 | 表示结果集中指定列的索引。 | | columnIndex | number | 是 | 表示结果集中指定列的索引。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | ------------------ | | ------ | ------------------ |
| *string* | 返回指定列的名称。 | | string | 返回指定列的名称。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let columnIndex = 1 let columnIndex = 1
let getColumnName = resultSet.getColumnName(columnIndex) let getColumnName = resultSet.getColumnName(columnIndex)
console.info('resultSet.getColumnName: ' + getColumnName); console.info('resultSet.getColumnName: ' + getColumnName);
...@@ -362,27 +404,29 @@ console.info('resultSet.getColumnName: ' + getColumnName); ...@@ -362,27 +404,29 @@ console.info('resultSet.getColumnName: ' + getColumnName);
## getDataType ## getDataType
getDataType(*columnIndex*: *number*): DataType; getDataType(columnIndex: number): DataType;
获取指定列的数据类型。 该接口用于获取指定列的数据类型。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。
**参数:** **参数:**
| **参数名** | **类型** | **必填** | 说明 | | **参数名** | **类型** | **必填** | 说明 |
| ------------- | -------- | -------- | -------------------------- | | ----------- | -------- | -------- | -------------------------- |
| *columnIndex* | number | 是 | 表示结果集中指定列的索引。 | | columnIndex | number | 是 | 表示结果集中指定列的索引。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------- | ------------------ | | --------------------- | ------------------ |
| *DataType* | 返回指定列的类型。 | | [DataType](#datatype) | 返回指定列的类型。 |
**示例:** **示例:**
```js ```ts
// Refer to the instructions for the method of obtaining resultSet
let resultSet;
let columnIndex = 1; let columnIndex = 1;
let getDataType = resultSet.getDataType(columnIndex); let getDataType = resultSet.getDataType(columnIndex);
console.info('resultSet.getDataType: ' + getDataType); console.info('resultSet.getDataType: ' + getDataType);
...@@ -390,7 +434,7 @@ console.info('resultSet.getDataType: ' + getDataType); ...@@ -390,7 +434,7 @@ console.info('resultSet.getDataType: ' + getDataType);
## DataType ## DataType
用于表示数据类型。 该类型用于用于表示数据类型。
只能被内部应用使用。 只能被内部应用使用。
......
# ValuesBucket # ValuesBucket
**数据集(ValuesBucket)** **数据集(ValuesBucket) **是用户通过DataShare进行插入的数据集合,通过DataShare的insert方法可以进行插入对应的数据集,update方法可以对已经插入的数据集进行修改,数据集以键-值对的形式进行传输。
>**说明:** >**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 >本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
```js ```ts
import { ValueType } from './@ohos.data.ValuesBucket'; import { ValueType } from '@ohos.data.ValuesBucket';
import { ValuesBucket } from './@ohos.data.ValuesBucket'; import { ValuesBucket } from '@ohos.data.ValuesBucket';
``` ```
## ValueType ## ValueType
用于表示允许的数据字段类型。 该类型用于表示允许的数据字段类型。
| 名称 | 说明 | | 名称 | 说明 |
| --------- | -------------------- | | ------- | -------------------- |
| *number* | 表示值类型为数字。 | | number | 表示值类型为数字。 |
| *string* | 表示值类型为字符串。 | | string | 表示值类型为字符串。 |
| *boolean* | 表示值类型为布尔值。 | | boolean | 表示值类型为布尔值。 |
## ValuesBucket ## ValuesBucket
用于存储键值对。 该类型用于存储一系列键值对。
| 名称 | 参数类型 | 必填 | 说明 | | 名称 | 参数类型 | 必填 | 说明 |
| ------------- | ------------------------------- | ---- | ---------------- | | ------------- | --------------------------------------------- | ---- | ------------------------------------------------------------ |
| [key: string] | ValueType \| Uint8Array \| null | 是 | 用于存储键值对。 | | [key: string] | [ValueType](#valuetype) \| Uint8Array \| null | 是 | 键的类型为字符串型;值的类型可以为数字,字符串,布尔值,无符号整型8位数组,空值。 |
# 数据共享 # DataShare
**数据共享(Data Share)** 是应用管理自身和其他应用存储数据的访问,提供与其他应用共享数据的方法,既支持同个设备上应用之间的数据共享,也支持跨设备上应用之间的数据共享。 **DataShare** 用于应用管理其自身数据,也提供了其他应用共享以及管理其数据的方法,支持同个设备上应用之间的数据共享。
>**说明:** >**说明:**
>
>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 >本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
```js ```ts
import Ability from '@ohos.application.Ability' import Ability from '@ohos.application.Ability'
import dataShare from '@ohos.data.dataShare' import dataShare from '@ohos.data.dataShare'
``` ```
...@@ -19,27 +20,29 @@ import dataShare from '@ohos.data.dataShare' ...@@ -19,27 +20,29 @@ import dataShare from '@ohos.data.dataShare'
createDataShareHelper(context: Context, uri: string, callback: AsyncCallback&lt;DataShareHelper&gt;): void; createDataShareHelper(context: Context, uri: string, callback: AsyncCallback&lt;DataShareHelper&gt;): void;
createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper&gt;; createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper&gt;;
创建DataShare工具类,返回helper对象,用于连接服务端,并通过callback方式返回,此方法为异步方法 创建DataShare工具类,创建helper对象时将连接服务端,与服务端取得连接后或超时后将返回helper实例,此方法为异步方法。在与服务端取得连接后可使用DataShare工具类提供的方法访问或管理服务端的数据,若未连接上服务端,调用工具类提供的方法时将返回error code
**系统能力:** 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.DataShare.Consumer。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 参数名 | 参数类型 | 必填 | 说明 | | 参数名 | 参数类型 | 必填 | 说明 |
| -------- | -------------------------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | -------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用的上下文环境。 | | context | [Context](js-apis-application-context.md#context) | 是 | 应用的上下文环境。 |
| uri | string | 是 | 指示要打开的文件的路径。 | | uri | string | 是 | 指示要打开的文件的路径。 |
| callback | AsyncCallback&lt;[DataShareHelper](#DataShareHelper)&gt; | 是 | DataShareHelper实例创建时调用的回调,返回KVManager对象实例。 | | callback | AsyncCallback&lt;[DataShareHelper](#datasharehelper)&gt; | 是 | DataShareHelper实例创建完成后调用的回调,返回DataShareHelper对象实例。 |
**示例:** **示例:**
```js ```ts
let context = this.context; import dataShare from '@ohos.data.dataShare'
let dseUri = ("datashare:///com.samples.datasharetest.DataShare"); let dseUri = ("datashare:///com.samples.datasharetest.DataShare");
await dataShare.createDataShareHelper(this.context, dseUri, (err,data)=>{ dataShare.createDataShareHelper(this.context, dseUri, (err, data) => {
if(err.code != 0) { if (err != undefined) {
console.info("createDataShareHelper fail, err = " + err); console.info("createDataShareHelper fail, error message : " + err);
}erse { } else {
console.info("createDataShareHelper end, data : " + data);
let dataShareHelper = data; let dataShareHelper = data;
} }
}); });
...@@ -51,7 +54,9 @@ await dataShare.createDataShareHelper(this.context, dseUri, (err,data)=>{ ...@@ -51,7 +54,9 @@ await dataShare.createDataShareHelper(this.context, dseUri, (err,data)=>{
openFile(uri: string, mode: string, callback: AsyncCallback<number>): void openFile(uri: string, mode: string, callback: AsyncCallback<number>): void
在指定的远程路径中打开文件(callback形式)。 打开URI所指定的远程路径中的文件(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -63,13 +68,15 @@ openFile(uri: string, mode: string, callback: AsyncCallback<number>): void ...@@ -63,13 +68,15 @@ openFile(uri: string, mode: string, callback: AsyncCallback<number>): void
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
dataShareHelper.openFile(uri, "rwt", (err,data) => { let uri = ("datashare:///com.samples.datasharetest.DataShare");
if(err.code != 0) { dataShareHelper.openFile(uri, "rwt", (err, data) => {
console.info("createDataShareHelper fail, err = " + err); if (err != undefined) {
console.info("openFile fail, error message : " + err);
}erse { }erse {
console.info("openFile end, data : " + data);
let fd = data; let fd = data;
} }
}); });
...@@ -79,7 +86,9 @@ dataShareHelper.openFile(uri, "rwt", (err,data) => { ...@@ -79,7 +86,9 @@ dataShareHelper.openFile(uri, "rwt", (err,data) => {
openFile(uri: string, mode: string): Promise<number> openFile(uri: string, mode: string): Promise<number>
在指定的远程路径中打开文件(Promise形式)。 打开URI所指定的远程路径中的文件(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -96,13 +105,15 @@ openFile(uri: string, mode: string): Promise<number> ...@@ -96,13 +105,15 @@ openFile(uri: string, mode: string): Promise<number>
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
dataShareHelper.openFile(uri, "rwt").then((data)=>{ let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.openFile(uri, "rwt").then((data) => {
console.info("openFile end, data : " + data);
let fd = data; let fd = data;
}).catch((err) => { }).catch((err) => {
console.info("createDataShareHelper fail, err = " + err); console.info("openFile fail, error message : " + err);
}) })
``` ```
...@@ -110,7 +121,9 @@ dataShareHelper.openFile(uri, "rwt").then((data)=>{ ...@@ -110,7 +121,9 @@ dataShareHelper.openFile(uri, "rwt").then((data)=>{
on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void
注册观察者以观察给定uri指定的数据callback通知。 注册观察者以订阅给定uri指定的数据callback通知。若用户(订阅者)已注册了观察者,当有其他用户触发了变更通知时(调用了下文中的notifyChange方法),订阅者将会接受到callback通知。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -122,9 +135,10 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void ...@@ -122,9 +135,10 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.on("dataChange", uri, onCallback); dataShareHelper.on("dataChange", uri, onCallback);
export function onCallback() { export function onCallback() {
...@@ -138,6 +152,8 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void ...@@ -138,6 +152,8 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void
注消观察者以停止观察给定uri指定的数据callback通知。 注消观察者以停止观察给定uri指定的数据callback通知。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -148,9 +164,10 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void ...@@ -148,9 +164,10 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.off("dataChange", uri, offCallback); dataShareHelper.off("dataChange", uri, offCallback);
export function offCallback() { export function offCallback() {
...@@ -158,11 +175,77 @@ export function offCallback() { ...@@ -158,11 +175,77 @@ export function offCallback() {
} }
``` ```
### notifyChange
notifyChange(uri: string, callback: AsyncCallback\<void>): void
通知已注册的观察者uri指定的数据资源的更改(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | -------------------- | ---- | ------------------------ |
| uri | string | 是 | 指示要操作的数据的路径。 |
| callback | AsyncCallback\<void> | 是 | 回调方法。 |
**示例:**
```ts
// Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.notifyChange(uri, () => {
console.log("***** notifyChange *****");
});
```
### notifyChange
notifyChange(uri: string): Promise\<void>
通知已注册的观察者uri指定的数据资源的更改(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ------------------------ |
| uri | string | 是 | 指示要操作的数据的路径。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------- |
| Promise\<void> | 返回值为Promise对象。 |
**示例:**
```ts
// Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
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;
}
});
dataShareHelper.notifyChange(uri);
```
### getType ### getType
getType(uri: string, callback: AsyncCallback\<string>): void getType(uri: string, callback: AsyncCallback\<string>): void
获取给定URI指定数据的MIME类型(callback形式)。 获取URI所指定的数据的MIME类型(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -173,14 +256,15 @@ getType(uri: string, callback: AsyncCallback\<string>): void ...@@ -173,14 +256,15 @@ getType(uri: string, callback: AsyncCallback\<string>): void
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare' // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
dataShareHelper.getType(uri,(err,data)=>{ let uri = ("datashare:///com.samples.datasharetest.DataShare");
if(err.code != 0){ dataShareHelper.getType(uri, (err, data)=>{
console.log("getType err, err:" + JSON.stringify(err)); if (err != undefined) {
console.log("getType fail, error message : " + err);
}else{ }else{
console.log("getType end, data:" + JSON.stringify(data)); console.log("getType end, data : " + data);
let result = data; let result = data;
} }
}); });
...@@ -190,7 +274,9 @@ dataShareHelper.getType(uri,(err,data)=>{ ...@@ -190,7 +274,9 @@ dataShareHelper.getType(uri,(err,data)=>{
getType(uri: string): Promise\<string> getType(uri: string): Promise\<string>
获取给定URI指定数据的MIME类型(Promise形式)。 获取URI所指定数据的MIME类型(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -206,13 +292,14 @@ getType(uri: string): Promise\<string> ...@@ -206,13 +292,14 @@ getType(uri: string): Promise\<string>
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare' // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.getType(uri).then((data) => { dataShareHelper.getType(uri).then((data) => {
console.log("getType end, data:" + data); console.log("getType end, data : " + data);
}).catch((err) => { }).catch((err) => {
console.log("getType end, err:" + err); console.log("getType fail, error message : " + err);
}); });
``` ```
...@@ -222,6 +309,8 @@ getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\ ...@@ -222,6 +309,8 @@ getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\
获取支持的文件的MIME类型(callback形式)。 获取支持的文件的MIME类型(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -232,15 +321,16 @@ getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\ ...@@ -232,15 +321,16 @@ getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let mimeTypeFilter = "image/*"; let mimeTypeFilter = "image/*";
dataShareHelper.getFileTypes(uri, mimeTypeFilter, (err,data) => { dataShareHelper.getFileTypes(uri, mimeTypeFilter, (err,data) => {
if(err.code != 0){ if (err != undefined) {
console.log("dataShareHelper end, err:" + err); console.log("dataShareHelper fail, error message : " + err);
}else{ }else{
console.log("dataShareHelper end, data:" + data); console.log("dataShareHelper end, data : " + data);
} }
}); });
``` ```
...@@ -253,6 +343,8 @@ getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>> ...@@ -253,6 +343,8 @@ getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>>
获取支持的文件的MIME类型(Promise形式)。 获取支持的文件的MIME类型(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -268,14 +360,15 @@ getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>> ...@@ -268,14 +360,15 @@ getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>>
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let mimeTypeFilter = "image/*"; let mimeTypeFilter = "image/*";
dataShareHelper.getFileTypes(uri, mimeTypeFilter).then((data) => { dataShareHelper.getFileTypes(uri, mimeTypeFilter).then((data) => {
console.log("dataShareHelper end, data:" + data); console.log("dataShareHelper end, data : " + data);
}).catch((err) => { }).catch((err) => {
console.log("dataShareHelper end, err:" + err); console.log("dataShareHelper fail, error message : " + err);
}); });
``` ```
...@@ -283,23 +376,26 @@ dataShareHelper.getFileTypes(uri, mimeTypeFilter).then((data) => { ...@@ -283,23 +376,26 @@ dataShareHelper.getFileTypes(uri, mimeTypeFilter).then((data) => {
normalizeUri(uri: string, callback: AsyncCallback\<string>): void normalizeUri(uri: string, callback: AsyncCallback\<string>): void
将引用数据功能的给定uri转换为规范化uri(callback形式)。 将给定的DataShare uri转换为规范化uri(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ | | -------- | ---------------------- | ---- | -------------------------------------------------------- |
| uri | string | 是 | 指示要规范化的uri对象。 | | uri | string | 是 | 指示要规范化的uri对象。 |
| callback | AsyncCallback\<string> | 是 | 回调方法。如果数据功能支持uri规范化或null,则返回规范化uri对象。 | | callback | AsyncCallback\<string> | 是 | 回调方法。如果支持uri规范化或null,则返回规范化uri对象。 |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
dataShareHelper.normalizeUri(uri,(err,data) => { let uri = ("datashare:///com.samples.datasharetest.DataShare");
if(err.code != 0){ dataShareHelper.normalizeUri(uri, (err, data) => {
console.log("normalizeUri end, err:" + err); if (err != undefined) {
console.log("normalizeUri fail, error message : " + err);
}else{ }else{
console.log("normalizeUri = " + data); console.log("normalizeUri = " + data);
} }
...@@ -310,7 +406,9 @@ dataShareHelper.normalizeUri(uri,(err,data) => { ...@@ -310,7 +406,9 @@ dataShareHelper.normalizeUri(uri,(err,data) => {
normalizeUri(uri: string): Promise\<string> normalizeUri(uri: string): Promise\<string>
将引用数据功能的给定uri转换为规范化uri(Promise形式)。 将给定的DataShare uri转换为规范化uri(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -321,18 +419,19 @@ normalizeUri(uri: string): Promise\<string> ...@@ -321,18 +419,19 @@ normalizeUri(uri: string): Promise\<string>
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------- | ------------------------------------------------------ | | ---------------- | ---------------------------------------------- |
| Promise\<string> | 如果数据功能支持uri规范化或null,则返回规范化uri对象。 | | Promise\<string> | 如果支持uri规范化或null,则返回规范化uri对象。 |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.normalizeUri(uri).then((data) => { dataShareHelper.normalizeUri(uri).then((data) => {
console.log("normalizeUri = " + data); console.log("normalizeUri = " + data);
}).catch((err) => { }).catch((err) => {
console.log("normalizeUri end, err:" + err); console.log("normalizeUri fail, error message : " + err);
}); });
``` ```
...@@ -340,7 +439,9 @@ dataShareHelper.normalizeUri(uri).then((data) => { ...@@ -340,7 +439,9 @@ dataShareHelper.normalizeUri(uri).then((data) => {
denormalizeUri(uri: string, callback: AsyncCallback\<string>): void denormalizeUri(uri: string, callback: AsyncCallback\<string>): void
将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。 将由normalizeUri(uri)生成的规范化uri转换为非规范化uri(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -351,12 +452,13 @@ denormalizeUri(uri: string, callback: AsyncCallback\<string>): void ...@@ -351,12 +452,13 @@ denormalizeUri(uri: string, callback: AsyncCallback\<string>): void
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare' // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
dataShareHelper.denormalizeUri(uri,(err,data) => { let uri = ("datashare:///com.samples.datasharetest.DataShare");
if(err.code != 0){ dataShareHelper.denormalizeUri(uri, (err, data) => {
console.log("denormalizeUri end, err:" + err); if (err != undefined) {
console.log("denormalizeUri fail, error message : " + err);
}else{ }else{
console.log("denormalizeUri = " + data); console.log("denormalizeUri = " + data);
} }
...@@ -367,7 +469,9 @@ dataShareHelper.denormalizeUri(uri,(err,data) => { ...@@ -367,7 +469,9 @@ dataShareHelper.denormalizeUri(uri,(err,data) => {
denormalizeUri(uri: string): Promise\<string> denormalizeUri(uri: string): Promise\<string>
将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。 将由normalizeUri(uri)生成的规范化uri转换为非规范化uri(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
...@@ -383,96 +487,51 @@ denormalizeUri(uri: string): Promise\<string> ...@@ -383,96 +487,51 @@ denormalizeUri(uri: string): Promise\<string>
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.denormalizeUri(uri).then((data) => { dataShareHelper.denormalizeUri(uri).then((data) => {
console.log("denormalizeUri = " + data); console.log("denormalizeUri = " + data);
}).catch((err) => { }).catch((err) => {
console.log("denormalizeUri end, err:" + err); console.log("denormalizeUri fail, error message : " + err);
});
```
### notifyChange
notifyChange(uri: string, callback: AsyncCallback\<void>): void
通知已注册的观察者uri指定的数据资源的更改(callback形式)。
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | -------------------- | ---- | ------------------------ |
| uri | string | 是 | 指示要操作的数据的路径。 |
| callback | AsyncCallback\<void> | 是 | 回调方法。 |
**示例:**
```js
import dataShare from '@ohos.data.dataShare';
let uri = "datashare:///com.samples.datasharetest.DataShare";
dataShareHelper.notifyChange(uri,() => {
console.log("notifyChange!!!!!!!");
}); });
``` ```
### notifyChange
notifyChange(uri: string): Promise\<void>
通知已注册的观察者uri指定的数据资源的更改(Promise形式)。
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---- | ------ | ---- | ------------------------ |
| uri | string | 是 | 指示要操作的数据的路径。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------- |
| Promise\<void> | 返回值为Promise对象。 |
**示例:**
```js
import dataShare from '@ohos.data.dataShare';
let uri = "datashare:///com.samples.datasharetest.DataShare";
await dataShareHelper.notifyChange(uri);
```
### insert ### insert
insert(uri: string, value: ValuesBucket, callback: AsyncCallback\<number>): void insert(uri: string, value: ValuesBucket, callback: AsyncCallback\<number>): void
将单个数据记录插入数据库(callback形式)。 将单条数据记录插入数据库(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | ------------------------------------------------------ | | -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 | | uri | string | 是 | 指示要插入的数据的路径。 |
| value | ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | | value | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
| callback | AsyncCallback\<number> | 是 | 回调方法,返回插入数据记录的索引。 | | callback | AsyncCallback\<number> | 是 | 回调方法,返回插入数据记录的索引。(能否返回索引取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
const valueBucket = { const valueBucket = {
"name": "rose", "name": "rose",
"age": 22, "age": 22,
"salary": 200.5, "salary": 200.5,
"blobType": u8, "blobType": u8,
} }
dataShareHelper.insert( dataShareHelper.insert(uri, valueBucket, (err, data) => {
uri, if (err != undefined) {
valueBucket, console.log("insert fail, error message : " + err);
(err, data) => { }else{
console.info("==========================>Called=======================>"); console.log("insert end, data : " + data);
}
}); });
``` ```
...@@ -480,40 +539,39 @@ dataShareHelper.insert( ...@@ -480,40 +539,39 @@ dataShareHelper.insert(
insert(uri: string, value: ValuesBucket): Promise\<number> insert(uri: string, value: ValuesBucket): Promise\<number>
将单个数据记录插入数据库(Promise形式)。 将单条数据记录插入数据库(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ----- | ------------ | ---- | ------------------------------------------------------ | | ----- | --------------------------------------------------------- | ---- | ------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 | | uri | string | 是 | 指示要插入的数据的路径。 |
| value | ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | | value | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------- | ------------------------ | | ---------------- | ------------------------------------------------------------ |
| Promise\<number> | 返回插入数据记录的索引。 | | Promise\<number> | 返回插入数据记录的索引。(能否返回索引取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare' // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
const valueBucket = { const valueBucket = {
"name": "rose1", "name": "rose1",
"age": 221, "age": 221,
"salary": 20.5, "salary": 20.5,
"blobType": u8, "blobType": u8,
} }
dataShareHelper.insert( dataShareHelper.insert(uri, valueBucket).then((data) => {
uri, console.log("insert end, data : " + data);
valueBucket
).then((data) => {
console.info("==========================>insertCallback=======================>");
}).catch((err) => { }).catch((err) => {
console.log("insert end, err:" + err); console.log("insert fail, error message : " + err);
}); });
``` ```
...@@ -521,30 +579,33 @@ dataShareHelper.insert( ...@@ -521,30 +579,33 @@ dataShareHelper.insert(
batchInsert(uri: string, values: Array\<ValuesBucket>, callback: AsyncCallback\<number>): void batchInsert(uri: string, values: Array\<ValuesBucket>, callback: AsyncCallback\<number>): void
插入数据库(callback形式)。 将批量数据插入数据库(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | -------------------------------- | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 | | uri | string | 是 | 指示要插入的数据的路径。 |
| values | Array\<ValuesBucket> | 是 | 指示要插入的数据记录。 | | values | Array\<[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)> | 是 | 指示要插入的数据记录。 |
| callback | AsyncCallback\<number> | 是 | 回调方法。返回插入的数据记录数。 | | callback | AsyncCallback\<number> | 是 | 回调方法,返回插入的数据记录数。(能否返回记录数取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,},
{"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,},
{"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,})
dataShareHelper.batchInsert( dataShareHelper.batchInsert(uri, vbs, (err, data) => {
uri, if (err != undefined) {
cars, console.log("batchInsert fail, error message : " + err);
(err, data) => { }else{
console.info("==========================>Called=======================>"); console.log("batchInsert end, data : " + data);
}
}); });
``` ```
...@@ -552,37 +613,36 @@ dataShareHelper.batchInsert( ...@@ -552,37 +613,36 @@ dataShareHelper.batchInsert(
batchInsert(uri: string, values: Array\<ValuesBucket>): Promise\<number> batchInsert(uri: string, values: Array\<ValuesBucket>): Promise\<number>
将多个数据记录插入数据库(Promise形式)。 将批量数据插入数据库(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ------ | -------------------- | ---- | ------------------------ | | ------ | ------------------------------------------------------------ | ---- | ------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 | | uri | string | 是 | 指示要插入的数据的路径。 |
| values | Array\<ValuesBucket> | 是 | 指示要插入的数据记录。 | | values | Array\<[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)> | 是 | 指示要插入的数据记录。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------- | ---------------------- | | ---------------- | ------------------------------------------------------------ |
| Promise\<number> | 返回插入的数据记录数。 | | Promise\<number> | 返回插入的数据记录数。(能否返回记录数取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,},
{"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,},
{"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,})
dataShareHelper.batchInsert( dataShareHelper.batchInsert(uri, vbs).then((data) => {
uri, console.log("batchInsert end, data : " + data);
cars
).then((data) => {
console.info("==========================>batchInsertCallback=======================>");
}).catch((err) => { }).catch((err) => {
console.log("batchInsert end, err:" + err); console.log("batchInsert fail, error message : " + err);
}); });
``` ```
...@@ -590,29 +650,32 @@ dataShareHelper.batchInsert( ...@@ -590,29 +650,32 @@ dataShareHelper.batchInsert(
delete(uri: string, predicates: DataSharePredicates, callback: AsyncCallback\<number>): void delete(uri: string, predicates: DataSharePredicates, callback: AsyncCallback\<number>): void
从数据库中删除一个或多个数据记录(callback形式)。 从数据库中删除一条或多条数据记录(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ---------- | ---------------------- | ---- | ------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 | | uri | string | 是 | 指示要删除的数据的路径。 |
| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | | predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。(具体所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词) |
| callback | AsyncCallback\<number> | 是 | 回调方法。返回已删除的数据记录数。 | | callback | AsyncCallback\<number> | 是 | 回调方法,返回已删除的数据记录数。(能否返回已删除的数目取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataShare.DataSharePredicates(); let da = new dataShare.DataSharePredicates();
da.equalTo("name", "ZhangSan"); da.equalTo("name", "ZhangSan");
dataShareHelper.delete( dataShareHelper.delete(uri, da, (err, data) => {
uri, if (err != undefined) {
da, console.log("delete fail, error message : " + err);
(err, data) => { }else{
console.info("==========================>Called=======================>"); console.log("delete end, data : " + data);
}
}); });
``` ```
...@@ -620,36 +683,35 @@ dataShareHelper.delete( ...@@ -620,36 +683,35 @@ dataShareHelper.delete(
delete(uri: string, predicates: DataSharePredicates): Promise\<number> delete(uri: string, predicates: DataSharePredicates): Promise\<number>
从数据库中删除一个或多个数据记录(Promise形式)。 从数据库中删除一条或多条数据记录(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------- | ---- | ------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 | | uri | string | 是 | 指示要删除的数据的路径。 |
| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | | predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。(具体所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词) |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------- | ------------------------ | | ---------------- | ------------------------------------------------------------ |
| Promise\<number> | 返回已删除的数据记录数。 | | Promise\<number> | 返回已删除的数据记录数。(能否返回已删除的数目取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataShare.DataSharePredicates(); let da = new dataShare.DataSharePredicates();
da.equalTo("name", "ZhangSan"); da.equalTo("name", "ZhangSan");
dataShareHelper.delete( dataShareHelper.delete(uri, da).then((data) => {
uri, console.log("delete end, data : " + data);
da
).then((data) => {
console.info("==========================>deleteCallback=======================>");
}).catch((err) => { }).catch((err) => {
console.log("delete end, err:" + err); console.log("delete fail, error message : " + err);
}); });
``` ```
...@@ -659,21 +721,23 @@ update(uri: string, predicates: DataSharePredicates, value: ValuesBucket, callba ...@@ -659,21 +721,23 @@ update(uri: string, predicates: DataSharePredicates, value: ValuesBucket, callba
更新数据库中的数据记录(callback形式)。 更新数据库中的数据记录(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ---------- | ---------------------- | ---- | ------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 | | uri | string | 是 | 指示要更新的数据的路径。 |
| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | | predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。(是否支持谓词取决于服务端所选用的数据库,如KVDB并不支持谓词,仅RDB支持) |
| value | ValuesBucket | 是 | 指示要更新的数据。 | | value | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要更新的数据。 |
| callback | AsyncCallback\<number> | 是 | 回调方法,返回更新的数据记录数。 | | callback | AsyncCallback\<number> | 是 | 回调方法,返回更新的数据记录数。(能否返回更新的数据记录数取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataShare.DataSharePredicates(); let da = new dataShare.DataSharePredicates();
da.equalTo("name", "ZhangSan"); da.equalTo("name", "ZhangSan");
const va = { const va = {
...@@ -682,12 +746,12 @@ const va = { ...@@ -682,12 +746,12 @@ const va = {
"salary": 20.5, "salary": 20.5,
"blobType": u8, "blobType": u8,
} }
dataShareHelper.update( dataShareHelper.update(uri, da, va, (err, data) => {
uri, if (err != undefined) {
da, console.log("update fail, error message : " + err);
va, }else{
(err, data) => { console.log("update end, data : " + data);
console.info("==========================>Called=======================>"); }
}); });
``` ```
...@@ -697,26 +761,28 @@ update(uri: string, predicates: DataSharePredicates, value: ValuesBucket): Promi ...@@ -697,26 +761,28 @@ update(uri: string, predicates: DataSharePredicates, value: ValuesBucket): Promi
更新数据库中的数据记录(Promise形式)。 更新数据库中的数据记录(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------- | ---- | ------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 | | uri | string | 是 | 指示要更新的数据的路径。 |
| predicates | DataSharePredicates | 是 | 指示要更新的数据。 | | predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。(是否支持谓词取决于服务端所选用的数据库,如KVDB并不支持谓词,仅RDB支持) |
| value | ValuesBucket | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | | value | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要更新的数据。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------- | -------------------------------------------- | | ---------------- | ------------------------------------------------------------ |
| Promise\<number> | 返回值为Promise对象,Promise中包含应用信息。 | | Promise\<number> | 返回更新的数据记录数。(能否返回更新的数据记录数取决于服务端所使用的数据库) |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataShare.DataSharePredicates(); let da = new dataShare.DataSharePredicates();
da.equalTo("name", "ZhangSan"); da.equalTo("name", "ZhangSan");
const va = { const va = {
...@@ -725,14 +791,10 @@ const va = { ...@@ -725,14 +791,10 @@ const va = {
"salary": 20.5, "salary": 20.5,
"blobType": u8, "blobType": u8,
} }
dataShareHelper.update( dataShareHelper.update(uri, da, va).then((data) => {
uri, console.log("update end, data : " + data);
da,
va,
).then((data) => {
console.info("==========================>updateCallback=======================>");
}).catch((err) => { }).catch((err) => {
console.log("update end, err:" + err); console.log("update fail, error message : " + err);
}); });
``` ```
...@@ -742,30 +804,32 @@ query(uri: string, predicates: DataSharePredicates, columns: Array<string>, call ...@@ -742,30 +804,32 @@ query(uri: string, predicates: DataSharePredicates, columns: Array<string>, call
查询数据库中的数据(callback形式)。 查询数据库中的数据(callback形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ---------- | ---------------------------------- | ---- | ------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 | | uri | string | 是 | 指示要查询的数据的路径。 |
| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | | predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。(具体所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey) |
| columns | Array<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | | columns | Array<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| callback | AsyncCallback\<DataShareResultSet> | 是 | 回调方法,返回查询结果。 | | callback | AsyncCallback\<[DataShareResultSet](js-apis-data-DataShareResultSet.md#datashareresultset)> | 是 | 回调方法,返回查询结果。 |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let columns = ["*"] let columns = ["*"]
let da = new dataShare.DataSharePredicates(); let da = new dataShare.DataSharePredicates();
da.equalTo("name", "ZhangSan"); da.equalTo("name", "ZhangSan");
dataShareHelper.query( dataShareHelper.query(uri, da, columns, (err, data) => {
uri, if (err != undefined) {
da, console.log("query fail, error message : " + err);
columns, }else{
(err, data) => { console.log("query end, data : " + data);
console.info("==========================>Called=======================>"); }
}); });
``` ```
...@@ -777,36 +841,34 @@ query(uri: string, predicates: DataSharePredicates, columns: Array<string>): Pro ...@@ -777,36 +841,34 @@ query(uri: string, predicates: DataSharePredicates, columns: Array<string>): Pro
查询数据库中的数据(Promise形式)。 查询数据库中的数据(Promise形式)。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer。
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ---------- | ------------------- | ---- | ------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 | | uri | string | 是 | 指示要查询的数据的路径。 |
| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | | predicates | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。(具体所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey) |
| columns | Array<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | | columns | Array<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------------- | -------------- | | ------------------------------------------------------------ | -------------- |
| Promise\<DataShareResultSet> | 返回查询结果。 | | Promise\<[DataShareResultSet](js-apis-data-DataShareResultSet.md#datashareresultset)> | 返回查询结果。 |
**示例:** **示例:**
```js ```ts
import dataShare from '@ohos.data.dataShare'; // Refer to the createDataShareHelper for the method of obtaining dataShareHelper
let uri = "datashare:///com.samples.datasharetest.DataShare"; let dataShareHelper;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let columns = ["*"] let columns = ["*"]
let da = new dataShare.DataSharePredicates(); let da = new dataShare.DataSharePredicates();
da.equalTo("name", "ZhangSan"); da.equalTo("name", "ZhangSan");
dataShareHelper.query( dataShareHelper.query(uri, da, columns).then((data) => {
uri, console.log("query end, data : " + data);
da,
columns,
).then((data) => {
console.info("==========================>queryCallback=======================>");
}).catch((err) => { }).catch((err) => {
console.log("query end, err:" + err); console.log("query fail, error message : " + err);
}); });
``` ```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册