diff --git a/zh-cn/application-dev/database/database-relational-guidelines.md b/zh-cn/application-dev/database/database-relational-guidelines.md
index 785a513f5bc434892d88b3f75b5f5c2491f07b6b..76dbaefc06af41bd7151035949580c8ce9e77f01 100644
--- a/zh-cn/application-dev/database/database-relational-guidelines.md
+++ b/zh-cn/application-dev/database/database-relational-guidelines.md
@@ -74,6 +74,8 @@
| RdbStore | query(predicates: RdbPredicates, columns?: Array<string>): Promise<ResultSet> | 根据指定条件查询数据库中的数据,结果以Promise形式返回。
- predicates:表示RdbPredicates的实例对象指定的查询条件。
- columns:表示要查询的列。如果值为空,则查询应用于所有列。 |
| RdbStore | querySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<ResultSet>):void | 根据指定SQL语句查询数据库中的数据,结果以callback形式返回。
- sql:指定要查询的SQL语句。
- bindArgs:SQL语句中参数的值。
- callback:指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
| RdbStore | querySql(sql: string, bindArgs?: Array<ValueType>):Promise<ResultSet> | 根据指定SQL语句查询数据库中的数据,结果以Promise形式返回。
- sql:指定要查询的SQL语句。
- bindArgs:SQL语句中参数的值。 |
+ | RdbStore | remoteQuery(device: string, table: string, predicates: RdbPredicates | dataSharePredicates.DataSharePredicates, columns: Array<string>, callback: AsyncCallback<ResultSet>): void; |根据指定条件查询指定远程设备数据库中的数据,结果以callback形式返回。
- device:指定远程查询的设备。
- table:指定远程查询的表名。
- predicates:表示RdbPredicates或DataSharePredicates的实例对象,指定查询的条件。
- columns:表示要查询的列。如果值为空,则查询应用于所有列。
- callback:指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
+ | RdbStore | remoteQuery(device: string, table: string, predicates: RdbPredicates | dataSharePredicates.DataSharePredicates, columns?: Array<string>): Promise<ResultSet>; | 根据指定条件查询指定远程设备数据库中的数据,结果以Promise形式返回。
- device:指定远程查询的设备。
- table:指定远程查询的表名。
- predicates:表示RdbPredicates或DataSharePredicates的实例对象,指定查询的条件。
- columns:表示要查询的列。如果值为空,则查询应用于所有列。 |
### 数据库谓词的使用
@@ -280,7 +282,7 @@
const blobType = resultSet.getBlob(resultSet.getColumnIndex("blobType"))
resultSet.close()
})
- ```
+ ```
4. 设置分布式同步表。
@@ -371,8 +373,35 @@
let tableName = rdbStore.obtainDistributedTableName(deviceId, "test");
let resultSet = rdbStore.querySql("SELECT * FROM " + tableName)
```
-
-8. 数据库的备份和恢复。
+
+8. 远程查询。
+
+
+ (1) 构造用于查询分布式表的谓词对象,指定组网内的远程分布式表名和设备。
+
+ (2) 调用结果集接口,返回查询结果。
+
+ 示例代码如下:
+
+ ```js
+ let rdbPredicate = new data_rdb.RdbPredicates('employee')
+ predicates.greaterThan("id", 1)
+ let promiseQuery = rdbStore.remoteQuery('12345678abcde', 'employee', rdbPredicate)
+ promiseQuery.then((resultSet) => {
+ while (resultSet.goToNextRow()) {
+ let idx = resultSet.getLong(0);
+ let name = resultSet.getString(1);
+ let age = resultSet.getLong(2);
+ this.showLog(idx + " " + name + " " + age);
+ resultSet.goToNextRow();
+ }
+ resultSet.close();
+ }).catch((err) => {
+ console.log("Query failed, err: " + err)
+ })
+ ```
+
+9. 数据库的备份和恢复。
(1) 调用数据库的备份接口,备份当前数据库文件。
diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
index 031eaf5924bb1c45a6fc3419943dd0471d8ceabd..be994007ec9bb720f22537008d40e65d976184c1 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
@@ -1362,6 +1362,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column
| callback | AsyncCallback<[ResultSet](js-apis-data-resultset.md)> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
**示例:**
+
```js
import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates()
@@ -1410,6 +1411,68 @@ promise.then((resultSet) => {
})
```
+### remoteQuery9+
+
+remoteQuery(device: string, table: string, predicates: dataSharePredicates.DataSharePredicates, columns: Array<string> , callback: AsyncCallback<ResultSet>): void;
+
+根据指定条件查询远程设备数据库中的数据,结果以callback形式返回。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core。
+
+**参数:**
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| device | string | 是 | 指定的远程设备名。 |
+| table | string | 是 | 指定的目标表名。 |
+| predicates | [RdbPredicates](js-apis-data-rdb.md#RdbPredicates) | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | RdbPredicates或DataSharePredicates的实例对象,指定查询的条件。 |
+| columns | Array<string> | 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
+| callback | AsyncCallback<[ResultSet](js-apis-data-resultset.md)> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
+
+**示例:**
+```js
+let predicates = new rdb.RdbPredicates('EPLOYEE')
+predicates.greaterThan("id", 1)
+let promise = rdbStore.remoteQuery("deviceId", "EMPLOYEE", predicates)
+promise.then((resultSet) => {
+ console.log("ResultSet column names: " + resultSet.columnNames)
+ console.log("ResultSet column count: " + resultSet.columnCount)
+}).catch((err) => {
+ console.info("remoteQuery failed, err: " + err)
+})
+```
+
+### remoteQuery9+
+
+remoteQuery(device: string, table: string, predicates: dataSharePredicates.DataSharePredicates, columns?: Array<string>): Promise<ResultSet>;
+
+根据指定条件查询远程设备数据库中的数据,结果以Promise形式返回。
+
+**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| device | string | 是 | 指定的远程设备名。 |
+| table | string | 是 | 指定的目标表名。 |
+| predicates | [RdbPredicates](js-apis-data-rdb.md#RdbPredicates) | [DataSharePredicates](js-apis-data-DataSharePredicates.md#datasharepredicates) | 是 | RdbPredicates或DataSharePredicates的实例对象,指定查询的条件。 |
+| columns | Array<string> | 否 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
+
+**示例:**
+
+```js
+let predicates = new rdb.RdbPredicates('EPLOYEE')
+predicates.greaterThan("id", 1)
+rdbStore.remoteQuery("deviceId", "EPLOYEE", predicates, function(err, resultSet){
+ if (err) {
+ console.info("Query failed, err: " + err)
+ return
+ }
+ console.log("ResultSet column names: " + resultSet.columnNames)
+ console.log("ResultSet column count: " + resultSet.columnCount)
+})
+```
+
### querySql8+
querySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<ResultSet>):void
@@ -1747,7 +1810,7 @@ rdbStore.setDistributedTables(["EMPLOYEE"], function (err) {
}
console.info('SetDistributedTables successfully.')
})
- ```
+```
### setDistributedTables8+