You need to sign in or sign up before continuing.
提交 6c73c6d4 编写于 作者: A Annie_wang

update docs

Signed-off-by: NAnnie_wang <annie.wangli@huawei.com>
上级 ffacc4bf
...@@ -10,9 +10,16 @@ You can synchronize the application data in a local RDB store on a device to oth ...@@ -10,9 +10,16 @@ You can synchronize the application data in a local RDB store on a device to oth
OpenHamony supports synchronization of the relational data of an application across multiple devices. OpenHamony supports synchronization of the relational data of an application across multiple devices.
- Distributed table list<br>After a table is created for an application in an RDB store, you can set it as a distributed table. When querying the RDB store of a remote device, you can obtain the distributed table name of the remote device based on the local table name. - Distributed table list
- Synchronization mode<br>Data can be synchronized between devices in either of the following ways: <br>- Pushing data from a local device to a remote device. <br>- Pulling data from a remote device to a local device. After a table is created for an application in an RDB store, you can set it as a distributed table. When querying the RDB store of a remote device, you can obtain the distributed table name of the remote device based on the local table name.
- Synchronization mode
Data can be synchronized between devices in either of the following ways:
- Pushing data from a local device to a remote device.
- Pulling data from a remote device to a local device.
## Working Principles ## Working Principles
...@@ -44,12 +51,10 @@ When data is added, deleted, or modified, a notification is sent to the subscrib ...@@ -44,12 +51,10 @@ When data is added, deleted, or modified, a notification is sent to the subscrib
- Each RDB store supports a maximum of eight callbacks for subscription of data change notifications. - Each RDB store supports a maximum of eight callbacks for subscription of data change notifications.
- Third-party applications cannot call the distributed APIs that must be specified with the device.
## Available APIs ## Available APIs
The following table lists the APIs for cross-device data synchronization of RDB stores. Most of the APIs are executed asynchronously, using a callback or promise to return the result. The following table uses the callback-based APIs as an example. For more information about the APIs, see [RDB Store](../reference/apis/js-apis-data-relationalStore.md). Most of the APIs for cross-device data synchronization of RDB stores are executed asynchronously in callback or promise mode. The following table uses the callback-based APIs as an example. For more information about the APIs, see [RDB Store](../reference/apis/js-apis-data-relationalStore.md).
| API| Description| | API| Description|
| -------- | -------- | | -------- | -------- |
...@@ -73,7 +78,7 @@ The following table lists the APIs for cross-device data synchronization of RDB ...@@ -73,7 +78,7 @@ The following table lists the APIs for cross-device data synchronization of RDB
import relationalStore from '@ohos.data.relationalStore'; import relationalStore from '@ohos.data.relationalStore';
``` ```
2. Request permissions. 2. Apply for the required permission.
1. Request the **ohos.permission.DISTRIBUTED_DATASYNC** permission. For details, see [Declaring Permissions in the Configuration File](../security/accesstoken-guidelines.md#declaring-permissions-in-the-configuration-file). 1. Request the **ohos.permission.DISTRIBUTED_DATASYNC** permission. For details, see [Declaring Permissions in the Configuration File](../security/accesstoken-guidelines.md#declaring-permissions-in-the-configuration-file).
2. Display a dialog box to ask authorization from the user when the application is started for the first time. For details, see [Requesting User Authorization](../security/accesstoken-guidelines.md#requesting-user-authorization). 2. Display a dialog box to ask authorization from the user when the application is started for the first time. For details, see [Requesting User Authorization](../security/accesstoken-guidelines.md#requesting-user-authorization).
...@@ -142,32 +147,33 @@ The following table lists the APIs for cross-device data synchronization of RDB ...@@ -142,32 +147,33 @@ The following table lists the APIs for cross-device data synchronization of RDB
> **NOTE** > **NOTE**
> >
> **deviceIds** is obtained by using [devManager.getTrustedDeviceListSync](../reference/apis/js-apis-device-manager.md#gettrusteddevicelistsync). The APIs of the **deviceManager** module are all system interfaces and available only to system applications. > The value of **deviceIds** can be obtained by [deviceManager.getAvailableDeviceListSync](../reference/apis/js-apis-distributedDeviceManager.md#getavailabledevicelistsync).
```js ```js
// Obtain device IDs. // Obtain device IDs.
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { let deviceId = null;
if (err) {
console.info(`Failed to create device manager. Code:${err.code},message:${err.message}`); try {
return; dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
} let devices = dmInstance.getAvailableDeviceListSync();
let devices = manager.getTrustedDeviceListSync(); deviceId = devices[0].networkId;
let deviceId = devices[0].deviceId;
// Construct a predicate object for querying the distributed table.
// Construct a predicate object for querying the distributed table. let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); // Query data from the specified remote device and return the query result.
// Query data from the specified remote device and return the query result. store.remoteQuery(deviceId, 'EMPLOYEE', predicates, ['ID', 'NAME', 'AGE', 'SALARY', 'CODES'],
store.remoteQuery(deviceId, 'EMPLOYEE', predicates, ['ID', 'NAME', 'AGE', 'SALARY', 'CODES'], function (err, resultSet) {
function (err, resultSet) { if (err) {
if (err) { console.error(`Failed to remoteQuery data. Code:${err.code},message:${err.message}`);
console.error(`Failed to remoteQuery data. Code:${err.code},message:${err.message}`); return;
return;
}
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
} }
) console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
}) }
``` )
} catch (err) {
console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
```
\ No newline at end of file
...@@ -15,7 +15,7 @@ The **relationalStore** module provides the following functions: ...@@ -15,7 +15,7 @@ The **relationalStore** module provides the following functions:
## Modules to Import ## Modules to Import
```js ```js
import relationalStore from '@ohos.data.relationalStore' import relationalStore from '@ohos.data.relationalStore';
``` ```
## relationalStore.getRdbStore ## relationalStore.getRdbStore
...@@ -52,19 +52,20 @@ FA model: ...@@ -52,19 +52,20 @@ FA model:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
// Obtain the context. // Obtain the context.
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, function (err, rdbStore) { relationalStore.getRdbStore(this.context, STORE_CONFIG, (err: BusinessError, rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
if (err) { if (err) {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
...@@ -77,17 +78,19 @@ relationalStore.getRdbStore(context, STORE_CONFIG, function (err, rdbStore) { ...@@ -77,17 +78,19 @@ relationalStore.getRdbStore(context, STORE_CONFIG, function (err, rdbStore) {
Stage model: Stage model:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
import { BusinessError } from "@ohos.base";
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
var store; let store: relationalStore.RdbStore;
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(this.context, STORE_CONFIG, function (err, rdbStore) { relationalStore.getRdbStore(this.context, STORE_CONFIG, (err: BusinessError, rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
if (err) { if (err) {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
...@@ -137,23 +140,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -137,23 +140,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
FA model: FA model:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
// Obtain the context. // Obtain the context.
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
let promise = relationalStore.getRdbStore(context, STORE_CONFIG); let promise = relationalStore.getRdbStore(this.context, STORE_CONFIG);
promise.then(async (rdbStore) => { promise.then(async (rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
console.info(`Get RdbStore successfully.`); console.info(`Get RdbStore successfully.`)
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -161,21 +165,23 @@ promise.then(async (rdbStore) => { ...@@ -161,21 +165,23 @@ promise.then(async (rdbStore) => {
Stage model: Stage model:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
import { BusinessError } from "@ohos.base";
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
var store; let store: relationalStore.RdbStore;
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
let promise = relationalStore.getRdbStore(this.context, STORE_CONFIG); let promise = relationalStore.getRdbStore(this.context, STORE_CONFIG);
promise.then(async (rdbStore) => { promise.then(async (rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
console.info(`Get RdbStore successfully.`) console.info(`Get RdbStore successfully.`)
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
} }
...@@ -214,14 +220,15 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -214,14 +220,15 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
FA model: FA model:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
// Obtain the context. // Obtain the context.
let context = featureAbility.getContext() let context = featureAbility.getContext()
relationalStore.deleteRdbStore(context, "RdbTest.db", function (err) { relationalStore.deleteRdbStore(this.context, "RdbTest.db", (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -234,13 +241,15 @@ relationalStore.deleteRdbStore(context, "RdbTest.db", function (err) { ...@@ -234,13 +241,15 @@ relationalStore.deleteRdbStore(context, "RdbTest.db", function (err) {
Stage model: Stage model:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
relationalStore.deleteRdbStore(this.context, "RdbTest.db", function (err) { relationalStore.deleteRdbStore(this.context, "RdbTest.db", (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -289,18 +298,19 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -289,18 +298,19 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
FA model: FA model:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
// Obtain the context. // Obtain the context.
let context = featureAbility.getContext(); let context = featureAbility.getContext();
let promise = relationalStore.deleteRdbStore(context, "RdbTest.db"); let promise = relationalStore.deleteRdbStore(this.context, "RdbTest.db");
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -308,17 +318,19 @@ promise.then(()=>{ ...@@ -308,17 +318,19 @@ promise.then(()=>{
Stage model: Stage model:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
let promise = relationalStore.deleteRdbStore(this.context, "RdbTest.db"); let promise = relationalStore.deleteRdbStore(this.context, "RdbTest.db");
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
} }
...@@ -359,18 +371,19 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -359,18 +371,19 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
FA model: FA model:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
// Obtain the context. // Obtain the context.
let context = featureAbility.getContext() let context = featureAbility.getContext()
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.deleteRdbStore(context, STORE_CONFIG, function (err) { relationalStore.deleteRdbStore(this.context, STORE_CONFIG, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -383,17 +396,19 @@ relationalStore.deleteRdbStore(context, STORE_CONFIG, function (err) { ...@@ -383,17 +396,19 @@ relationalStore.deleteRdbStore(context, STORE_CONFIG, function (err) {
Stage model: Stage model:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.deleteRdbStore(this.context, STORE_CONFIG, function (err) { relationalStore.deleteRdbStore(this.context, STORE_CONFIG, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -444,22 +459,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -444,22 +459,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
FA model: FA model:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
// Obtain the context. // Obtain the context.
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
let promise = relationalStore.deleteRdbStore(context, STORE_CONFIG); let promise = relationalStore.deleteRdbStore(this.context, STORE_CONFIG);
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -467,13 +483,15 @@ promise.then(()=>{ ...@@ -467,13 +483,15 @@ promise.then(()=>{
Stage model: Stage model:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
import { BusinessError } from "@ohos.base";
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
...@@ -481,7 +499,7 @@ class EntryAbility extends UIAbility { ...@@ -481,7 +499,7 @@ class EntryAbility extends UIAbility {
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
} }
...@@ -577,23 +595,25 @@ Defines the data types allowed. ...@@ -577,23 +595,25 @@ Defines the data types allowed.
## ValuesBucket ## ValuesBucket
Defines the types of the key and value in a KV pair. This type is not multi-thread safe. If a **ValuesBucket** instance is operated by multiple threads at the same time in an application, use a lock for the instance. Enumerates the types of the key in a KV pair. This type is not multi-thread safe. If a **ValuesBucket** instance is operated by multiple threads at the same time in an application, use a lock for the instance.
**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core **System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
| Key Type| Value Type | | Key Type| Value Type |
| ------ | ----------------------- | | ------ | ----------------------- |
| string | [ValueType](#valuetype) | | number | The primary key is a number.|
| string | The primary key is a string.|
## PRIKeyType<sup>10+</sup> ## PRIKeyType<sup>10+</sup>
Represents the type of the primary key in a row of a database table. Enumerates the types of the primary key in a row of a database table.
**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core **System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
| Type | Description | | Type | Description |
| ---------------- | ---------------------------------- | | ---------------- | ---------------------------------- |
| number \| string | The type of the primary key can be number or string.| | number | The primary key is a number.|
| string | The primary key is a string.|
## UTCTime<sup>10+</sup> ## UTCTime<sup>10+</sup>
...@@ -798,7 +818,8 @@ Sets an **RdbPredicates** to specify the remote devices to connect on the networ ...@@ -798,7 +818,8 @@ Sets an **RdbPredicates** to specify the remote devices to connect on the networ
> **NOTE** > **NOTE**
> >
> The value of **devices** is obtained by [deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync). The APIs of the **deviceManager** module are system interfaces and available only to system applications. > The value of **devices** can be obtained by [deviceManager.getAvailableDeviceListSync](js-apis-distributedDeviceManager.md#getavailabledevicelistsync).
If **inDevices** is specified in **predicates** when **sync()** is called, data is synchronized with the specified device. If **inDevices** is not specified, data is synchronized with all devices on the network by default.
**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core **System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
...@@ -817,22 +838,20 @@ Sets an **RdbPredicates** to specify the remote devices to connect on the networ ...@@ -817,22 +838,20 @@ Sets an **RdbPredicates** to specify the remote devices to connect on the networ
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceIds = []; let deviceIds: Array<string> = [];
try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
let devices = dmInstance.getAvailableDeviceListSync();
for (let i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].networkId;
}
} catch (err) {
console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
for (var i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].deviceId;
}
})
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.inDevices(deviceIds); predicates.inDevices(deviceIds);
``` ```
...@@ -844,6 +863,7 @@ inAllDevices(): RdbPredicates ...@@ -844,6 +863,7 @@ inAllDevices(): RdbPredicates
Sets an **RdbPredicates** to specify all remote devices on the network to connect during distributed database synchronization. Sets an **RdbPredicates** to specify all remote devices on the network to connect during distributed database synchronization.
**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core **System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
**Return value** **Return value**
...@@ -1639,6 +1659,7 @@ Before using the APIs of this class, use [executeSql](#executesql) to initialize ...@@ -1639,6 +1659,7 @@ Before using the APIs of this class, use [executeSql](#executesql) to initialize
**Example** **Example**
```js ```js
let store: relationalStore.RdbStore;
// Set the RDB store version. // Set the RDB store version.
store.version = 3; store.version = 3;
// Obtain the RDB store version. // Obtain the RDB store version.
...@@ -1673,13 +1694,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -1673,13 +1694,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Lisa",
"AGE": 18, let key1 = "NAME";
"SALARY": 100.5, let key2 = "AGE";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
store.insert("EMPLOYEE", valueBucket, function (err, rowId) { store.insert("EMPLOYEE", valueBucket, (err, rowId) => {
if (err) { if (err) {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -1717,13 +1748,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -1717,13 +1748,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Lisa",
"AGE": 18, let key1 = "NAME";
"SALARY": 100.5, let key2 = "AGE";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, function (err, rowId) { store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, (err, rowId) => {
if (err) { if (err) {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -1765,16 +1806,27 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -1765,16 +1806,27 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Lisa", import { BusinessError } from "@ohos.base";
"AGE": 18,
"SALARY": 100.5, let key1 = "NAME";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key2 = "AGE";
let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let promise = store.insert("EMPLOYEE", valueBucket); let promise = store.insert("EMPLOYEE", valueBucket);
promise.then((rowId) => { promise.then((rowId: number) => {
console.info(`Insert is successful, rowId = ${rowId}`); console.info(`Insert is successful, rowId = ${rowId}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -1813,16 +1865,27 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -1813,16 +1865,27 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Lisa", import { BusinessError } from "@ohos.base";
"AGE": 18,
"SALARY": 100.5, let key1 = "NAME";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key2 = "AGE";
let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let promise = store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE); let promise = store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE);
promise.then((rowId) => { promise.then((rowId: number) => {
console.info(`Insert is successful, rowId = ${rowId}`); console.info(`Insert is successful, rowId = ${rowId}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -1855,27 +1918,45 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -1855,27 +1918,45 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket1 = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Lisa",
"AGE": 18, let key1 = "NAME";
"SALARY": 100.5, let key2 = "AGE";
"CODES": new Uint8Array([1, 2, 3, 4, 5]) let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
let value5 = "Jack";
let value6 = 19;
let value7 = 101.5;
let value8 = new Uint8Array([6, 7, 8, 9, 10]);
let value9 = "Tom";
let value10 = 20;
let value11 = 102.5;
let value12 = new Uint8Array([11, 12, 13, 14, 15]);
const valueBucket1: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
const valueBucket2 = { const valueBucket2: ValuesBucket = {
"NAME": "Jack", key1: value5,
"AGE": 19, key2: value6,
"SALARY": 101.5, key3: value7,
"CODES": new Uint8Array([6, 7, 8, 9, 10]) key4: value8,
}; };
const valueBucket3 = { const valueBucket3: ValuesBucket = {
"NAME": "Tom", key1: value9,
"AGE": 20, key2: value10,
"SALARY": 102.5, key3: value11,
"CODES": new Uint8Array([11, 12, 13, 14, 15]) key4: value12,
}; };
let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3);
store.batchInsert("EMPLOYEE", valueBuckets, function(err, insertNum) { store.batchInsert("EMPLOYEE", valueBuckets, (err, insertNum) => {
if (err) { if (err) {
console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`); console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -1917,30 +1998,49 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -1917,30 +1998,49 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket1 = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Lisa", import { BusinessError } from "@ohos.base";
"AGE": 18,
"SALARY": 100.5, let key1 = "NAME";
"CODES": new Uint8Array([1, 2, 3, 4, 5]) let key2 = "AGE";
let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
let value5 = "Jack";
let value6 = 19;
let value7 = 101.5;
let value8 = new Uint8Array([6, 7, 8, 9, 10]);
let value9 = "Tom";
let value10 = 20;
let value11 = 102.5;
let value12 = new Uint8Array([11, 12, 13, 14, 15]);
const valueBucket1: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
const valueBucket2 = { const valueBucket2: ValuesBucket = {
"NAME": "Jack", key1: value5,
"AGE": 19, key2: value6,
"SALARY": 101.5, key3: value7,
"CODES": new Uint8Array([6, 7, 8, 9, 10]) key4: value8,
}; };
const valueBucket3 = { const valueBucket3: ValuesBucket = {
"NAME": "Tom", key1: value9,
"AGE": 20, key2: value10,
"SALARY": 102.5, key3: value11,
"CODES": new Uint8Array([11, 12, 13, 14, 15]) key4: value12,
}; };
let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3);
let promise = store.batchInsert("EMPLOYEE", valueBuckets); let promise = store.batchInsert("EMPLOYEE", valueBuckets);
promise.then((insertNum) => { promise.then((insertNum: number) => {
console.info(`batchInsert is successful, the number of values that were inserted = ${insertNum}`); console.info(`batchInsert is successful, the number of values that were inserted = ${insertNum}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`); console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -1973,11 +2073,21 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -1973,11 +2073,21 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Rose",
"AGE": 22, let key1 = "NAME";
"SALARY": 200.5, let key2 = "AGE";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
...@@ -2019,15 +2129,25 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2019,15 +2129,25 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Rose",
"AGE": 22, let key1 = "NAME";
"SALARY": 200.5, let key2 = "AGE";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, function (err, rows) { store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, (err, rows) => {
if (err) { if (err) {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2069,18 +2189,29 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2069,18 +2189,29 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Rose", import { BusinessError } from "@ohos.base";
"AGE": 22,
"SALARY": 200.5, let key1 = "NAME";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key2 = "AGE";
let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.update(valueBucket, predicates); let promise = store.update(valueBucket, predicates);
promise.then(async (rows) => { promise.then(async (rows: Number) => {
console.info(`Updated row count: ${rows}`); console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2119,18 +2250,29 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2119,18 +2250,29 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Rose", import { BusinessError } from "@ohos.base";
"AGE": 22,
"SALARY": 200.5, let key1 = "NAME";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key2 = "AGE";
let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE); let promise = store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE);
promise.then(async (rows) => { promise.then(async (rows: Number) => {
console.info(`Updated row count: ${rows}`); console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2169,15 +2311,25 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2169,15 +2311,25 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Rose",
"AGE": 22, let key1 = "NAME";
"SALARY": 200.5, let key2 = "AGE";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.update("EMPLOYEE", valueBucket, predicates, function (err, rows) { store.update("EMPLOYEE", valueBucket, predicates, (err, rows) => {
if (err) { if (err) {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2224,19 +2376,30 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2224,19 +2376,30 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
const valueBucket = { import { ValuesBucket } from '@ohos.data.ValuesBucket';
"NAME": "Rose", import { BusinessError } from "@ohos.base";
"AGE": 22,
"SALARY": 200.5, let key1 = "NAME";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let key2 = "AGE";
let key3 = "SALARY";
let key4 = "CODES";
let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.update("EMPLOYEE", valueBucket, predicates); let promise = store.update("EMPLOYEE", valueBucket, predicates);
promise.then(async (rows) => { promise.then(async (rows: Number) => {
console.info(`Updated row count: ${rows}`); console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2270,7 +2433,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2270,7 +2433,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.delete(predicates, function (err, rows) { store.delete(predicates, (err, rows) => {
if (err) { if (err) {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2311,12 +2474,14 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2311,12 +2474,14 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.delete(predicates); let promise = store.delete(predicates);
promise.then((rows) => { promise.then((rows: Number) => {
console.info(`Delete rows: ${rows}`); console.info(`Delete rows: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2356,7 +2521,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2356,7 +2521,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.delete("EMPLOYEE", predicates, function (err, rows) { store.delete("EMPLOYEE", predicates, (err, rows) => {
if (err) { if (err) {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2402,13 +2567,15 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2402,13 +2567,15 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
import { BusinessError } from "@ohos.base";
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.delete("EMPLOYEE", predicates); let promise = store.delete("EMPLOYEE", predicates);
promise.then((rows) => { promise.then((rows: Number) => {
console.info(`Delete rows: ${rows}`); console.info(`Delete rows: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2441,7 +2608,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2441,7 +2608,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query(predicates, function (err, resultSet) { store.query(predicates, (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2489,7 +2656,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2489,7 +2656,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) { store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2539,11 +2706,13 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2539,11 +2706,13 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0. // resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0.
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -2555,10 +2724,10 @@ promise.then((resultSet) => { ...@@ -2555,10 +2724,10 @@ promise.then((resultSet) => {
} }
// Release the dataset memory. // Release the dataset memory.
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
### query<sup>10+</sup> ### query<sup>10+</sup>
...@@ -2594,7 +2763,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2594,7 +2763,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query("EMPLOYEE", predicates, function (err, resultSet) { store.query("EMPLOYEE", predicates, (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2648,7 +2817,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2648,7 +2817,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) { store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2704,11 +2873,13 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2704,11 +2873,13 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
import { BusinessError } from "@ohos.base";
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
let promise = store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0. // resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0.
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -2720,7 +2891,7 @@ promise.then((resultSet) => { ...@@ -2720,7 +2891,7 @@ promise.then((resultSet) => {
} }
// Release the dataset memory. // Release the dataset memory.
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2733,7 +2904,7 @@ Queries data from the RDB store of a remote device based on specified conditions ...@@ -2733,7 +2904,7 @@ Queries data from the RDB store of a remote device based on specified conditions
> **NOTE** > **NOTE**
> >
> The value of **device** is obtained by [deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync). The APIs of the **deviceManager** module are system interfaces and available only to system applications. > The value of **device** can be obtained by [deviceManager.getAvailableDeviceListSync](js-apis-distributedDeviceManager.md#getavailabledevicelistsync).
**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core **System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
...@@ -2758,41 +2929,38 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2758,41 +2929,38 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; import { BusinessError } from "@ohos.base";
let deviceId = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { let dmInstance: deviceManager.DeviceManager = null;
if (err) { let deviceId: string = null;
console.log("create device manager failed, err=" + err);
return; try {
} dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
dmInstance = manager; let devices = dmInstance.getAvailableDeviceListSync();
let devices = dmInstance.getTrustedDeviceListSync(); deviceId = devices[0].networkId;
deviceId = devices[0].deviceId; } catch (err) {
}) console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.greaterThan("id", 0); predicates.greaterThan("id", 0);
store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], let promise = store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
function(err, resultSet) { promise.then((resultSet: relationalStore.ResultSet) => {
if (err) { console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`); // resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0.
return; while (resultSet.goToNextRow()) {
} const id = resultSet.getLong(resultSet.getColumnIndex("ID"));
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); const name = resultSet.getString(resultSet.getColumnIndex("NAME"));
// resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0. const age = resultSet.getLong(resultSet.getColumnIndex("AGE"));
while (resultSet.goToNextRow()) { const salary = resultSet.getDouble(resultSet.getColumnIndex("SALARY"));
const id = resultSet.getLong(resultSet.getColumnIndex("ID")); console.info(`id=${id}, name=${name}, age=${age}, salary=${salary}`);
const name = resultSet.getString(resultSet.getColumnIndex("NAME"));
const age = resultSet.getLong(resultSet.getColumnIndex("AGE"));
const salary = resultSet.getDouble(resultSet.getColumnIndex("SALARY"));
console.info(`id=${id}, name=${name}, age=${age}, salary=${salary}`);
}
// Release the dataset memory.
resultSet.close();
} }
) // Release the dataset memory.
resultSet.close();
}).catch((err: BusinessError) => {
console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`);
})
``` ```
### remoteQuery ### remoteQuery
...@@ -2803,7 +2971,7 @@ Queries data from the RDB store of a remote device based on specified conditions ...@@ -2803,7 +2971,7 @@ Queries data from the RDB store of a remote device based on specified conditions
> **NOTE** > **NOTE**
> >
> The value of **device** is obtained by [deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync). The APIs of the **deviceManager** module are system interfaces and available only to system applications. > The value of **device** can be obtained by [deviceManager.getAvailableDeviceListSync](js-apis-distributedDeviceManager.md#getavailabledevicelistsync).
**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core **System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
...@@ -2833,24 +3001,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2833,24 +3001,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; import { BusinessError } from "@ohos.base";
let deviceId = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { let dmInstance: deviceManager.DeviceManager = null;
if (err) { let deviceId: string = null;
console.log("create device manager failed, err=" + err);
return; try {
} dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
dmInstance = manager; let devices = dmInstance.getAvailableDeviceListSync();
let devices = dmInstance.getTrustedDeviceListSync(); deviceId = devices[0].networkId;
deviceId = devices[0].deviceId; } catch (err) {
}) console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.greaterThan("id", 0); predicates.greaterThan("id", 0);
let promise = store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0. // resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0.
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -2862,7 +3030,7 @@ promise.then((resultSet) => { ...@@ -2862,7 +3030,7 @@ promise.then((resultSet) => {
} }
// Release the dataset memory. // Release the dataset memory.
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`); console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2893,7 +3061,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2893,7 +3061,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'", function (err, resultSet) { store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'", (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2939,7 +3107,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2939,7 +3107,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo'], function (err, resultSet) { store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo'], (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2990,8 +3158,10 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -2990,8 +3158,10 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let promise = store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'"); let promise = store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'");
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0. // resultSet is a cursor of a data set. By default, the cursor points to the -1st record. Valid data starts from 0.
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -3003,7 +3173,7 @@ promise.then((resultSet) => { ...@@ -3003,7 +3173,7 @@ promise.then((resultSet) => {
} }
// Release the dataset memory. // Release the dataset memory.
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3036,7 +3206,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3036,7 +3206,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'" const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'"
store.executeSql(SQL_DELETE_TABLE, function(err) { store.executeSql(SQL_DELETE_TABLE, (err) => {
if (err) { if (err) {
console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`); console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3074,7 +3244,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3074,7 +3244,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = ?" const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = ?"
store.executeSql(SQL_DELETE_TABLE, ['zhangsan'], function(err) { store.executeSql(SQL_DELETE_TABLE, ['zhangsan'], (err) => {
if (err) { if (err) {
console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`); console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3116,12 +3286,14 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3116,12 +3286,14 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'" const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'"
let promise = store.executeSql(SQL_DELETE_TABLE); let promise = store.executeSql(SQL_DELETE_TABLE);
promise.then(() => { promise.then(() => {
console.info(`Delete table done.`); console.info(`Delete table done.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`); console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3154,12 +3326,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3154,12 +3326,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
let PRIKey = [1, 4, 2, 3]; let PRIKey = [1, 4, 2, 3];
store.getModifyTime("cloud_tasks", "uuid", PRIKey, function (err, modifyTime) { store.getModifyTime("cloud_tasks", "uuid", PRIKey, (err, modifyTime: relationalStore.ModifyTime)=> {
if (err) { if (err) {
console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`); console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
let size = modifyTime.size(); let size = modifyTime.size;
}); });
``` ```
...@@ -3196,11 +3368,13 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3196,11 +3368,13 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let PRIKey = [1, 2, 3]; let PRIKey = [1, 2, 3];
store.getModifyTime("cloud_tasks", "uuid", PRIKey).then((modifyTime) => { store.getModifyTime("cloud_tasks", "uuid", PRIKey).then((modifyTime: relationalStore.ModifyTime) => {
let size = modifyTime.size(); let size = modifyTime.size;
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`); console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`);
}); });
``` ```
...@@ -3225,22 +3399,32 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3225,22 +3399,32 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
import { ValuesBucket } from '@ohos.data.ValuesBucket';
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { let key1 = "name";
let key2 = "age";
let key3 = "SALARY";
let key4 = "blobType";
let value1 = "Lisi";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3]);
const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) { relationalStore.getRdbStore(this.context, STORE_CONFIG, async (err, store) => {
if (err) { if (err) {
console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
store.beginTransaction(); store.beginTransaction();
const valueBucket = { const valueBucket: ValuesBucket = {
"name": "lisi", key1: value1,
"age": 18, key2: value2,
"salary": 100.5, key3: value3,
"blobType": new Uint8Array([1, 2, 3]), key4: value4,
}; };
await store.insert("test", valueBucket); await store.insert("test", valueBucket);
store.commit(); store.commit();
...@@ -3259,22 +3443,32 @@ Commits the executed SQL statements. ...@@ -3259,22 +3443,32 @@ Commits the executed SQL statements.
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
import { ValuesBucket } from '@ohos.data.ValuesBucket';
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { let key1 = "name";
let key2 = "age";
let key3 = "SALARY";
let key4 = "blobType";
let value1 = "Lisi";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3]);
const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) { relationalStore.getRdbStore(this.context, STORE_CONFIG, async (err, store) => {
if (err) { if (err) {
console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
store.beginTransaction(); store.beginTransaction();
const valueBucket = { const valueBucket: ValuesBucket = {
"name": "lisi", key1: value1,
"age": 18, key2: value2,
"salary": 100.5, key3: value3,
"blobType": new Uint8Array([1, 2, 3]), key4: value4,
}; };
await store.insert("test", valueBucket); await store.insert("test", valueBucket);
store.commit(); store.commit();
...@@ -3293,25 +3487,34 @@ Rolls back the SQL statements that have been executed. ...@@ -3293,25 +3487,34 @@ Rolls back the SQL statements that have been executed.
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
import { ValuesBucket } from '@ohos.data.ValuesBucket';
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { let key1 = "name";
let key2 = "age";
let key3 = "SALARY";
let key4 = "blobType";
let value1 = "Lisi";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3]);
const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) { relationalStore.getRdbStore(this.context, STORE_CONFIG, async (err, store) => {
if (err) { if (err) {
console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
try { try {
store.beginTransaction() store.beginTransaction()
const valueBucket = { const valueBucket: ValuesBucket = {
"id": 1, key1: value1,
"name": "lisi", key2: value2,
"age": 18, key3: value3,
"salary": 100.5, key4: value4,
"blobType": new Uint8Array([1, 2, 3]), };
};
await store.insert("test", valueBucket); await store.insert("test", valueBucket);
store.commit(); store.commit();
} catch (err) { } catch (err) {
...@@ -3347,7 +3550,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3347,7 +3550,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
store.backup("dbBackup.db", function(err) { store.backup("dbBackup.db", (err) => {
if (err) { if (err) {
console.error(`Backup failed, code is ${err.code},message is ${err.message}`); console.error(`Backup failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3387,10 +3590,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3387,10 +3590,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let promiseBackup = store.backup("dbBackup.db"); let promiseBackup = store.backup("dbBackup.db");
promiseBackup.then(()=>{ promiseBackup.then(()=>{
console.info(`Backup success.`); console.info(`Backup success.`);
}).catch((err)=>{ }).catch((err: BusinessError)=>{
console.error(`Backup failed, code is ${err.code},message is ${err.message}`); console.error(`Backup failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3421,7 +3626,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3421,7 +3626,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
store.restore("dbBackup.db", function(err) { store.restore("dbBackup.db", (err) => {
if (err) { if (err) {
console.error(`Restore failed, code is ${err.code},message is ${err.message}`); console.error(`Restore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3461,10 +3666,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3461,10 +3666,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let promiseRestore = store.restore("dbBackup.db"); let promiseRestore = store.restore("dbBackup.db");
promiseRestore.then(()=>{ promiseRestore.then(()=>{
console.info(`Restore success.`); console.info(`Restore success.`);
}).catch((err)=>{ }).catch((err: BusinessError)=>{
console.error(`Restore failed, code is ${err.code},message is ${err.message}`); console.error(`Restore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3497,7 +3704,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3497,7 +3704,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
store.setDistributedTables(["EMPLOYEE"], function (err) { store.setDistributedTables(["EMPLOYEE"], (err) => {
if (err) { if (err) {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3539,10 +3746,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3539,10 +3746,12 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let promise = store.setDistributedTables(["EMPLOYEE"]); let promise = store.setDistributedTables(["EMPLOYEE"]);
promise.then(() => { promise.then(() => {
console.info(`SetDistributedTables successfully.`); console.info(`SetDistributedTables successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3577,7 +3786,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3577,7 +3786,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, function (err) { store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, (err) => {
if (err) { if (err) {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3619,7 +3828,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3619,7 +3828,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
```js ```js
store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, { store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, {
autoSync: true autoSync: true
}, function (err) { },(err) => {
if (err) { if (err) {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3664,12 +3873,14 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3664,12 +3873,14 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
let promise = store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, { let promise = store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, {
autoSync: true autoSync: true
}); });
promise.then(() => { promise.then(() => {
console.info(`SetDistributedTables successfully.`); console.info(`SetDistributedTables successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3682,7 +3893,7 @@ Obtains the distributed table name of a remote device based on the local table n ...@@ -3682,7 +3893,7 @@ Obtains the distributed table name of a remote device based on the local table n
> **NOTE** > **NOTE**
> >
> The value of **device** is obtained by [deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync). The APIs of the **deviceManager** module are system interfaces and available only to system applications. > The value of **device** can be obtained by [deviceManager.getAvailableDeviceListSync](js-apis-distributedDeviceManager.md#getavailabledevicelistsync).
**Required permissions**: ohos.permission.DISTRIBUTED_DATASYNC **Required permissions**: ohos.permission.DISTRIBUTED_DATASYNC
...@@ -3707,26 +3918,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3707,26 +3918,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceId = null; let deviceId: string = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { try {
if (err) { dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
console.log("create device manager failed, err=" + err); let devices = dmInstance.getAvailableDeviceListSync();
return; deviceId = devices[0].networkId;
} } catch (err) {
dmInstance = manager; console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
let devices = dmInstance.getTrustedDeviceListSync(); }
deviceId = devices[0].deviceId;
})
store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName) { store.obtainDistributedTableName(deviceId, "EMPLOYEE", (err, tableName) => {
if (err) { if (err) {
console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`); console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`); console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`);
}) })
``` ```
...@@ -3738,7 +3947,7 @@ Obtains the distributed table name of a remote device based on the local table n ...@@ -3738,7 +3947,7 @@ Obtains the distributed table name of a remote device based on the local table n
> **NOTE** > **NOTE**
> >
> The value of **device** is obtained by [deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync). The APIs of the **deviceManager** module are system interfaces and available only to system applications. > The value of **device** can be obtained by [deviceManager.getAvailableDeviceListSync](js-apis-distributedDeviceManager.md#getavailabledevicelistsync).
**Required permissions**: ohos.permission.DISTRIBUTED_DATASYNC **Required permissions**: ohos.permission.DISTRIBUTED_DATASYNC
...@@ -3768,24 +3977,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3768,24 +3977,24 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; import { BusinessError } from "@ohos.base";
let deviceId = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { let dmInstance: deviceManager.DeviceManager = null;
if (err) { let deviceId: string = null;
console.log("create device manager failed, err=" + err);
return; try {
} dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
dmInstance = manager; let devices = dmInstance.getAvailableDeviceListSync();
let devices = dmInstance.getTrustedDeviceListSync(); deviceId = devices[0].networkId;
deviceId = devices[0].deviceId; } catch (err) {
}) console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
let promise = store.obtainDistributedTableName(deviceId, "EMPLOYEE"); let promise = store.obtainDistributedTableName(deviceId, "EMPLOYEE");
promise.then((tableName) => { promise.then((tableName: string) => {
console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`); console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`); console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3819,25 +4028,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3819,25 +4028,23 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceIds = []; let deviceIds: Array<string> = [];
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { try {
if (err) { dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
console.log("create device manager failed, err=" + err); let devices = dmInstance.getAvailableDeviceListSync();
return; for (let i = 0; i < devices.length; i++) {
} deviceIds[i] = devices[i].networkId;
dmInstance = manager; }
let devices = dmInstance.getTrustedDeviceListSync(); } catch (err) {
for (var i = 0; i < devices.length; i++) { console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
deviceIds[i] = devices[i].deviceId; }
}
})
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(deviceIds); predicates.inDevices(deviceIds);
store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, result) { store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, (err, result) => {
if (err) { if (err) {
console.error(`Sync failed, code is ${err.code},message is ${err.message}`); console.error(`Sync failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3883,31 +4090,31 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -3883,31 +4090,31 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; import { BusinessError } from "@ohos.base";
let deviceIds = [];
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { let dmInstance: deviceManager.DeviceManager = null;
if (err) { let deviceIds: Array<string> = [];
console.log("create device manager failed, err=" + err);
return; try {
} dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
dmInstance = manager; let devices = dmInstance.getAvailableDeviceListSync();
let devices = dmInstance.getTrustedDeviceListSync(); for (let i = 0; i < devices.length; i++) {
for (var i = 0; i < devices.length; i++) { deviceIds[i] = devices[i].networkId;
deviceIds[i] = devices[i].deviceId; }
} } catch (err) {
}) console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
}
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(deviceIds); predicates.inDevices(deviceIds);
let promise = store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates); let promise = store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates);
promise.then((result) =>{ promise.then((result: Object[][]) =>{
console.info(`Sync done.`); console.info(`Sync done.`);
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
console.info(`device= ${result[i][0]}, status= ${result[i][1]}`); console.info(`device= ${result[i][0]}, status= ${result[i][1]}`);
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Sync failed, code is ${err.code},message is ${err.message}`); console.error(`Sync failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3933,14 +4140,14 @@ Manually starts device-cloud synchronization for all distributed tables. This AP ...@@ -3933,14 +4140,14 @@ Manually starts device-cloud synchronization for all distributed tables. This AP
**Example** **Example**
```js ```js
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, function (progressDetails) { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, (progressDetails) => {
console.info(`Progess: ${progressDetails}`); console.info(`Progess: ${progressDetails}`);
}, function (err) { }, (err) =>{
if (err) { if (err) {
console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`); console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
console.info('Cloud sync succeeded'); console.info('Cloud sync succeeded');
}); });
``` ```
...@@ -3970,13 +4177,13 @@ Manually starts device-cloud synchronization for all distributed tables. This AP ...@@ -3970,13 +4177,13 @@ Manually starts device-cloud synchronization for all distributed tables. This AP
**Example** **Example**
```js ```js
function progress(progressDetail) { import { BusinessError } from "@ohos.base";
console.info(`progress: ${progressDetail}`);
}
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, progress).then(() => { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, (progressDetail: relationalStore.ProgressDetails) => {
console.info(`progress: ${progressDetail}`);
}).then(() => {
console.info('Cloud sync succeeded'); console.info('Cloud sync succeeded');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`); console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`);
}); });
``` ```
...@@ -4004,14 +4211,14 @@ Manually starts device-cloud synchronization of the specified table. This API us ...@@ -4004,14 +4211,14 @@ Manually starts device-cloud synchronization of the specified table. This API us
```js ```js
const tables = ["table1", "table2"]; const tables = ["table1", "table2"];
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, function (progressDetails) { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, (progressDetail: relationalStore.ProgressDetails) => {
console.info(`Progess: ${progressDetails}`); console.info(`Progess: ${progressDetails}`);
}, function (err) { }, (err) => {
if (err) { if (err) {
console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`); console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
console.info('Cloud sync succeeded'); console.info('Cloud sync succeeded');
}); });
``` ```
...@@ -4042,14 +4249,15 @@ Manually starts device-cloud synchronization of the specified table. This API us ...@@ -4042,14 +4249,15 @@ Manually starts device-cloud synchronization of the specified table. This API us
**Example** **Example**
```js ```js
import { BusinessError } from "@ohos.base";
const tables = ["table1", "table2"]; const tables = ["table1", "table2"];
function progress(progressDetail) {
console.info(`progress: ${progressDetail}`);
}
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, progress).then(() => { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, (progressDetail: relationalStore.ProgressDetails) => {
console.info(`progress: ${progressDetail}`);
}).then(() => {
console.info('Cloud sync succeeded'); console.info('Cloud sync succeeded');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`); console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`);
}); });
``` ```
...@@ -4073,13 +4281,15 @@ Registers a data change event listener for the RDB store. When the data in the R ...@@ -4073,13 +4281,15 @@ Registers a data change event listener for the RDB store. When the data in the R
**Example** **Example**
```js ```js
function storeObserver(devices) { import deviceManager from '@ohos.distributedHardware.deviceManager';
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
try { try {
store.on('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver); store.on('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver) => {
let devices: string;
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
);
} catch (err) { } catch (err) {
console.error(`Register observer failed, code is ${err.code},message is ${err.message}`); console.error(`Register observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4104,6 +4314,7 @@ Registers a data change event listener for the RDB store. When the data in the R ...@@ -4104,6 +4314,7 @@ Registers a data change event listener for the RDB store. When the data in the R
**Example** **Example**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager';
function storeObserver(devices) { function storeObserver(devices) {
for (let i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`); console.info(`device= ${devices[i]} data changed`);
...@@ -4129,7 +4340,7 @@ Registers an intra-process or inter-process event listener for the RDB store. Th ...@@ -4129,7 +4340,7 @@ Registers an intra-process or inter-process event listener for the RDB store. Th
| Name | Type | Mandatory| Description | | Name | Type | Mandatory| Description |
| ------------ | --------------- | ---- | ------------------------------------------------------------ | | ------------ | --------------- | ---- | ------------------------------------------------------------ |
| event | string | Yes | Event name to observe. | | event | string | Yes | Event name to observe. |
| interProcess | boolean | Yes | Type of the event to observe.<br>The value **true** means the inter-process event.<br>The value **false** means the intra-process event. | | interProcess | boolean | Yes | Type of the event to observe.<br>The value **true** means the inter-process event.<br>The value **false** means the intra-process event.|
| observer | Callback\<void> | Yes | Callback invoked to return the result. | | observer | Callback\<void> | Yes | Callback invoked to return the result. |
**Error codes** **Error codes**
...@@ -4144,11 +4355,10 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4144,11 +4355,10 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
function storeObserver() {
console.info(`storeObserver`);
}
try { try {
store.on('storeObserver', false, storeObserver); store.on('storeObserver', false, (storeObserver) => {
console.info(`storeObserver`);
});
} catch (err) { } catch (err) {
console.error(`Register observer failed, code is ${err.code},message is ${err.message}`); console.error(`Register observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4173,13 +4383,15 @@ Unregisters the data change event listener. ...@@ -4173,13 +4383,15 @@ Unregisters the data change event listener.
**Example** **Example**
``` ```
function storeObserver(devices) { import deviceManager from '@ohos.distributedHardware.deviceManager';
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
try { try {
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver); store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver) => {
let devices: string;
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
);
} catch (err) { } catch (err) {
console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`); console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4204,13 +4416,15 @@ Unregisters the data change event listener. ...@@ -4204,13 +4416,15 @@ Unregisters the data change event listener.
**Example** **Example**
```js ```js
function storeObserver(devices) { import deviceManager from '@ohos.distributedHardware.deviceManager';
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
try { try {
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver); store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver) => {
let devices: string;
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
);
} catch (err) { } catch (err) {
console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`); console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4244,11 +4458,11 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4244,11 +4458,11 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
function storeObserver() {
console.info(`storeObserver`);
}
try { try {
store.off('storeObserver', false, storeObserver); store.off('storeObserver', false, (storeObserver) => {
console.info(`storeObserver`);
}
);
} catch (err) { } catch (err) {
console.error(`Register observer failed, code is ${err.code},message is ${err.message}`); console.error(`Register observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4292,11 +4506,11 @@ Provides APIs to access the result set obtained by querying the RDB store. A res ...@@ -4292,11 +4506,11 @@ Provides APIs to access the result set obtained by querying the RDB store. A res
Obtain the **resultSet** object first. Obtain the **resultSet** object first.
```js ```js
let resultSet = null; let resultSet: relationalStore.ResultSet = null;
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("AGE", 18); predicates.equalTo("AGE", 18);
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((result) => { promise.then((result: relationalStore.ResultSet) => {
resultSet = result; resultSet = result;
console.info(`resultSet columnNames: ${resultSet.columnNames}`); console.info(`resultSet columnNames: ${resultSet.columnNames}`);
console.info(`resultSet columnCount: ${resultSet.columnCount}`); console.info(`resultSet columnCount: ${resultSet.columnCount}`);
...@@ -4350,7 +4564,6 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4350,7 +4564,6 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
resultSet.goToFirstRow();
const id = resultSet.getLong(resultSet.getColumnIndex("ID")); const id = resultSet.getLong(resultSet.getColumnIndex("ID"));
const name = resultSet.getString(resultSet.getColumnIndex("NAME")); const name = resultSet.getString(resultSet.getColumnIndex("NAME"));
const age = resultSet.getLong(resultSet.getColumnIndex("AGE")); const age = resultSet.getLong(resultSet.getColumnIndex("AGE"));
...@@ -4424,14 +4637,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4424,14 +4637,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise= store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goTo(1); resultSet.goTo(1);
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToRow ### goToRow
...@@ -4465,14 +4671,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4465,14 +4671,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToRow(5); resultSet.goToRow(5);
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToFirstRow ### goToFirstRow
...@@ -4501,14 +4700,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4501,14 +4700,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToFirstRow(); resultSet.goToFirstRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToLastRow ### goToLastRow
...@@ -4536,14 +4728,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4536,14 +4728,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToLastRow(); resultSet.goToLastRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToNextRow ### goToNextRow
...@@ -4571,14 +4756,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4571,14 +4756,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToNextRow(); resultSet.goToNextRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToPreviousRow ### goToPreviousRow
...@@ -4606,14 +4784,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode ...@@ -4606,14 +4784,7 @@ For details about the error codes, see [RDB Error Codes](../errorcodes/errorcode
**Example** **Example**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToPreviousRow(); resultSet.goToPreviousRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### getBlob ### getBlob
...@@ -4866,13 +5037,7 @@ Closes this result set. ...@@ -4866,13 +5037,7 @@ Closes this result set.
**Example** **Example**
```js ```js
let predicatesClose = new relationalStore.RdbPredicates("EMPLOYEE");
let promiseClose = store.query(predicatesClose, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promiseClose.then((resultSet) => {
resultSet.close(); resultSet.close();
}).catch((err) => {
console.error(`resultset close failed, code is ${err.code},message is ${err.message}`);
});
``` ```
**Error codes** **Error codes**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册