未验证 提交 275daafd 编写于 作者: O openharmony_ci 提交者: Gitee

!14327 整改relationalStore api以及开发指南文档格式

Merge pull request !14327 from LeiiYB/monthly_20221018
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
## 接口说明 ## 接口说明
以下是关系型数据库的常用接口说明,大部分为异步接口。异步接口均有callback和Promise两种返回形式,下表均以Promise形式为例,更多接口及使用方式请见[关系型数据库](../reference/apis/js-apis-data-rdb.md) 以下是关系型数据库的常用接口说明,大部分为异步接口。异步接口均有callback和Promise两种返回形式,下表均以Promise形式为例,更多接口及使用方式请见[关系型数据库](../reference/apis/js-apis-data-relationalStore.md)
### 数据库的创建和删除 ### 数据库的创建和删除
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
| 接口名 | 描述 | | 接口名 | 描述 |
| ------------------------------------------------------------ | ------------------------------------------------------------ | | ------------------------------------------------------------ | ------------------------------------------------------------ |
| getRdbStoreV9(context: Context, config: StoreConfigV9, version: number): Promise&lt;RdbStoreV9&gt; | 获得一个相关的RdbStoreV9,操作关系型数据库,用户可以根据自己的需求配置RdbStoreV9的参数,然后通过RdbStoreV9调用相关接口可以执行相关的数据操作,使用Promise异步回调。<br/>-context:应用程序或功能的上下文。<br/>-config:与此RDB存储相关的数据库配置。<br/>-version:数据库版本。目前暂不支持通过version自动识别数据库升级降级操作,只能由开发者自行维护。 | | getRdbStore(context: Context, config: StoreConfig): Promise&lt;RdbStore&gt; | 获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,使用Promise异步回调。<br/>-context:应用上下文。<br/>-config:与此RDB存储相关的数据库配置。 |
| deleteRdbStoreV9(context: Context, name: string): Promise&lt;void&gt; | 使用指定的数据库文件配置删除数据库,使用Promise异步回调。<br/>-context:应用程序或功能的上下文。<br/>-name:数据库名称。 | | deleteRdbStore(context: Context, name: string): Promise&lt;void&gt; | 使用指定的数据库文件配置删除数据库,使用Promise异步回调。<br/>-context:应用上下文。<br/>-name:数据库名称。 |
### 数据库的增删改查 ### 数据库的增删改查
...@@ -33,29 +33,29 @@ ...@@ -33,29 +33,29 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStoreV9 | insert(table: string, values: ValuesBucket): Promise&lt;number&gt; | 向目标表中插入一行数据,使用Promise异步回调。<br>如果操作成功,返回行ID;否则返回-1。<br/>-table:指定的目标表名。<br/>-values:表示要插入到表中的数据行。 | | RdbStore | insert(table: string, values: ValuesBucket): Promise&lt;number&gt; | 向目标表中插入一行数据,使用Promise异步回调。<br>如果操作成功,返回行ID;否则返回-1。<br/>-table:指定的目标表名。<br/>-values:表示要插入到表中的数据行。 |
- **更新** - **更新**
调用更新接口,传入要更新的数据,并通过RdbPredicatesV9指定更新条件。该接口的返回值表示更新操作影响的行数。如果更新失败,则返回0。 调用更新接口,传入要更新的数据,并通过RdbPredicates指定更新条件。该接口的返回值表示更新操作影响的行数。如果更新失败,则返回0。
**表3** 数据库更新API **表3** 数据库更新API
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStoreV9 | update(values: ValuesBucket, predicates: RdbPredicatesV9): Promise&lt;number&gt; | 根据RdbPredicatesV9的指定实例对象更新数据库中的数据,使用Promise异步回调。<br>返回受影响的行数。<br/>-values:以ValuesBucket存储的要更新的数据。<br/>-predicates:表示RdbPredicatesV9的实例对象指定的更新条件。 | | RdbStore | update(values: ValuesBucket, predicates: RdbPredicates): Promise&lt;number&gt; | 根据RdbPredicates的指定实例对象更新数据库中的数据,使用Promise异步回调。<br>返回受影响的行数。<br/>-values:以ValuesBucket存储的要更新的数据。<br/>-predicates:表示RdbPredicates的实例对象指定的更新条件。 |
- **删除** - **删除**
调用删除接口,通过RdbPredicatesV9指定删除条件。该接口的返回值表示删除的数据行数,可根据此值判断是否删除成功。如果删除失败,则返回0。 调用删除接口,通过RdbPredicates指定删除条件。该接口的返回值表示删除的数据行数,可根据此值判断是否删除成功。如果删除失败,则返回0。
**表4** 数据库删除API **表4** 数据库删除API
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ---------------------------------------------------------- | ------------------------------------------------------------ | | ---------- | ---------------------------------------------------------- | ------------------------------------------------------------ |
| RdbStoreV9 | delete(predicates: RdbPredicatesV9): Promise&lt;number&gt; | 根据RdbPredicatesV9的指定实例对象从数据库中删除数据,使用Promise异步回调。<br>返回受影响的行数。 <br/>-predicates:RdbPredicatesV9的实例对象指定的删除条件。 | | RdbStore | delete(predicates: RdbPredicates): Promise&lt;number&gt; | 根据RdbPredicates的指定实例对象从数据库中删除数据,使用Promise异步回调。<br>返回受影响的行数。 <br/>-predicates:RdbPredicates的实例对象指定的删除条件。 |
- **查询** - **查询**
...@@ -66,35 +66,34 @@ ...@@ -66,35 +66,34 @@
**表5** 数据库查询API **表5** 数据库查询API
| 类名 | 接口名 | 描述 |
| 类名 | 接口名 | 描述 | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | RdbStore | query(predicates: RdbPredicates, columns?: Array&lt;string&gt;): Promise&lt;ResultSet&gt; | 根据指定条件查询数据库中的数据,使用Promise异步回调。<br/>-predicates:表示RdbPredicates的实例对象指定的查询条件。<br/>-columns:表示要查询的列。如果值为空,则查询应用于所有列。 |
| RdbStoreV9 | query(predicates: RdbPredicatesV9, columns?: Array&lt;string&gt;): Promise&lt;ResultSetV9&gt; | 根据指定条件查询数据库中的数据,使用Promise异步回调。<br/>-predicates:表示RdbPredicatesV9的实例对象指定的查询条件。<br/>-columns:表示要查询的列。如果值为空,则查询应用于所有列。 | | RdbStore | querySql(sql: string, bindArgs?: Array&lt;ValueType&gt;): Promise&lt;ResultSet&gt; | 根据指定SQL语句查询数据库中的数据,使用Promise异步回调。<br/>-sql:指定要查询的SQL语句。<br/>-bindArgs:SQL语句中参数的值。 |
| RdbStoreV9 | querySql(sql: string, bindArgs?: Array&lt;ValueType&gt;): Promise&lt;ResultSetV9&gt; | 根据指定SQL语句查询数据库中的数据,使用Promise异步回调。<br/>-sql:指定要查询的SQL语句。<br/>-bindArgs:SQL语句中参数的值。 | | RdbStore | remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: Array&lt;string&gt;): Promise&lt;ResultSet&gt; | 根据指定条件查询指定远程设备数据库中的数据。使用Promise异步回调。<br/>-device:指定远程查询的设备networkId。<br/>-table:指定远程查询的表名。<br/>-predicates:表示RdbPredicates的实例对象,指定查询的条件。<br/>-columns:表示要查询的列。如果值为空,则查询应用于所有列。 |
| RdbStoreV9 | remoteQuery(device: string, table: string, predicates: RdbPredicatesV9, columns: Array&lt;string&gt;): Promise&lt;ResultSetV9&gt; | 根据指定条件查询指定远程设备数据库中的数据。使用Promise异步回调。<br/>-device:指定远程查询的设备networkId。<br/>-table:指定远程查询的表名。<br/>-predicates:表示RdbPredicatesV9的实例对象,指定查询的条件。<br/>-columns:表示要查询的列。如果值为空,则查询应用于所有列。 |
### 数据库谓词的使用 ### 数据库谓词的使用
关系型数据库提供了用于设置数据库操作条件的谓词RdbPredicatesV9,该类确定RDB中条件表达式的值是true还是false。 关系型数据库提供了用于设置数据库操作条件的谓词RdbPredicates,该类确定RDB中条件表达式的值是true还是false。
以下列举几个常用谓词,更多谓词的使用请见[关系型数据库谓词](../reference/apis/js-apis-data-rdb.md#rdbpredicates) 以下列举几个常用谓词,更多谓词的使用请见[关系型数据库谓词](../reference/apis/js-apis-data-relationalStore.md#rdbpredicates)
**表6** 数据库谓词API **表6** 数据库谓词API
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| --------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | --------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbPredicatesV9 | equalTo(field: string, value: ValueType): RdbPredicatesV9 | 配置谓词以匹配数据字段为ValueType且值等于指定值的字段。<br/>-field:数据库表中的列名。<br/>-value:指示要与谓词匹配的值。<br/>-RdbPredicatesV9:返回与指定字段匹配的谓词。 | | RdbPredicates | equalTo(field: string, value: ValueType): RdbPredicates | 配置谓词以匹配数据字段为ValueType且值等于指定值的字段。<br/>-field:数据库表中的列名。<br/>-value:指示要与谓词匹配的值。<br/>-RdbPredicates:返回与指定字段匹配的谓词。 |
| RdbPredicatesV9 | notEqualTo(field: string, value: ValueType): RdbPredicatesV9 | 配置谓词以匹配数据字段为ValueType且值不等于指定值的字段。<br/>-field:数据库表中的列名。<br/>-value:指示要与谓词匹配的值。<br/>-RdbPredicatesV9:返回与指定字段匹配的谓词。 | | RdbPredicates | notEqualTo(field: string, value: ValueType): RdbPredicates | 配置谓词以匹配数据字段为ValueType且值不等于指定值的字段。<br/>-field:数据库表中的列名。<br/>-value:指示要与谓词匹配的值。<br/>-RdbPredicates:返回与指定字段匹配的谓词。 |
| RdbPredicatesV9 | or(): RdbPredicatesV9 | 将或条件添加到谓词中。<br/>-RdbPredicatesV9:返回带有或条件的谓词。 | | RdbPredicates | or(): RdbPredicates | 将或条件添加到谓词中。<br/>-RdbPredicates:返回带有或条件的谓词。 |
| RdbPredicatesV9 | and(): RdbPredicatesV9 | 向谓词添加和条件。<br/>-RdbPredicatesV9:返回带有和条件的谓词。 | | RdbPredicates | and(): RdbPredicates | 向谓词添加和条件。<br/>-RdbPredicates:返回带有和条件的谓词。 |
| RdbPredicatesV9 | contains(field: string, value: string): RdbPredicatesV9 | 配置谓词以匹配数据字段为String且value包含指定值的字段。<br/>-field:数据库表中的列名。<br/>-value:指示要与谓词匹配的值。<br/>-RdbPredicatesV9:返回带有包含条件的谓词。 | | RdbPredicates | contains(field: string, value: string): RdbPredicates | 配置谓词以匹配数据字段为String且value包含指定值的字段。<br/>-field:数据库表中的列名。<br/>-value:指示要与谓词匹配的值。<br/>-RdbPredicates:返回带有包含条件的谓词。 |
### 查询结果集的使用 ### 查询结果集的使用
关系型数据库提供了查询返回的结果集ResultSetV9,其指向查询结果中的一行数据,供用户对查询结果进行遍历和访问。 关系型数据库提供了查询返回的结果集ResultSet,其指向查询结果中的一行数据,供用户对查询结果进行遍历和访问。
更多结果集的接口使用,请见[结果集](../reference/apis/js-apis-data-resultset.md) 更多结果集的接口使用,请见[结果集](../reference/apis/js-apis-data-relationalStore.md#resultset)
> **须知:** > **须知:**
> **结果集使用完后,请一定要调用close方法显式关闭。** > **结果集使用完后,请一定要调用close方法显式关闭。**
...@@ -103,12 +102,12 @@ ...@@ -103,12 +102,12 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ----------- | ---------------------------------------- | ------------------------------------------ | | ----------- | ---------------------------------------- | ------------------------------------------ |
| ResultSetV9 | goToFirstRow(): boolean | 将结果集移动到第一行。 | | ResultSet | goToFirstRow(): boolean | 将结果集移动到第一行。 |
| ResultSetV9 | getString(columnIndex: number): string | 获取当前行指定列的值,以String类型返回。 | | ResultSet | getString(columnIndex: number): string | 获取当前行指定列的值,以String类型返回。 |
| ResultSetV9 | getBlob(columnIndex: number): Uint8Array | 获取当前行指定列的值,以字节数组形式返回。 | | ResultSet | getBlob(columnIndex: number): Uint8Array | 获取当前行指定列的值,以字节数组形式返回。 |
| ResultSetV9 | getDouble(columnIndex: number): number | 获取当前行指定列的值,以double型返回。 | | ResultSet | getDouble(columnIndex: number): number | 获取当前行指定列的值,以double型返回。 |
| ResultSetV9 | getLong(columnIndex: number): number | 获取当前行指定列的值,以Long形式返回。 | | ResultSet | getLong(columnIndex: number): number | 获取当前行指定列的值,以Long形式返回。 |
| ResultSetV9 | close(): void | 关闭结果集。 | | ResultSet | close(): void | 关闭结果集。 |
...@@ -116,7 +115,7 @@ ...@@ -116,7 +115,7 @@
> **说明:** > **说明:**
> >
> - 在使用RdbStoreV9的setDistributedTables、obtainDistributedTableName、sync、on、off接口时,需要请求相应的权限:ohos.permission.DISTRIBUTED_DATASYNC。 > - 在使用RdbStore的setDistributedTables、obtainDistributedTableName、sync、on、off接口时,需要请求相应的权限:ohos.permission.DISTRIBUTED_DATASYNC。
> - 使用分布式列表前,需要先建立设备间组网,具体接口及使用可见[设备管理](../reference/apis/js-apis-device-manager.md)。 > - 使用分布式列表前,需要先建立设备间组网,具体接口及使用可见[设备管理](../reference/apis/js-apis-device-manager.md)。
**设置分布式列表** **设置分布式列表**
...@@ -125,7 +124,7 @@ ...@@ -125,7 +124,7 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStoreV9 | setDistributedTables(tables: Array\<string>): Promise\<void> | 设置分布式列表,使用Promise异步回调。<br/>-tables:要设置的分布式列表表名。 | | RdbStore | setDistributedTables(tables: Array\<string>): Promise\<void> | 设置分布式列表,使用Promise异步回调。<br/>-tables:要设置的分布式列表表名。 |
**根据本地表名获取指定远程设备的分布式表名** **根据本地表名获取指定远程设备的分布式表名**
...@@ -135,7 +134,7 @@ ...@@ -135,7 +134,7 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStoreV9 | obtainDistributedTableName(device: string, table: string): Promise\<string> | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,使用Promise异步回调。<br/>-device:远程设备。<br/>-table:本地表名。 | | RdbStore | obtainDistributedTableName(device: string, table: string): Promise\<string> | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,使用Promise异步回调。<br/>-device:远程设备。<br/>-table:本地表名。 |
**在设备之间同步数据** **在设备之间同步数据**
...@@ -143,7 +142,7 @@ ...@@ -143,7 +142,7 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStoreV9 | sync(mode: SyncMode, predicates: RdbPredicatesV9): Promise\<Array\<[string, number]>> | 在设备之间同步数据,使用Promise异步回调。<br/>-mode:指同步模式。SYNC_MODE_PUSH 表示数据从本地设备推送到远程设备;SYNC_MODE_PULL 表示数据从远程设备拉至本地设备。<br/>-predicates:约束同步数据和设备。<br>-string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 | | RdbStore | sync(mode: SyncMode, predicates: RdbPredicates): Promise\<Array\<[string, number]>> | 在设备之间同步数据,使用Promise异步回调。<br/>-mode:指同步模式。SYNC_MODE_PUSH 表示数据从本地设备推送到远程设备;SYNC_MODE_PULL 表示数据从远程设备拉至本地设备。<br/>-predicates:约束同步数据和设备。<br>-string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 |
**注册数据库的观察者** **注册数据库的观察者**
...@@ -151,7 +150,7 @@ ...@@ -151,7 +150,7 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStoreV9 | on(event: 'dataChange', type: SubscribeType, observer: Callback\<Array\<string>>): void | 注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。<br/>-type:订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-observer:指分布式数据库中数据更改事件的观察者。 | | RdbStore | on(event: 'dataChange', type: SubscribeType, observer: Callback\<Array\<string>>): void | 注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。<br/>-type:订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-observer:指分布式数据库中数据更改事件的观察者。 |
**从数据库中删除指定类型的指定观察者** **从数据库中删除指定类型的指定观察者**
...@@ -159,7 +158,7 @@ ...@@ -159,7 +158,7 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStoreV9 | off(event:'dataChange', type: SubscribeType, observer: Callback\<Array\<string>>): void; | 从数据库中删除指定类型的指定观察者,使用callback异步回调。<br/>-type:订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-observer:指已注册的数据更改观察者。 | | RdbStore | off(event:'dataChange', type: SubscribeType, observer: Callback\<Array\<string>>): void; | 从数据库中删除指定类型的指定观察者,使用callback异步回调。<br/>-type:订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-observer:指已注册的数据更改观察者。 |
### 数据库的备份和恢复 ### 数据库的备份和恢复
...@@ -169,7 +168,7 @@ ...@@ -169,7 +168,7 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | --------------------------------------------- | ------------------------------------------------------------ | | ---------- | --------------------------------------------- | ------------------------------------------------------------ |
| RdbStoreV9 | backup(destName: string): Promise&lt;void&gt; | 以指定名称备份数据库,使用Promise异步回调。<br/>-destName:指定数据库的备份文件名。 | | RdbStore | backup(destName: string): Promise&lt;void&gt; | 以指定名称备份数据库,使用Promise异步回调。<br/>-destName:指定数据库的备份文件名。 |
**恢复** **恢复**
...@@ -177,17 +176,17 @@ ...@@ -177,17 +176,17 @@
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| ---------- | --------------------------------------------- | ------------------------------------------------------------ | | ---------- | --------------------------------------------- | ------------------------------------------------------------ |
| RdbStoreV9 | restore(srcName: string): Promise&lt;void&gt; | 从指定的数据库备份文件恢复数据库,使用Promise异步回调。<br/>-srcName:指定数据库的备份文件名。 | | RdbStore | restore(srcName: string): Promise&lt;void&gt; | 从指定的数据库备份文件恢复数据库,使用Promise异步回调。<br/>-srcName:指定数据库的备份文件名。 |
**事务** ### 事务
**表15** 事务 **表15** 事务
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| -------- | ----------------------- | --------------------------------- | | -------- | ----------------------- | --------------------------------- |
| RdbStoreV9 | beginTransaction(): void | 在开始执行SQL语句之前,开始事务。 | | RdbStore | beginTransaction(): void | 在开始执行SQL语句之前,开始事务。 |
| RdbStoreV9 | commit(): void | 提交已执行的SQL语句。 | | RdbStore | commit(): void | 提交已执行的SQL语句。 |
| RdbStoreV9 | rollBack(): void | 回滚已经执行的SQL语句。 | | RdbStore | rollBack(): void | 回滚已经执行的SQL语句。 |
## 开发步骤 ## 开发步骤
...@@ -202,40 +201,51 @@ ...@@ -202,40 +201,51 @@
FA模型示例: FA模型示例:
```js ```js
import data_rdb from '@ohos.data.rdb' import relationalStore from '@ohos.data.relationalStore'
// 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext()
const CREATE_TABLE_TEST = "CREATE TABLE IF NOT EXISTS test (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT NOT NULL, " + "age INTEGER, " + "salary REAL, " + "blobType BLOB)"; var store;
// 获取context
let context = featureAbility.getContext();
const STORE_CONFIGV9 = { name: "RdbTest.db", const STORE_CONFIG = {
securityLevel: data_rdb.SecurityLevel.S1} name: "RdbTest.db",
data_rdb.getRdbStoreV9(context, STORE_CONFIGV9, 1, function (err, rdbStoreV9) { securityLevel: relationalStore.SecurityLevel.S1
rdbStoreV9.executeSql(CREATE_TABLE_TEST) };
console.info('create table done.')
relationalStore.getRdbStore(context, STORE_CONFIG, function (err, rdbStore) {
store = rdbStore;
if (err) {
console.error(`Get RdbStore failed, err: ${err}`);
return;
}
console.info(`Get RdbStore successfully.`);
}) })
``` ```
Stage模型示例: Stage模型示例:
```ts ```ts
import data_rdb from '@ohos.data.rdb' import relationalStore from '@ohos.data.relationalStore'
// 获取context import UIAbility from '@ohos.app.ability.UIAbility'
import Ability from '@ohos.application.Ability'
let context = null class EntryAbility extends UIAbility {
class MainAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
context = this.context var store;
const STORE_CONFIG = {
name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1
};
relationalStore.getRdbStore(this.context, STORE_CONFIG, function (err, rdbStore) {
store = rdbStore;
if (err) {
console.error(`Get RdbStore failed, err: ${err}`);
return;
} }
} console.info(`Get RdbStore successfully.`);
const CREATE_TABLE_TEST = "CREATE TABLE IF NOT EXISTS test (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT NOT NULL, " + "age INTEGER, " + "salary REAL, " + "blobType BLOB)";
const STORE_CONFIGV9 = { name: "rdbstore.db",
securityLevel: data_rdb.SecurityLevel.S1}
data_rdb.getRdbStoreV9(context, STORE_CONFIGV9, 1, function (err, rdbStoreV9) {
rdbStoreV9.executeSql(CREATE_TABLE_TEST)
console.info('create table done.')
}) })
}
}
``` ```
2. 插入数据。 2. 插入数据。
...@@ -247,9 +257,25 @@ ...@@ -247,9 +257,25 @@
示例代码如下: 示例代码如下:
```js ```js
var u8 = new Uint8Array([1, 2, 3]) let u8 = new Uint8Array([1, 2, 3]);
const valueBucket = { "name": "Tom", "age": 18, "salary": 100.5, "blobType": u8 } const valueBucket = { "name": "Tom", "age": 18, "salary": 100.5, "blobType": u8 };
let insertPromise = rdbStoreV9.insert("test", valueBucket) let insertPromise = store.insert("test", valueBucket);
```
```js
//使用事务插入数据
try {
store.beginTransaction();
let u8 = new Uint8Array([1, 2, 3]);
const valueBucket = { "name": "Tom", "age": 18, "salary": 100.5, "blobType": u8 };
let promise = store.insert("test", valueBucket);
promise.then(() => {
store.commit();
})
} catch (err) {
console.error(`Transaction failed, err: ${err}`);
store.rollBack();
}
``` ```
3. 查询数据。 3. 查询数据。
...@@ -263,17 +289,17 @@ ...@@ -263,17 +289,17 @@
示例代码如下: 示例代码如下:
```js ```js
let predicatesV9 = new data_rdb.RdbPredicatesV9("test"); let predicates = new relationalStore.RdbPredicates("test");
predicatesV9.equalTo("name", "Tom") predicates.equalTo("name", "Tom");
let promisequery = rdbStoreV9.query(predicatesV9) let promisequery = store.query(predicates);
promisequery.then((resultSetV9) => { promisequery.then((resultSet) => {
resultSetV9.goToFirstRow() resultSet.goToFirstRow();
const id = resultSetV9.getLong(resultSetV9.getColumnIndex("id")) const id = resultSet.getLong(resultSet.getColumnIndex("id"));
const name = resultSetV9.getString(resultSetV9.getColumnIndex("name")) const name = resultSet.getString(resultSet.getColumnIndex("name"));
const age = resultSetV9.getLong(resultSetV9.getColumnIndex("age")) const age = resultSet.getLong(resultSet.getColumnIndex("age"));
const salary = resultSetV9.getDouble(resultSetV9.getColumnIndex("salary")) const salary = resultSet.getDouble(resultSet.getColumnIndex("salary"));
const blobType = resultSetV9.getBlob(resultSetV9.getColumnIndex("blobType")) const blobType = resultSet.getBlob(resultSet.getColumnIndex("blobType"));
resultSetV9.close() resultSet.close();
}) })
``` ```
...@@ -299,13 +325,13 @@ ...@@ -299,13 +325,13 @@
```js ```js
let context = featureAbility.getContext(); let context = featureAbility.getContext();
context.requestPermissionsFromUser(['ohos.permission.DISTRIBUTED_DATASYNC'], 666, function (result) { context.requestPermissionsFromUser(['ohos.permission.DISTRIBUTED_DATASYNC'], 666, function (result) {
console.info(`result.requestCode=${result.requestCode}`) console.info(`result.requestCode=${result.requestCode}`);
}) })
let promise = rdbStoreV9.setDistributedTables(["test"]) let promise = store.setDistributedTables(["test"]);
promise.then(() => { promise.then(() => {
console.info("setDistributedTables success.") console.info(`setDistributedTables success.`);
}).catch((err) => { }).catch((err) => {
console.info("setDistributedTables failed.") console.error(`setDistributedTables failed, ${err}`);
}) })
``` ```
...@@ -320,16 +346,16 @@ ...@@ -320,16 +346,16 @@
示例代码如下: 示例代码如下:
```js ```js
let predicateV9 = new data_rdb.RdbPredicatesV9('test') let predicate = new relationalStore.RdbPredicates('test');
predicateV9.inDevices(['12345678abcde']) predicate.inDevices(['12345678abcde']);
let promise = rdbStoreV9.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicateV9) let promise = store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicate);
promise.then((result) => { promise.then((result) => {
console.log('sync done.') console.info(`sync done.`);
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
console.log('device=' + result[i][0] + 'status=' + result[i][1]) console.info(`device=${result[i][0]}, status=${result[i][1]}`);
} }
}).catch((err) => { }).catch((err) => {
console.log('sync failed') console.error(`sync failed, err: ${err}`);
}) })
``` ```
...@@ -344,14 +370,14 @@ ...@@ -344,14 +370,14 @@
```js ```js
function storeObserver(devices) { function storeObserver(devices) {
for (let i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
console.log('device=' + device[i] + 'data changed') console.info(`device= ${device[i]} data changed`);
} }
} }
try { try {
rdbStoreV9.on('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver) store.on('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver);
} catch (err) { } catch (err) {
console.log('register observer failed') console.error(`register observer failed, err: ${err}`);
} }
``` ```
...@@ -364,13 +390,28 @@ ...@@ -364,13 +390,28 @@
示例代码如下: 示例代码如下:
```js ```js
let tableName = rdbStoreV9.obtainDistributedTableName(deviceId, "test"); import deviceManager from '@ohos.distributedHardware.deviceManager'
let resultSetV9 = rdbStoreV9.querySql("SELECT * FROM " + tableName)
let deviceIds = [];
deviceManager.createDeviceManager('bundleName', (err, value) => {
if (!err) {
let devManager = value;
if (devManager != null) {
// 获取deviceIds
let devices = devManager.getTrustedDeviceListSync();
for (let i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].deviceId;
}
}
}
})
let tableName = store.obtainDistributedTableName(deviceIds[0], "test");
let resultSet = store.querySql("SELECT * FROM " + tableName);
``` ```
8. 远程查询。 8. 远程查询。
(1) 构造用于查询分布式表的谓词对象,指定组网内的远程分布式表名和设备。 (1) 构造用于查询分布式表的谓词对象,指定组网内的远程分布式表名和设备。
(2) 调用结果集接口,返回查询结果。 (2) 调用结果集接口,返回查询结果。
...@@ -378,19 +419,19 @@ ...@@ -378,19 +419,19 @@
示例代码如下: 示例代码如下:
```js ```js
let rdbPredicateV9 = new data_rdb.RdbPredicatesV9('employee') let rdbPredicate = new relationalStore.RdbPredicates('employee');
predicatesV9.greaterThan("id", 0) predicates.greaterThan("id", 0) ;
let promiseQuery = rdbStoreV9.remoteQuery('12345678abcde', 'employee', rdbPredicateV9) let promiseQuery = store.remoteQuery('12345678abcde', 'employee', rdbPredicate);
promiseQuery.then((resultSetV9) => { promiseQuery.then((resultSet) => {
while (resultSetV9.goToNextRow()) { while (resultSet.goToNextRow()) {
let idx = resultSetV9.getLong(0); let idx = resultSet.getLong(0);
let name = resultSetV9.getString(1); let name = resultSet.getString(1);
let age = resultSetV9.getLong(2); let age = resultSet.getLong(2);
console.info(idx + " " + name + " " + age); console.info(`indx: ${idx}, name: ${name}, age: ${age}`);
} }
resultSetV9.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.info("failed to remoteQuery, err: " + err) console.error(`failed to remoteQuery, err: ${err}`);
}) })
``` ```
...@@ -401,23 +442,24 @@ ...@@ -401,23 +442,24 @@
示例代码如下: 示例代码如下:
```js ```js
let promiseBackup = rdbStoreV9.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) => {
console.info('Backup failed, err: ' + err) console.error(`Backup failed, err: ${err}`);
}) })
``` ```
(2) 调用数据库的恢复接口,从数据库的备份文件恢复数据库文件。 (2) 调用数据库的恢复接口,从数据库的备份文件恢复数据库文件。
示例代码如下: 示例代码如下:
```js ```js
let promiseRestore = rdbStoreV9.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) => {
console.info('Restore failed, err: ' + err) console.error(`Restore failed, err: ${err}`);
}) })
``` ```
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
## 导入模块 ## 导入模块
```js ```js
import data_rdb from '@ohos.data.relationalStore'; import relationalStore from '@ohos.data.relationalStore'
``` ```
## data_rdb.getRdbStore ## relationalStore.getRdbStore
getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback&lt;RdbStore&gt;): void getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback&lt;RdbStore&gt;): void
...@@ -48,51 +48,55 @@ getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback&lt;Rd ...@@ -48,51 +48,55 @@ getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback&lt;Rd
FA模型示例: FA模型示例:
```js ```js
// 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext()
// 获取context后调用getRdbStore var store;
// 获取context
let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: data_rdb.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
} };
data_rdb.getRdbStore(context, STORE_CONFIG, function (err, RdbStore) {
relationalStore.getRdbStore(context, STORE_CONFIG, function (err, rdbStore) {
store = rdbStore;
if (err) { if (err) {
console.info("Get RdbStore failed, err: " + err) console.error(`Get RdbStore failed, err: ${err}`);
return return;
} }
console.log("Get RdbStore successfully.") console.info(`Get RdbStore successfully.`);
}) })
``` ```
Stage模型示例: Stage模型示例:
```ts ```ts
// 获取context import UIAbility from '@ohos.app.ability.UIAbility'
import Ability from '@ohos.application.Ability'
let context
class MainAbility extends Ability{
onWindowStageCreate(windowStage){
context = this.context
}
}
// 获取context后调用getRdbStore class EntryAbility extends UIAbility {
const STORE_CONFIG = { onWindowStageCreate(windowStage) {
var store;
const STORE_CONFIG = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: data_rdb.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
} };
data_rdb.getRdbStore(context, STORE_CONFIG, function (err, RdbStore) {
relationalStore.getRdbStore(this.context, STORE_CONFIG, function (err, rdbStore) {
store = rdbStore;
if (err) { if (err) {
console.info("Get RdbStore failed, err: " + err) console.error(`Get RdbStore failed, err: ${err}`);
return return;
} }
console.log("Get RdbStore successfully.") console.info(`Get RdbStore successfully.`);
}) })
}
}
``` ```
## data_rdb.getRdbStore ## relationalStore.getRdbStore
getRdbStore(context: Context, config: StoreConfig): Promise&lt;RdbStore&gt; getRdbStore(context: Context, config: StoreConfig): Promise&lt;RdbStore&gt;
...@@ -127,49 +131,52 @@ getRdbStore(context: Context, config: StoreConfig): Promise&lt;RdbStore&gt; ...@@ -127,49 +131,52 @@ getRdbStore(context: Context, config: StoreConfig): Promise&lt;RdbStore&gt;
FA模型示例: FA模型示例:
```js ```js
// 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext()
// 获取context后调用getRdbStore var store;
// 获取context
let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: data_rdb.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
} };
let promise = data_rdb.getRdbStore(context, STORE_CONFIG);
let promise = relationalStore.getRdbStore(context, STORE_CONFIG);
promise.then(async (rdbStore) => { promise.then(async (rdbStore) => {
console.log("Get RdbStore successfully.") store = rdbStore;
console.info(`Get RdbStore successfully.`);
}).catch((err) => { }).catch((err) => {
console.log("Get RdbStore failed, err: " + err) console.error(`Get RdbStore failed, err: ${err}`);
}) })
``` ```
Stage模型示例: Stage模型示例:
```ts ```ts
// 获取context import UIAbility from '@ohos.app.ability.UIAbility'
import Ability from '@ohos.application.Ability'
let context
class MainAbility extends Ability{
onWindowStageCreate(windowStage){
context = this.context
}
}
// 获取context后调用getRdbStore class EntryAbility extends UIAbility {
const STORE_CONFIG = { onWindowStageCreate(windowStage) {
var store;
const STORE_CONFIG = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: data_rdb.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
};
let promise = relationalStore.getRdbStore(this.context, STORE_CONFIG);
promise.then(async (rdbStore) => {
store = rdbStore;
console.info(`Get RdbStore successfully.`)
}).catch((err) => {
console.error(`Get RdbStore failed, err: ${err}`);
})
}
} }
let promise = data_rdb.getRdbStore(context, STORE_CONFIG);
promise.then(async (rdbStore) => {
console.log("Get RdbStore successfully.")
}).catch((err) => {
console.log("Get RdbStore failed, err: " + err)
})
``` ```
## data_rdb.deleteRdbStore ## relationalStore.deleteRdbStore
deleteRdbStore(context: Context, name: string, callback: AsyncCallback&lt;void&gt;): void deleteRdbStore(context: Context, name: string, callback: AsyncCallback&lt;void&gt;): void
...@@ -198,43 +205,39 @@ deleteRdbStore(context: Context, name: string, callback: AsyncCallback&lt;void&g ...@@ -198,43 +205,39 @@ deleteRdbStore(context: Context, name: string, callback: AsyncCallback&lt;void&g
FA模型示例: FA模型示例:
```js ```js
// 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
// 获取context
let context = featureAbility.getContext() let context = featureAbility.getContext()
// 获取context后调用deleteRdbStore relationalStore.deleteRdbStore(context, "RdbTest.db", function (err) {
data_rdb.deleteRdbStore(context, "RdbTest.db", function (err) {
if (err) { if (err) {
console.info("Delete RdbStore failed, err: " + err) console.error(`Delete RdbStore failed, err: ${err}`);
return return;
} }
console.log("Delete RdbStore successfully.") console.info(`Delete RdbStore successfully.`);
}) })
``` ```
Stage模型示例: Stage模型示例:
```ts ```ts
// 获取context import UIAbility from '@ohos.app.ability.UIAbility'
import Ability from '@ohos.application.Ability'
let context
class MainAbility extends Ability{
onWindowStageCreate(windowStage){
context = this.context
}
}
// 获取context后调用deleteRdbStore class EntryAbility extends UIAbility {
data_rdb.deleteRdbStore(context, "RdbTest.db", function (err) { onWindowStageCreate(windowStage){
relationalStore.deleteRdbStore(this.context, "RdbTest.db", function (err) {
if (err) { if (err) {
console.info("Delete RdbStore failed, err: " + err) console.error(`Delete RdbStore failed, err: ${err}`);
return return;
} }
console.log("Delete RdbStore successfully.") console.info(`Delete RdbStore successfully.`);
}) })
}
}
``` ```
## data_rdb.deleteRdbStore ## relationalStore.deleteRdbStore
deleteRdbStore(context: Context, name: string): Promise&lt;void&gt; deleteRdbStore(context: Context, name: string): Promise&lt;void&gt;
...@@ -268,38 +271,34 @@ deleteRdbStore(context: Context, name: string): Promise&lt;void&gt; ...@@ -268,38 +271,34 @@ deleteRdbStore(context: Context, name: string): Promise&lt;void&gt;
FA模型示例: FA模型示例:
```js ```js
// 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext()
// 获取context后调用deleteRdbStore // 获取context
let promise = data_rdb.deleteRdbStore(context, "RdbTest.db") let context = featureAbility.getContext();
let promise = relationalStore.deleteRdbStore(context, "RdbTest.db");
promise.then(()=>{ promise.then(()=>{
console.log("Delete RdbStore successfully.") console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err) => {
console.info("Delete RdbStore failed, err: " + err) console.error(`Delete RdbStore failed, err: ${err}`);
}) })
``` ```
Stage模型示例: Stage模型示例:
```ts ```ts
// 获取context import UIAbility from '@ohos.app.ability.UIAbility'
import Ability from '@ohos.application.Ability'
let context class EntryAbility extends UIAbility {
class MainAbility extends Ability{
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context let promise = relationalStore.deleteRdbStore(this.context, "RdbTest.db");
promise.then(()=>{
console.info(`Delete RdbStore successfully.`);
}).catch((err) => {
console.error(`Delete RdbStore failed, err: ${err}`);
})
} }
} }
// 获取context后调用deleteRdbStore
let promise = data_rdb.deleteRdbStore(context, "RdbTest.db")
promise.then(()=>{
console.log("Delete RdbStore successfully.")
}).catch((err) => {
console.info("Delete RdbStore failed, err: " + err)
})
``` ```
## StoreConfig ## StoreConfig
...@@ -391,7 +390,7 @@ constructor(name: string) ...@@ -391,7 +390,7 @@ constructor(name: string)
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
``` ```
### inDevices ### inDevices
...@@ -418,8 +417,8 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates ...@@ -418,8 +417,8 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.inDevices(['12345678abcde']) predicates.inDevices(['12345678abcde']);
``` ```
### inAllDevices ### inAllDevices
...@@ -440,8 +439,8 @@ inAllDevices(): RdbPredicates ...@@ -440,8 +439,8 @@ inAllDevices(): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.inAllDevices() predicates.inAllDevices();
``` ```
### equalTo ### equalTo
...@@ -469,8 +468,8 @@ equalTo(field: string, value: ValueType): RdbPredicates ...@@ -469,8 +468,8 @@ equalTo(field: string, value: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "lisi") predicates.equalTo("NAME", "lisi");
``` ```
...@@ -499,8 +498,8 @@ notEqualTo(field: string, value: ValueType): RdbPredicates ...@@ -499,8 +498,8 @@ notEqualTo(field: string, value: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.notEqualTo("NAME", "lisi") predicates.notEqualTo("NAME", "lisi");
``` ```
...@@ -522,7 +521,7 @@ beginWrap(): RdbPredicates ...@@ -522,7 +521,7 @@ beginWrap(): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "lisi") predicates.equalTo("NAME", "lisi")
.beginWrap() .beginWrap()
.equalTo("AGE", 18) .equalTo("AGE", 18)
...@@ -548,7 +547,7 @@ endWrap(): RdbPredicates ...@@ -548,7 +547,7 @@ endWrap(): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "lisi") predicates.equalTo("NAME", "lisi")
.beginWrap() .beginWrap()
.equalTo("AGE", 18) .equalTo("AGE", 18)
...@@ -574,7 +573,7 @@ or(): RdbPredicates ...@@ -574,7 +573,7 @@ or(): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa")
.or() .or()
.equalTo("NAME", "Rose") .equalTo("NAME", "Rose")
...@@ -597,7 +596,7 @@ and(): RdbPredicates ...@@ -597,7 +596,7 @@ and(): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa")
.and() .and()
.equalTo("SALARY", 200.5) .equalTo("SALARY", 200.5)
...@@ -627,8 +626,8 @@ contains(field: string, value: string): RdbPredicates ...@@ -627,8 +626,8 @@ contains(field: string, value: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.contains("NAME", "os") predicates.contains("NAME", "os");
``` ```
### beginsWith ### beginsWith
...@@ -655,8 +654,8 @@ beginsWith(field: string, value: string): RdbPredicates ...@@ -655,8 +654,8 @@ beginsWith(field: string, value: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.beginsWith("NAME", "os") predicates.beginsWith("NAME", "os");
``` ```
### endsWith ### endsWith
...@@ -683,8 +682,8 @@ endsWith(field: string, value: string): RdbPredicates ...@@ -683,8 +682,8 @@ endsWith(field: string, value: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.endsWith("NAME", "se") predicates.endsWith("NAME", "se");
``` ```
### isNull ### isNull
...@@ -710,8 +709,8 @@ isNull(field: string): RdbPredicates ...@@ -710,8 +709,8 @@ isNull(field: string): RdbPredicates
**示例** **示例**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.isNull("NAME") predicates.isNull("NAME");
``` ```
### isNotNull ### isNotNull
...@@ -737,8 +736,8 @@ isNotNull(field: string): RdbPredicates ...@@ -737,8 +736,8 @@ isNotNull(field: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.isNotNull("NAME") predicates.isNotNull("NAME");
``` ```
### like ### like
...@@ -765,8 +764,8 @@ like(field: string, value: string): RdbPredicates ...@@ -765,8 +764,8 @@ like(field: string, value: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.like("NAME", "%os%") predicates.like("NAME", "%os%");
``` ```
### glob ### glob
...@@ -793,8 +792,8 @@ glob(field: string, value: string): RdbPredicates ...@@ -793,8 +792,8 @@ glob(field: string, value: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.glob("NAME", "?h*g") predicates.glob("NAME", "?h*g");
``` ```
### between ### between
...@@ -822,8 +821,8 @@ between(field: string, low: ValueType, high: ValueType): RdbPredicates ...@@ -822,8 +821,8 @@ between(field: string, low: ValueType, high: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.between("AGE", 10, 50) predicates.between("AGE", 10, 50);
``` ```
### notBetween ### notBetween
...@@ -851,8 +850,8 @@ notBetween(field: string, low: ValueType, high: ValueType): RdbPredicates ...@@ -851,8 +850,8 @@ notBetween(field: string, low: ValueType, high: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.notBetween("AGE", 10, 50) predicates.notBetween("AGE", 10, 50);
``` ```
### greaterThan ### greaterThan
...@@ -879,8 +878,8 @@ greaterThan(field: string, value: ValueType): RdbPredicates ...@@ -879,8 +878,8 @@ greaterThan(field: string, value: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.greaterThan("AGE", 18) predicates.greaterThan("AGE", 18);
``` ```
### lessThan ### lessThan
...@@ -907,8 +906,8 @@ lessThan(field: string, value: ValueType): RdbPredicates ...@@ -907,8 +906,8 @@ lessThan(field: string, value: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.lessThan("AGE", 20) predicates.lessThan("AGE", 20);
``` ```
### greaterThanOrEqualTo ### greaterThanOrEqualTo
...@@ -935,8 +934,8 @@ greaterThanOrEqualTo(field: string, value: ValueType): RdbPredicates ...@@ -935,8 +934,8 @@ greaterThanOrEqualTo(field: string, value: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.greaterThanOrEqualTo("AGE", 18) predicates.greaterThanOrEqualTo("AGE", 18);
``` ```
### lessThanOrEqualTo ### lessThanOrEqualTo
...@@ -963,8 +962,8 @@ lessThanOrEqualTo(field: string, value: ValueType): RdbPredicates ...@@ -963,8 +962,8 @@ lessThanOrEqualTo(field: string, value: ValueType): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.lessThanOrEqualTo("AGE", 20) predicates.lessThanOrEqualTo("AGE", 20);
``` ```
### orderByAsc ### orderByAsc
...@@ -990,8 +989,8 @@ orderByAsc(field: string): RdbPredicates ...@@ -990,8 +989,8 @@ orderByAsc(field: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.orderByAsc("NAME") predicates.orderByAsc("NAME");
``` ```
### orderByDesc ### orderByDesc
...@@ -1017,8 +1016,8 @@ orderByDesc(field: string): RdbPredicates ...@@ -1017,8 +1016,8 @@ orderByDesc(field: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.orderByDesc("AGE") predicates.orderByDesc("AGE");
``` ```
### distinct ### distinct
...@@ -1038,8 +1037,8 @@ distinct(): RdbPredicates ...@@ -1038,8 +1037,8 @@ distinct(): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose").distinct() predicates.equalTo("NAME", "Rose").distinct();
``` ```
### limitAs ### limitAs
...@@ -1065,8 +1064,8 @@ limitAs(value: number): RdbPredicates ...@@ -1065,8 +1064,8 @@ limitAs(value: number): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose").limitAs(3) predicates.equalTo("NAME", "Rose").limitAs(3);
``` ```
### offsetAs ### offsetAs
...@@ -1092,8 +1091,8 @@ offsetAs(rowOffset: number): RdbPredicates ...@@ -1092,8 +1091,8 @@ offsetAs(rowOffset: number): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose").offsetAs(3) predicates.equalTo("NAME", "Rose").offsetAs(3);
``` ```
### groupBy ### groupBy
...@@ -1119,8 +1118,8 @@ groupBy(fields: Array&lt;string&gt;): RdbPredicates ...@@ -1119,8 +1118,8 @@ groupBy(fields: Array&lt;string&gt;): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.groupBy(["AGE", "NAME"]) predicates.groupBy(["AGE", "NAME"]);
``` ```
### indexedBy ### indexedBy
...@@ -1147,8 +1146,8 @@ indexedBy(field: string): RdbPredicates ...@@ -1147,8 +1146,8 @@ indexedBy(field: string): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.indexedBy("SALARY_INDEX") predicates.indexedBy("SALARY_INDEX");
``` ```
### in ### in
...@@ -1175,8 +1174,8 @@ in(field: string, value: Array&lt;ValueType&gt;): RdbPredicates ...@@ -1175,8 +1174,8 @@ in(field: string, value: Array&lt;ValueType&gt;): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.in("AGE", [18, 20]) predicates.in("AGE", [18, 20]);
``` ```
### notIn ### notIn
...@@ -1203,8 +1202,8 @@ notIn(field: string, value: Array&lt;ValueType&gt;): RdbPredicates ...@@ -1203,8 +1202,8 @@ notIn(field: string, value: Array&lt;ValueType&gt;): RdbPredicates
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.notIn("NAME", ["Lisa", "Rose"]) predicates.notIn("NAME", ["Lisa", "Rose"]);
``` ```
## RdbStore ## RdbStore
...@@ -1237,15 +1236,17 @@ const valueBucket = { ...@@ -1237,15 +1236,17 @@ const valueBucket = {
"AGE": 18, "AGE": 18,
"SALARY": 100.5, "SALARY": 100.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]), "CODES": new Uint8Array([1, 2, 3, 4, 5]),
} };
rdbStore.insert("EMPLOYEE", valueBucket, function (status, rowId) { store.insert("EMPLOYEE", valueBucket, function (err, rowId) {
if (status) { if (err) {
console.log("Insert is failed"); console.error(`Insert is failed, err: ${err}`);
return; return;
} }
console.log("Insert is successful, rowId = " + rowId); console.info(`Insert is successful, rowId = ${rowId}`);
}) })
``` ```
### insert ### insert
insert(table: string, values: ValuesBucket):Promise&lt;number&gt; insert(table: string, values: ValuesBucket):Promise&lt;number&gt;
...@@ -1275,15 +1276,16 @@ const valueBucket = { ...@@ -1275,15 +1276,16 @@ const valueBucket = {
"AGE": 18, "AGE": 18,
"SALARY": 100.5, "SALARY": 100.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]), "CODES": new Uint8Array([1, 2, 3, 4, 5]),
} };
let promise = rdbStore.insert("EMPLOYEE", valueBucket) let promise = store.insert("EMPLOYEE", valueBucket);
promise.then((rowId) => { promise.then((rowId) => {
console.log("Insert is successful, rowId = " + rowId); console.info(`Insert is successful, rowId = ${rowId}`);
}).catch((status) => { }).catch((err) => {
console.log("Insert is failed"); console.error(`Insert is failed, err: ${err}`);
}) })
``` ```
### batchInsert ### batchInsert
batchInsert(table: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCallback&lt;number&gt;):void batchInsert(table: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCallback&lt;number&gt;):void
...@@ -1308,27 +1310,27 @@ const valueBucket1 = { ...@@ -1308,27 +1310,27 @@ const valueBucket1 = {
"AGE": 18, "AGE": 18,
"SALARY": 100.5, "SALARY": 100.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]) "CODES": new Uint8Array([1, 2, 3, 4, 5])
} };
const valueBucket2 = { const valueBucket2 = {
"NAME": "Jack", "NAME": "Jack",
"AGE": 19, "AGE": 19,
"SALARY": 101.5, "SALARY": 101.5,
"CODES": new Uint8Array([6, 7, 8, 9, 10]) "CODES": new Uint8Array([6, 7, 8, 9, 10])
} };
const valueBucket3 = { const valueBucket3 = {
"NAME": "Tom", "NAME": "Tom",
"AGE": 20, "AGE": 20,
"SALARY": 102.5, "SALARY": 102.5,
"CODES": new Uint8Array([11, 12, 13, 14, 15]) "CODES": new Uint8Array([11, 12, 13, 14, 15])
} };
let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3);
rdbStore.batchInsert("EMPLOYEE", valueBuckets, function(status, insertNum) { store.batchInsert("EMPLOYEE", valueBuckets, function(err, insertNum) {
if (status) { if (err) {
console.log("batchInsert is failed, status = " + status); console.error(`batchInsert is failed, err: ${err}`);
return; return;
} }
console.log("batchInsert is successful, the number of values that were inserted = " + insertNum); console.info(`batchInsert is successful, the number of values that were inserted = ${insertNum}`);
}) })
``` ```
...@@ -1361,26 +1363,26 @@ const valueBucket1 = { ...@@ -1361,26 +1363,26 @@ const valueBucket1 = {
"AGE": 18, "AGE": 18,
"SALARY": 100.5, "SALARY": 100.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]) "CODES": new Uint8Array([1, 2, 3, 4, 5])
} };
const valueBucket2 = { const valueBucket2 = {
"NAME": "Jack", "NAME": "Jack",
"AGE": 19, "AGE": 19,
"SALARY": 101.5, "SALARY": 101.5,
"CODES": new Uint8Array([6, 7, 8, 9, 10]) "CODES": new Uint8Array([6, 7, 8, 9, 10])
} };
const valueBucket3 = { const valueBucket3 = {
"NAME": "Tom", "NAME": "Tom",
"AGE": 20, "AGE": 20,
"SALARY": 102.5, "SALARY": 102.5,
"CODES": new Uint8Array([11, 12, 13, 14, 15]) "CODES": new Uint8Array([11, 12, 13, 14, 15])
} };
let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3);
let promise = rdbStore.batchInsert("EMPLOYEE", valueBuckets); let promise = store.batchInsert("EMPLOYEE", valueBuckets);
promise.then((insertNum) => { promise.then((insertNum) => {
console.log("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((status) => { }).catch((err) => {
console.log("batchInsert is failed, status = " + status); console.error(`batchInsert is failed, err: ${err}`);
}) })
``` ```
...@@ -1408,18 +1410,19 @@ const valueBucket = { ...@@ -1408,18 +1410,19 @@ const valueBucket = {
"AGE": 22, "AGE": 22,
"SALARY": 200.5, "SALARY": 200.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]), "CODES": new Uint8Array([1, 2, 3, 4, 5]),
} };
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa");
rdbStore.update(valueBucket, predicates, function (err, rows) { store.update(valueBucket, predicates, function (err, rows) {
if (err) { if (err) {
console.info("Updated failed, err: " + err) console.error(`Updated failed, err: ${err}`);
return return;
} }
console.log("Updated row count: " + rows) console.info(`Updated row count: ${rows}`);
}) })
``` ```
### update ### update
update(values: ValuesBucket, predicates: RdbPredicates):Promise&lt;number&gt; update(values: ValuesBucket, predicates: RdbPredicates):Promise&lt;number&gt;
...@@ -1449,17 +1452,18 @@ const valueBucket = { ...@@ -1449,17 +1452,18 @@ const valueBucket = {
"AGE": 22, "AGE": 22,
"SALARY": 200.5, "SALARY": 200.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]), "CODES": new Uint8Array([1, 2, 3, 4, 5]),
} };
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa");
let promise = rdbStore.update(valueBucket, predicates) let promise = store.update(valueBucket, predicates);
promise.then(async (rows) => { promise.then(async (rows) => {
console.log("Updated row count: " + rows) console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err) => {
console.info("Updated failed, err: " + err) console.error(`Updated failed, err: ${err}`);
}) })
``` ```
### update ### update
update(table: string, values: ValuesBucket, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback&lt;number&gt;):void update(table: string, values: ValuesBucket, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback&lt;number&gt;):void
...@@ -1488,15 +1492,15 @@ const valueBucket = { ...@@ -1488,15 +1492,15 @@ const valueBucket = {
"AGE": 22, "AGE": 22,
"SALARY": 200.5, "SALARY": 200.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]), "CODES": new Uint8Array([1, 2, 3, 4, 5]),
} };
let predicates = new dataSharePredicates.DataSharePredicates() let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa");
rdbStore.update("EMPLOYEE", valueBucket, predicates, function (err, rows) { store.update("EMPLOYEE", valueBucket, predicates, function (err, rows) {
if (err) { if (err) {
console.info("Updated failed, err: " + err) console.error(`Updated failed, err: ${err}`);
return return;
} }
console.log("Updated row count: " + rows) console.info(`Updated row count: ${rows}`);
}) })
``` ```
...@@ -1533,14 +1537,14 @@ const valueBucket = { ...@@ -1533,14 +1537,14 @@ const valueBucket = {
"AGE": 22, "AGE": 22,
"SALARY": 200.5, "SALARY": 200.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]), "CODES": new Uint8Array([1, 2, 3, 4, 5]),
} };
let predicates = new dataSharePredicates.DataSharePredicates() let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa");
let promise = rdbStore.update("EMPLOYEE", valueBucket, predicates) let promise = store.update("EMPLOYEE", valueBucket, predicates);
promise.then(async (rows) => { promise.then(async (rows) => {
console.log("Updated row count: " + rows) console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err) => {
console.info("Updated failed, err: " + err) console.error(`Updated failed, err: ${err}`);
}) })
``` ```
...@@ -1562,14 +1566,14 @@ delete(predicates: RdbPredicates, callback: AsyncCallback&lt;number&gt;):void ...@@ -1562,14 +1566,14 @@ delete(predicates: RdbPredicates, callback: AsyncCallback&lt;number&gt;):void
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa");
rdbStore.delete(predicates, function (err, rows) { store.delete(predicates, function (err, rows) {
if (err) { if (err) {
console.info("Delete failed, err: " + err) console.error(`Delete failed, err: ${err}`);
return return;
} }
console.log("Delete rows: " + rows) console.info(`Delete rows: ${rows}`);
}) })
``` ```
...@@ -1596,13 +1600,13 @@ delete(predicates: RdbPredicates):Promise&lt;number&gt; ...@@ -1596,13 +1600,13 @@ delete(predicates: RdbPredicates):Promise&lt;number&gt;
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa") predicates.equalTo("NAME", "Lisa");
let promise = rdbStore.delete(predicates) let promise = store.delete(predicates);
promise.then((rows) => { promise.then((rows) => {
console.log("Delete rows: " + rows) console.info(`Delete rows: ${rows}`);
}).catch((err) => { }).catch((err) => {
console.info("Delete failed, err: " + err) console.error(`Delete failed, err: ${err}`);
}) })
``` ```
...@@ -1628,14 +1632,14 @@ delete(table: string, predicates: dataSharePredicates.DataSharePredicates, callb ...@@ -1628,14 +1632,14 @@ delete(table: string, predicates: dataSharePredicates.DataSharePredicates, callb
```js ```js
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");
rdbStore.delete("EMPLOYEE", predicates, function (err, rows) { store.delete("EMPLOYEE", predicates, function (err, rows) {
if (err) { if (err) {
console.info("Delete failed, err: " + err) console.error(`Delete failed, err: ${err}`);
return return;
} }
console.log("Delete rows: " + rows) console.info(`Delete rows: ${rows}`);
}) })
``` ```
...@@ -1666,13 +1670,13 @@ delete(table: string, predicates: dataSharePredicates.DataSharePredicates):Promi ...@@ -1666,13 +1670,13 @@ delete(table: string, predicates: dataSharePredicates.DataSharePredicates):Promi
```js ```js
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");
let promise = rdbStore.delete("EMPLOYEE", predicates) let promise = store.delete("EMPLOYEE", predicates);
promise.then((rows) => { promise.then((rows) => {
console.log("Delete rows: " + rows) console.info(`Delete rows: ${rows}`);
}).catch((err) => { }).catch((err) => {
console.info("Delete failed, err: " + err) console.error(`Delete failed, err: ${err}`);
}) })
``` ```
...@@ -1695,15 +1699,15 @@ query(predicates: RdbPredicates, columns: Array&lt;string&gt;, callback: AsyncCa ...@@ -1695,15 +1699,15 @@ query(predicates: RdbPredicates, columns: Array&lt;string&gt;, callback: AsyncCa
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose") predicates.equalTo("NAME", "Rose");
rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) { store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) {
if (err) { if (err) {
console.info("Query failed, err: " + err) console.error(`Query failed, err: ${err}`);
return return;
} }
console.log("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.log("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}) })
``` ```
...@@ -1731,14 +1735,14 @@ query(predicates: RdbPredicates, columns?: Array&lt;string&gt;):Promise&lt;Resul ...@@ -1731,14 +1735,14 @@ query(predicates: RdbPredicates, columns?: Array&lt;string&gt;):Promise&lt;Resul
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates("EMPLOYEE") let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose") predicates.equalTo("NAME", "Rose");
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]) let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
console.log("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.log("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}).catch((err) => { }).catch((err) => {
console.info("Query failed, err: " + err) console.error(`Query failed, err: ${err}`);
}) })
``` ```
...@@ -1765,15 +1769,15 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column ...@@ -1765,15 +1769,15 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column
```js ```js
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");
rdbStore.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) { store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) {
if (err) { if (err) {
console.info("Query failed, err: " + err) console.error(`Query failed, err: ${err}`);
return return;
} }
console.log("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.log("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}) })
``` ```
...@@ -1805,14 +1809,14 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column ...@@ -1805,14 +1809,14 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column
```js ```js
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");
let promise = rdbStore.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) => {
console.log("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.log("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}).catch((err) => { }).catch((err) => {
console.info("Query failed, err: " + err) console.error(`Query failed, err: ${err}`);
}) })
``` ```
...@@ -1837,17 +1841,18 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -1837,17 +1841,18 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates('EMPLOYEE') let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.greaterThan("id", 0) predicates.greaterThan("id", 0);
rdbStore.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.info("Failed to remoteQuery, err: " + err) console.error(`Failed to remoteQuery, err: ${err}`);
return return;
} }
console.info("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.info("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}) }
)
``` ```
### remoteQuery ### remoteQuery
...@@ -1876,14 +1881,14 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -1876,14 +1881,14 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates('EMPLOYEE') let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.greaterThan("id", 0) predicates.greaterThan("id", 0);
let promise = rdbStore.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) => {
console.info("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.info("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}).catch((err) => { }).catch((err) => {
console.info("Failed to remoteQuery , err: " + err) console.error(`Failed to remoteQuery, err: ${err}`);
}) })
``` ```
...@@ -1906,13 +1911,13 @@ querySql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallback& ...@@ -1906,13 +1911,13 @@ querySql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallback&
**示例:** **示例:**
```js ```js
rdbStore.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'], function (err, resultSet) {
if (err) { if (err) {
console.info("Query failed, err: " + err) console.error(`Query failed, err: ${err}`);
return return;
} }
console.log("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.log("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}) })
``` ```
...@@ -1940,12 +1945,12 @@ querySql(sql: string, bindArgs?: Array&lt;ValueType&gt;):Promise&lt;ResultSet&gt ...@@ -1940,12 +1945,12 @@ querySql(sql: string, bindArgs?: Array&lt;ValueType&gt;):Promise&lt;ResultSet&gt
**示例:** **示例:**
```js ```js
let promise = rdbStore.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) => {
console.log("ResultSet column names: " + resultSet.columnNames) console.info(`ResultSet column names: ${resultSet.columnNames}`);
console.log("ResultSet column count: " + resultSet.columnCount) console.info(`ResultSet column count: ${resultSet.columnCount}`);
}).catch((err) => { }).catch((err) => {
console.info("Query failed, err: " + err) console.error(`Query failed, err: ${err}`);
}) })
``` ```
...@@ -1969,12 +1974,12 @@ executeSql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallbac ...@@ -1969,12 +1974,12 @@ executeSql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallbac
```js ```js
const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)" const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)"
rdbStore.executeSql(SQL_CREATE_TABLE, null, function(err) { store.executeSql(SQL_CREATE_TABLE, null, function(err) {
if (err) { if (err) {
console.info("ExecuteSql failed, err: " + err) console.error(`ExecuteSql failed, err: ${err}`);
return return;
} }
console.info('Create table done.') console.info(`Create table done.`);
}) })
``` ```
...@@ -2003,11 +2008,11 @@ executeSql(sql: string, bindArgs?: Array&lt;ValueType&gt;):Promise&lt;void&gt; ...@@ -2003,11 +2008,11 @@ executeSql(sql: string, bindArgs?: Array&lt;ValueType&gt;):Promise&lt;void&gt;
```js ```js
const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)" const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)"
let promise = rdbStore.executeSql(SQL_CREATE_TABLE) let promise = store.executeSql(SQL_CREATE_TABLE);
promise.then(() => { promise.then(() => {
console.info('Create table done.') console.info(`Create table done.`);
}).catch((err) => { }).catch((err) => {
console.info("ExecuteSql failed, err: " + err) console.error(`ExecuteSql failed, err: ${err}`);
}) })
``` ```
...@@ -2023,19 +2028,25 @@ beginTransaction():void ...@@ -2023,19 +2028,25 @@ beginTransaction():void
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext() let context = featureAbility.getContext();
const STORE_CONFIG = { name: "RdbTest.db", const STORE_CONFIG = {
securityLevel: data_rdb.SecurityLevel.S1} name: "RdbTest.db",
data_rdb.getRdbStore(context, STORE_CONFIG, async function (err, rdbStore) { securityLevel: relationalStore.SecurityLevel.S1
rdbStore.beginTransaction() };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) {
if (err) {
console.error(`GetRdbStore failed, err: ${err}`);
return;
}
store.beginTransaction();
const valueBucket = { const valueBucket = {
"name": "lisi", "name": "lisi",
"age": 18, "age": 18,
"salary": 100.5, "salary": 100.5,
"blobType": new Uint8Array([1, 2, 3]), "blobType": new Uint8Array([1, 2, 3]),
} };
await rdbStore.insert("test", valueBucket) await store.insert("test", valueBucket);
rdbStore.commit() store.commit();
}) })
``` ```
...@@ -2051,19 +2062,25 @@ commit():void ...@@ -2051,19 +2062,25 @@ commit():void
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext() let context = featureAbility.getContext();
const STORE_CONFIG = { name: "RdbTest.db", const STORE_CONFIG = {
securityLevel: data_rdb.SecurityLevel.S1} name: "RdbTest.db",
data_rdb.getRdbStore(context, STORE_CONFIG, async function (err, rdbStore) { securityLevel: relationalStore.SecurityLevel.S1
rdbStore.beginTransaction() };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) {
if (err) {
console.error(`GetRdbStore failed, err: ${err}`);
return;
}
store.beginTransaction();
const valueBucket = { const valueBucket = {
"name": "lisi", "name": "lisi",
"age": 18, "age": 18,
"salary": 100.5, "salary": 100.5,
"blobType": new Uint8Array([1, 2, 3]), "blobType": new Uint8Array([1, 2, 3]),
} };
await rdbStore.insert("test", valueBucket) await store.insert("test", valueBucket);
rdbStore.commit() store.commit();
}) })
``` ```
...@@ -2079,23 +2096,30 @@ rollBack():void ...@@ -2079,23 +2096,30 @@ rollBack():void
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext() let context = featureAbility.getContext();
const STORE_CONFIG = { name: "RdbTest.db", const STORE_CONFIG = {
securityLevel: data_rdb.SecurityLevel.S1} name: "RdbTest.db",
data_rdb.getRdbStore(context, STORE_CONFIG, async function (err, rdbStore) { securityLevel: relationalStore.SecurityLevel.S1
};
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) {
if (err) {
console.error(`GetRdbStore failed, err: ${err}`);
return;
}
try { try {
rdbStore.beginTransaction() store.beginTransaction()
const valueBucket = { const valueBucket = {
"id": 1, "id": 1,
"name": "lisi", "name": "lisi",
"age": 18, "age": 18,
"salary": 100.5, "salary": 100.5,
"blobType": new Uint8Array([1, 2, 3]), "blobType": new Uint8Array([1, 2, 3]),
} };
await rdbStore.insert("test", valueBucket) await store.insert("test", valueBucket);
rdbStore.commit() store.commit();
} catch (e) { } catch (err) {
rdbStore.rollBack() console.error(`Transaction failed, err: ${err}`);
store.rollBack();
} }
}) })
``` ```
...@@ -2118,12 +2142,12 @@ backup(destName:string, callback: AsyncCallback&lt;void&gt;):void ...@@ -2118,12 +2142,12 @@ backup(destName:string, callback: AsyncCallback&lt;void&gt;):void
**示例:** **示例:**
```js ```js
rdbStore.backup("dbBackup.db", function(err) { store.backup("dbBackup.db", function(err) {
if (err) { if (err) {
console.info('Backup failed, err: ' + err) console.error(`Backup failed, err: ${err}`);
return return;
} }
console.info('Backup success.') console.info(`Backup success.`);
}) })
``` ```
...@@ -2150,11 +2174,11 @@ backup(destName:string): Promise&lt;void&gt; ...@@ -2150,11 +2174,11 @@ backup(destName:string): Promise&lt;void&gt;
**示例:** **示例:**
```js ```js
let promiseBackup = rdbStore.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)=>{
console.info('Backup failed, err: ' + err) console.error(`Backup failed, err: ${err}`);
}) })
``` ```
...@@ -2176,12 +2200,12 @@ restore(srcName:string, callback: AsyncCallback&lt;void&gt;):void ...@@ -2176,12 +2200,12 @@ restore(srcName:string, callback: AsyncCallback&lt;void&gt;):void
**示例:** **示例:**
```js ```js
rdbStore.restore("dbBackup.db", function(err) { store.restore("dbBackup.db", function(err) {
if (err) { if (err) {
console.info('Restore failed, err: ' + err) console.error(`Restore failed, err: ${err}`);
return return;
} }
console.info('Restore success.') console.info(`Restore success.`);
}) })
``` ```
...@@ -2208,11 +2232,11 @@ restore(srcName:string): Promise&lt;void&gt; ...@@ -2208,11 +2232,11 @@ restore(srcName:string): Promise&lt;void&gt;
**示例:** **示例:**
```js ```js
let promiseRestore = rdbStore.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)=>{
console.info('Restore failed, err: ' + err) console.error(`Restore failed, err: ${err}`);
}) })
``` ```
...@@ -2236,12 +2260,12 @@ setDistributedTables(tables: Array&lt;string&gt;, callback: AsyncCallback&lt;voi ...@@ -2236,12 +2260,12 @@ setDistributedTables(tables: Array&lt;string&gt;, callback: AsyncCallback&lt;voi
**示例:** **示例:**
```js ```js
rdbStore.setDistributedTables(["EMPLOYEE"], function (err) { store.setDistributedTables(["EMPLOYEE"], function (err) {
if (err) { if (err) {
console.info('SetDistributedTables failed, err: ' + err) console.error(`SetDistributedTables failed, err: ${err}`);
return return;
} }
console.info('SetDistributedTables successfully.') console.info(`SetDistributedTables successfully.`);
}) })
``` ```
...@@ -2270,11 +2294,11 @@ rdbStore.setDistributedTables(["EMPLOYEE"], function (err) { ...@@ -2270,11 +2294,11 @@ rdbStore.setDistributedTables(["EMPLOYEE"], function (err) {
**示例:** **示例:**
```js ```js
let promise = rdbStore.setDistributedTables(["EMPLOYEE"]) let promise = store.setDistributedTables(["EMPLOYEE"]);
promise.then(() => { promise.then(() => {
console.info("SetDistributedTables successfully.") console.info(`SetDistributedTables successfully.`);
}).catch((err) => { }).catch((err) => {
console.info("SetDistributedTables failed, err: " + err) console.error(`SetDistributedTables failed, err: ${err}`);
}) })
``` ```
...@@ -2299,12 +2323,12 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac ...@@ -2299,12 +2323,12 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac
**示例:** **示例:**
```js ```js
rdbStore.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tableName) { store.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tableName) {
if (err) { if (err) {
console.info('ObtainDistributedTableName failed, err: ' + err) console.error(`ObtainDistributedTableName failed, err: ${err}`);
return return;
} }
console.info('ObtainDistributedTableName successfully, tableName=.' + tableName) console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`);
}) })
``` ```
...@@ -2334,11 +2358,11 @@ rdbStore.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, ...@@ -2334,11 +2358,11 @@ rdbStore.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err,
**示例:** **示例:**
```js ```js
let promise = rdbStore.obtainDistributedTableName("12345678abcde", "EMPLOYEE") let promise = store.obtainDistributedTableName("12345678abcde", "EMPLOYEE");
promise.then((tableName) => { promise.then((tableName) => {
console.info('ObtainDistributedTableName successfully, tableName= ' + tableName) console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`);
}).catch((err) => { }).catch((err) => {
console.info('ObtainDistributedTableName failed, err: ' + err) console.error(`ObtainDistributedTableName failed, err: ${err}`);
}) })
``` ```
...@@ -2363,16 +2387,16 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback&lt;Array ...@@ -2363,16 +2387,16 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback&lt;Array
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates('EMPLOYEE') let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(['12345678abcde']) predicates.inDevices(['12345678abcde']);
rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates, function (err, result) { store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, result) {
if (err) { if (err) {
console.log('Sync failed, err: ' + err) console.error(`Sync failed, err: ${err}`);
return return;
} }
console.log('Sync done.') console.info(`Sync done.`);
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
console.log('device=' + result[i][0] + ' status=' + result[i][1]) console.info(`device= ${result[i][0]}, status= ${result[i][1]}`);
} }
}) })
``` ```
...@@ -2403,16 +2427,16 @@ rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates, function (err, resul ...@@ -2403,16 +2427,16 @@ rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates, function (err, resul
**示例:** **示例:**
```js ```js
let predicates = new data_rdb.RdbPredicates('EMPLOYEE') let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(['12345678abcde']) predicates.inDevices(['12345678abcde']);
let promise = rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates) let promise = store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates);
promise.then((resultSet) =>{ promise.then((resultSet) =>{
console.log('Sync done.') console.info(`Sync done.`);
for (let i = 0; i < resultSet.length; i++) { for (let i = 0; i < resultSet.length; i++) {
console.log('device=' + resultSet[i][0] + ' status=' + resultSet[i][1]) console.info(`device= ${result[i][0]}, status= ${result[i][1]}`);
} }
}).catch((err) => { }).catch((err) => {
console.log('Sync failed') console.error(`Sync failed, err: ${err}`);
}) })
``` ```
...@@ -2437,13 +2461,13 @@ on(event: 'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri ...@@ -2437,13 +2461,13 @@ on(event: 'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri
```js ```js
function storeObserver(devices) { function storeObserver(devices) {
for (let i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
console.log('device=' + devices[i] + ' data changed') console.info(`device= ${devices[i]} data changed`);
} }
} }
try { try {
rdbStore.on('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver) store.on('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver);
} catch (err) { } catch (err) {
console.log('Register observer failed') console.error(`Register observer failed, err: ${err}`);
} }
``` ```
...@@ -2468,13 +2492,13 @@ off(event:'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri ...@@ -2468,13 +2492,13 @@ off(event:'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri
```js ```js
function storeObserver(devices) { function storeObserver(devices) {
for (let i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
console.log('device=' + devices[i] + ' data changed') console.info(`device= ${devices[i]} data changed`);
} }
} }
try { try {
rdbStore.off('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver) store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver);
} catch (err) { } catch (err) {
console.log('Unregister observer failed') console.error(`Unregister observer failed, err: ${err}`);
} }
``` ```
...@@ -2484,16 +2508,15 @@ try { ...@@ -2484,16 +2508,15 @@ try {
### 使用说明 ### 使用说明
需要通过[RdbStore.query()](#query)获取resultSet对象。 首先需要获取resultSet对象。
```js ```js
import dataRdb from '@ohos.data.rdb'; let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let predicates = new dataRdb.RdbPredicates("EMPLOYEE");
predicates.equalTo("AGE", 18); predicates.equalTo("AGE", 18);
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
console.log(TAG + "resultSet columnNames:" + resultSet.columnNames); console.info(`resultSet columnNames: ${resultSet.columnNames}`);
console.log(TAG + "resultSet columnCount:" + resultSet.columnCount); console.info(`resultSet columnCount: ${resultSet.columnCount}`);
}); });
``` ```
...@@ -2618,13 +2641,13 @@ goTo(offset:number): boolean ...@@ -2618,13 +2641,13 @@ goTo(offset:number): boolean
**示例:** **示例:**
```js ```js
let predicates = new dataRdb.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise= rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise= store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
resultSet.goTo(1); resultSet.goTo(1);
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.log('query failed'); console.error(`query failed, err: ${err}`);
}); });
``` ```
...@@ -2659,13 +2682,13 @@ goToRow(position: number): boolean ...@@ -2659,13 +2682,13 @@ goToRow(position: number): boolean
**示例:** **示例:**
```js ```js
let predicates = new dataRdb.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
resultSet.(5); resultSet.(5);
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.log('query failed'); console.error(`query failed, err: ${err}`);
}); });
``` ```
...@@ -2695,13 +2718,13 @@ goToFirstRow(): boolean ...@@ -2695,13 +2718,13 @@ goToFirstRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new dataRdb.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
resultSet.goToFirstRow(); resultSet.goToFirstRow();
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.log('query failed'); console.error(`query failed, err: ${err}`);
}); });
``` ```
...@@ -2730,13 +2753,13 @@ goToLastRow(): boolean ...@@ -2730,13 +2753,13 @@ goToLastRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new dataRdb.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
resultSet.goToLastRow(); resultSet.goToLastRow();
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.log('query failed'); console.error(`query failed, err: ${err}`);
}); });
``` ```
...@@ -2765,13 +2788,13 @@ goToNextRow(): boolean ...@@ -2765,13 +2788,13 @@ goToNextRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new dataRdb.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
resultSet.goToNextRow(); resultSet.goToNextRow();
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.log('query failed'); console.error(`query failed, err: ${err}`);
}); });
``` ```
...@@ -2800,13 +2823,13 @@ goToPreviousRow(): boolean ...@@ -2800,13 +2823,13 @@ goToPreviousRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new dataRdb.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet) => {
resultSet.goToPreviousRow(); resultSet.goToPreviousRow();
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.log('query failed'); console.error(`query failed, err: ${err}`);
}); });
``` ```
...@@ -2991,12 +3014,12 @@ close(): void ...@@ -2991,12 +3014,12 @@ close(): void
**示例:** **示例:**
```js ```js
let predicatesClose = new dataRdb.RdbPredicates("EMPLOYEE"); let predicatesClose = new relationalStore.RdbPredicates("EMPLOYEE");
let promiseClose = rdbStore.query(predicatesClose, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promiseClose = store.query(predicatesClose, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promiseClose.then((resultSet) => { promiseClose.then((resultSet) => {
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err) => {
console.log('resultset close failed'); console.error(`resultset close failed, err: ${err}`);
}); });
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册