Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Tonvia
Docs
提交
41e5008e
D
Docs
项目概览
Tonvia
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
41e5008e
编写于
8月 08, 2022
作者:
O
openharmony_ci
提交者:
Gitee
8月 08, 2022
浏览文件
操作
浏览文件
下载
差异文件
!7386 【分布式数据管理子系统】【RDB】添加远程查询相关资料
Merge pull request !7386 from lijuntao/master
上级
650b218b
8849a260
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
104 addition
and
4 deletion
+104
-4
zh-cn/application-dev/database/database-relational-guidelines.md
...pplication-dev/database/database-relational-guidelines.md
+31
-3
zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
+73
-1
未找到文件。
zh-cn/application-dev/database/database-relational-guidelines.md
浏览文件 @
41e5008e
...
...
@@ -74,6 +74,8 @@
| RdbStore | query(predicates:
RdbPredicates,
columns?:
Array
<
string
>
):
Promise
<
ResultSet
>
| 根据指定条件查询数据库中的数据,结果以Promise形式返回。
<br/>
-
predicates:表示RdbPredicates的实例对象指定的查询条件。
<br/>
-
columns:表示要查询的列。如果值为空,则查询应用于所有列。 |
| RdbStore | querySql(sql:
string,
bindArgs:
Array
<
ValueType
>
,
callback:
AsyncCallback
<
ResultSet
>
):void | 根据指定SQL语句查询数据库中的数据,结果以callback形式返回。
<br/>
-
sql:指定要查询的SQL语句。
<br/>
-
bindArgs:SQL语句中参数的值。
<br/>
-
callback:指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
| RdbStore | querySql(sql:
string,
bindArgs?:
Array
<
ValueType
>
):Promise
<
ResultSet
>
| 根据指定SQL语句查询数据库中的数据,结果以Promise形式返回。
<br/>
-
sql:指定要查询的SQL语句。
<br/>
-
bindArgs:SQL语句中参数的值。 |
| RdbStore | remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: Array
<
string
>
, callback: AsyncCallback
<
ResultSet
>
): void |根据指定条件查询指定远程设备数据库中的数据。使用callback异步回调。
<br/>
-
device:指定远程查询的设备networkId。
<br/>
-
table:指定远程查询的表名。
<br/>
-
predicates:表示RdbPredicates的实例对象,指定查询的条件。
<br/>
-
columns:表示要查询的列。如果值为空,则查询应用于所有列。
<br/>
-
callback:指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
| RdbStore | remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: Array
<
string
>
): Promise
<
ResultSet
>
| 根据指定条件查询指定远程设备数据库中的数据。使用Promise异步回调。
<br/>
-
device:指定远程查询的设备networkId。
<br/>
-
table:指定远程查询的表名。
<br/>
-
predicates:表示RdbPredicates的实例对象,指定查询的条件。
<br/>
-
columns:表示要查询的列。如果值为空,则查询应用于所有列。 |
### 数据库谓词的使用
...
...
@@ -372,7 +374,33 @@
let resultSet = rdbStore.querySql("SELECT * FROM " + tableName)
```
8. 数据库的备份和恢复。
8.
远程查询。
(1) 构造用于查询分布式表的谓词对象,指定组网内的远程分布式表名和设备。
(2) 调用结果集接口,返回查询结果。
示例代码如下:
```
js
let
rdbPredicate
=
new
data_rdb
.
RdbPredicates
(
'
employee
'
)
predicates
.
greaterThan
(
"
id
"
,
0
)
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
);
console
.
info
(
idx
+
"
"
+
name
+
"
"
+
age
);
}
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
info
(
"
failed to remoteQuery, err:
"
+
err
)
})
```
9.
数据库的备份和恢复。
(1) 调用数据库的备份接口,备份当前数据库文件。
...
...
zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
浏览文件 @
41e5008e
...
...
@@ -1456,6 +1456,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
()
...
...
@@ -1486,6 +1487,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column
| columns | Array
<
string
>
| 否 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
**返回值**
:
| 类型 | 说明 |
| -------- | -------- |
| Promise
<
[ResultSet](js-apis-data-resultset.md)
>
| 指定Promise回调函数。如果操作成功,则返回ResultSet对象。 |
...
...
@@ -1504,6 +1506,76 @@ promise.then((resultSet) => {
})
```
### remoteQuery<sup>9+</sup>
remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: Array
<
string
>
, callback: AsyncCallback
<
ResultSet
>
): void
根据指定条件查询远程设备数据库中的数据。使用callback异步回调。
**系统能力:**
SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| device | string | 是 | 指定的远程设备的networkId。 |
| table | string | 是 | 指定的目标表名。 |
| predicates |
[
RdbPredicates
](
#rdbpredicates
)
| 是 | RdbPredicates的实例对象,指定查询的条件。 |
| columns | Array
<
string
>
| 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
| callback | AsyncCallback
<
[ResultSet](js-apis-data-resultset.md#resultset)
>
| 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
**示例:**
```
js
let
predicates
=
new
rdb
.
RdbPredicates
(
'
EPLOYEE
'
)
predicates
.
greaterThan
(
"
id
"
,
0
)
rdbStore
.
remoteQuery
(
"
deviceId
"
,
"
EPLOYEE
"
,
predicates
,
function
(
err
,
resultSet
){
if
(
err
)
{
console
.
info
(
"
Failed to remoteQuery, err:
"
+
err
)
return
}
console
.
info
(
"
ResultSet column names:
"
+
resultSet
.
columnNames
)
console
.
info
(
"
ResultSet column count:
"
+
resultSet
.
columnCount
)
})
```
### remoteQuery<sup>9+</sup>
remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: Array
<
string
>
): Promise
<
ResultSet
>
根据指定条件查询远程设备数据库中的数据。使用Promise异步回调。
**系统能力:**
SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| device | string | 是 | 指定的远程设备的networkId。 |
| table | string | 是 | 指定的目标表名。 |
| predicates |
[
RdbPredicates
](
#rdbpredicates
)
| 是 | RdbPredicates的实例对象,指定查询的条件。 |
| columns | Array
<
string
>
| 否 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
**返回值**
:
| 类型 | 说明 |
| ------------------------------------------------------------ | -------------------------------------------------------- |
| Promise
<
[ResultSet](js-apis-data-resultset.md#resultset)
>
| 指定Promise回调函数。如果操作成功,则返回ResultSet对象。 |
**示例:**
```
js
let
predicates
=
new
rdb
.
RdbPredicates
(
'
EPLOYEE
'
)
predicates
.
greaterThan
(
"
id
"
,
0
)
let
promise
=
rdbStore
.
remoteQuery
(
"
deviceId
"
,
"
EMPLOYEE
"
,
predicates
)
promise
.
then
((
resultSet
)
=>
{
console
.
info
(
"
ResultSet column names:
"
+
resultSet
.
columnNames
)
console
.
info
(
"
ResultSet column count:
"
+
resultSet
.
columnCount
)
}).
catch
((
err
)
=>
{
console
.
info
(
"
Failed to remoteQuery , err:
"
+
err
)
})
```
### querySql<sup>8+</sup>
querySql(sql: string, bindArgs: Array
<
ValueType
>
, callback: AsyncCallback
<
ResultSet
>
):void
...
...
@@ -1823,7 +1895,7 @@ rdbStore.setDistributedTables(["EMPLOYEE"], function (err) {
}
console
.
info
(
'
SetDistributedTables successfully.
'
)
})
```
```
### setDistributedTables<sup>8+</sup>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录