Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d7fedd6a
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
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,发现更多精彩内容 >>
提交
d7fedd6a
编写于
7月 15, 2023
作者:
L
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rdb
Signed-off-by:
N
lihuihui
<
lihuihui29@huawei.com
>
上级
3405dfa2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
315 addition
and
0 deletion
+315
-0
zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md
...cation-dev/reference/apis/js-apis-data-relationalStore.md
+261
-0
zh-cn/application-dev/reference/errorcodes/errorcode-data-rdb.md
...pplication-dev/reference/errorcodes/errorcode-data-rdb.md
+54
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md
浏览文件 @
d7fedd6a
...
@@ -43,6 +43,8 @@ getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback<Rd
...
@@ -43,6 +43,8 @@ getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback<Rd
| 14800010 | Failed to open or delete database by invalid database path. |
| 14800010 | Failed to open or delete database by invalid database path. |
| 14800011 | Failed to open database by database corrupted. |
| 14800011 | Failed to open database by database corrupted. |
| 14800000 | Inner error. |
| 14800000 | Inner error. |
| 14801001 | Only supported in Stage mode. |
| 14801002 | The dataGroupId not valid. |
**示例:**
**示例:**
...
@@ -127,6 +129,8 @@ getRdbStore(context: Context, config: StoreConfig): Promise<RdbStore>
...
@@ -127,6 +129,8 @@ getRdbStore(context: Context, config: StoreConfig): Promise<RdbStore>
| 14800010 | Failed to open or delete database by invalid database path. |
| 14800010 | Failed to open or delete database by invalid database path. |
| 14800011 | Failed to open database by database corrupted. |
| 14800011 | Failed to open database by database corrupted. |
| 14800000 | Inner error. |
| 14800000 | Inner error. |
| 14801001 | Only supported in Stage mode. |
| 14801002 | The dataGroupId not valid. |
**示例:**
**示例:**
...
@@ -229,6 +233,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'
...
@@ -229,6 +233,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'
class
EntryAbility
extends
UIAbility
{
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
onWindowStageCreate
(
windowStage
){
relationalStore
.
deleteRdbStore
(
this
.
context
,
"
RdbTest.db
"
,
function
(
err
)
{
relationalStore
.
deleteRdbStore
(
this
.
context
,
"
RdbTest.db
"
,
function
(
err
)
{
if
(
err
)
{
if
(
err
)
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
...
@@ -242,6 +247,78 @@ class EntryAbility extends UIAbility {
...
@@ -242,6 +247,78 @@ class EntryAbility extends UIAbility {
## relationalStore.deleteRdbStore
## relationalStore.deleteRdbStore
function deleteRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback
<void>
): void;
删除数据库,使用callback异步回调。
**系统能力:**
SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用的上下文。
<br>
FA模型的应用Context定义见
[
Context
](
js-apis-inner-app-context.md
)
。
<br>
Stage模型的应用Context定义见
[
Context
](
js-apis-inner-application-uiAbilityContext.md
)
。 |
| config |
[
StoreConfig
](
#storeconfig
)
| 是 | 与此RDB存储相关的数据库配置。 |
| callback | AsyncCallback
<
void
>
| 是 | 指定callback回调函数。 |
**错误码:**
以下错误码的详细介绍请参见
[
关系型数据库错误码
](
../errorcodes/errorcode-data-rdb.md
)
。
|
**错误码ID**
|
**错误信息**
|
| ------------ | ----------------------------------------------------------- |
| 14800010 | Failed to open or delete database by invalid database path. |
| 14800000 | Inner error. |
| 14801001 | Only supported in Stage mode. |
| 14801002 | The dataGroupId not valid. |
**示例:**
FA模型示例:
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
// 获取context
let
context
=
featureAbility
.
getContext
()
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
deleteRdbStore
(
context
,
STORE_CONFIG
,
function
(
err
)
{
if
(
err
)
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
`Delete RdbStore successfully.`
);
})
```
Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
deleteRdbStore
(
this
.
context
,
STORE_CONFIG
,
function
(
err
)
{
if
(
err
)
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
`Delete RdbStore successfully.`
);
})
}
}
```
## relationalStore.deleteRdbStore
deleteRdbStore(context: Context, name: string): Promise
<
void
>
deleteRdbStore(context: Context, name: string): Promise
<
void
>
使用指定的数据库文件配置删除数据库,使用Promise异步回调。
使用指定的数据库文件配置删除数据库,使用Promise异步回调。
...
@@ -305,6 +382,81 @@ class EntryAbility extends UIAbility {
...
@@ -305,6 +382,81 @@ class EntryAbility extends UIAbility {
}
}
```
```
## relationalStore.deleteRdbStore
deleteRdbStore(context: Context, config: StoreConfig): Promise
<void>
;
使用指定的数据库文件配置删除数据库,使用Promise异步回调。
**系统能力:**
SystemCapability.DistributedDataManager.RelationalStore.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用的上下文。
<br>
FA模型的应用Context定义见
[
Context
](
js-apis-inner-app-context.md
)
。
<br>
Stage模型的应用Context定义见
[
Context
](
js-apis-inner-application-uiAbilityContext.md
)
。 |
| config |
[
StoreConfig
](
#storeconfig
)
| 是 | 与此RDB存储相关的数据库配置。 |
**返回值**
:
| 类型 | 说明 |
| ------------------- | ------------------------- |
| Promise
<
void
>
| 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见
[
关系型数据库错误码
](
../errorcodes/errorcode-data-rdb.md
)
。
|
**错误码ID**
|
**错误信息**
|
| ------------ | ----------------------------------------------------------- |
| 14800010 | Failed to open or delete database by invalid database path. |
| 14800000 | Inner error. |
| 14801001 | Only supported in Stage mode. |
| 14801002 | The dataGroupId not valid. |
**示例:**
FA模型示例:
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
// 获取context
let
context
=
featureAbility
.
getContext
();
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
let
promise
=
relationalStore
.
deleteRdbStore
(
context
,
STORE_CONFIG
);
promise
.
then
(()
=>
{
console
.
info
(
`Delete RdbStore successfully.`
);
}).
catch
((
err
)
=>
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
let
promise
=
relationalStore
.
deleteRdbStore
(
this
.
context
,
STORE_CONFIG
);
promise
.
then
(()
=>
{
console
.
info
(
`Delete RdbStore successfully.`
);
}).
catch
((
err
)
=>
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
}
}
```
## StoreConfig
## StoreConfig
管理关系数据库配置。
管理关系数据库配置。
...
@@ -316,6 +468,7 @@ class EntryAbility extends UIAbility {
...
@@ -316,6 +468,7 @@ class EntryAbility extends UIAbility {
| name | string | 是 | 数据库文件名。 |
| name | string | 是 | 数据库文件名。 |
| securityLevel |
[
SecurityLevel
](
#securitylevel
)
| 是 | 设置数据库安全级别 |
| securityLevel |
[
SecurityLevel
](
#securitylevel
)
| 是 | 设置数据库安全级别 |
| encrypt | boolean | 否 | 指定数据库是否加密,默认不加密。
<br/>
true:加密。
<br/>
false:非加密。 |
| encrypt | boolean | 否 | 指定数据库是否加密,默认不加密。
<br/>
true:加密。
<br/>
false:非加密。 |
| dataGroupId | string | 否 | 应用组ID。
<br/>
**模型约束:**
此属性仅可在Stage模型下可用。 |
## SecurityLevel
## SecurityLevel
...
@@ -3775,6 +3928,45 @@ try {
...
@@ -3775,6 +3928,45 @@ try {
}
}
```
```
### on<sup>10+</sup>
on(event: string, supportShared: boolean, observer: Callback): void;
注册数据库的数据变更的事件监听。当调用
[
emit
](
#emit10
)
接口时,将调用回调。
**系统能力:**
SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | -------- | ---- | ------------------------------------------------------------ |
| event | string | 是 | 订阅事件名称。 |
| supportShared | boolean | 是 | 指定是进程间还是本进程订阅。
<br/>
true:进程间。
<br/>
false:本进程。 |
| observer | Callback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见
[
关系型数据库错误码
](
../errorcodes/errorcode-data-rdb.md
)
。
|
**错误码ID**
|
**错误信息**
|
| ------------ | -------------------------------------- |
| 801 | Capability not supported. |
| 14800000 | Inner error. |
| 14800050 | Failed to obtain subscription service. |
**示例:**
```
js
function
storeObserver
()
{
console
.
info
(
`storeObserver`
);
}
try
{
store
.
on
(
'
storeObserver
'
,
false
,
storeObserver
);
}
catch
(
err
)
{
console
.
error
(
`Register observer failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
}
```
### off('dataChange')
### off('dataChange')
off(event:'dataChange', type: SubscribeType, observer: Callback
<
Array
<
string
>>
): void
off(event:'dataChange', type: SubscribeType, observer: Callback
<
Array
<
string
>>
): void
...
@@ -3837,6 +4029,75 @@ try {
...
@@ -3837,6 +4029,75 @@ try {
}
}
```
```
### off<sup>10+</sup>
off(event: string, supportShared: boolean, observer?: Callback
<void>
): void;
取消数据变更的事件监听。
**系统能力:**
SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | -------- | ---- | ------------------------------------------------------------ |
| event | string | 是 | 取消订阅事件名称。 |
| supportShared | boolean | 是 | 指定是进程间还是本进程取消订阅。
<br/>
true:进程间。
<br/>
false:本进程。 |
| observer | Callback | 否 | 该参数存在,则取消指定Callback监听回调,否则取消该event事件的所有监听回调。 |
**错误码:**
以下错误码的详细介绍请参见
[
关系型数据库错误码
](
../errorcodes/errorcode-data-rdb.md
)
。
|
**错误码ID**
|
**错误信息**
|
| ------------ | -------------------------------------- |
| 801 | Capability not supported. |
| 14800000 | Inner error. |
| 14800050 | Failed to obtain subscription service. |
**示例:**
```
js
function
storeObserver
()
{
console
.
info
(
`storeObserver`
);
}
try
{
store
.
off
(
'
storeObserver
'
,
false
,
storeObserver
);
}
catch
(
err
)
{
console
.
error
(
`Register observer failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
}
```
### emit<sup>10+</sup>
emit(event: string): void;
通知数据变更的事件监听。
**系统能力:**
SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------- |
| event | string | 是 | 通知订阅事件的名称。 |
**错误码:**
以下错误码的详细介绍请参见
[
关系型数据库错误码
](
../errorcodes/errorcode-data-rdb.md
)
。
|
**错误码ID**
|
**错误信息**
|
| ------------ | -------------------------------------- |
| 801 | Capability not supported. |
| 14800000 | Inner error. |
| 14800050 | Failed to obtain subscription service. |
**示例:**
```
js
store
.
emit
(
storeObserver
);
```
## ResultSet
## ResultSet
提供通过查询数据库生成的数据库结果集的访问方法。结果集是指用户调用关系型数据库查询接口之后返回的结果集合,提供了多种灵活的数据访问方式,以便用户获取各项数据。
提供通过查询数据库生成的数据库结果集的访问方法。结果集是指用户调用关系型数据库查询接口之后返回的结果集合,提供了多种灵活的数据访问方式,以便用户获取各项数据。
...
...
zh-cn/application-dev/reference/errorcodes/errorcode-data-rdb.md
浏览文件 @
d7fedd6a
...
@@ -118,3 +118,57 @@ WAL文件大小超过默认上限(200M)。
...
@@ -118,3 +118,57 @@ WAL文件大小超过默认上限(200M)。
1.
检查结果集或者事务是否未关闭。
1.
检查结果集或者事务是否未关闭。
2.
关闭所有的结果集或者事务。
2.
关闭所有的结果集或者事务。
## 14801001 上下文环境非Stage模式
**错误信息**
Only supported in Stage mode.
**错误描述**
该操作仅支持Stage模式。
**可能原因**
当前上下文环境非Stage模式,比如FA模式。
**处理步骤**
1.
使用Stage模式。
## 14801002 storeConfig中传入的dataGroupId参数非法
**错误信息**
The dataGroupId not valid.
**错误描述**
使用非法dataGroupId参数。
**可能原因**
使用的dataGroupId不是从应用市场正常申请的。
**处理步骤**
1.
应用从应用市场申请dataGroupId,并正确传入该参数。
## 801 能力不支持
**错误信息**
Capability not supported.
**错误描述**
能力不支持。
**可能原因**
在跨平台上使用了某些不支持跨平台的接口。
**处理步骤**
1.
使用其他功能相同的接口。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录