Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
6bfd3ff4
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
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看板
未验证
提交
6bfd3ff4
编写于
8月 26, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 26, 2023
浏览文件
操作
浏览文件
下载
差异文件
!23106 monthly0815分支:同步22990和23009
Merge pull request !23106 from 葛亚芳/monthly_20230815
上级
7c255c9e
657a3743
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
976 addition
and
645 deletion
+976
-645
zh-cn/application-dev/database/data-persistence-by-preferences.md
...plication-dev/database/data-persistence-by-preferences.md
+15
-10
zh-cn/application-dev/database/data-sync-of-distributed-data-object.md
...tion-dev/database/data-sync-of-distributed-data-object.md
+70
-31
zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md
...tion-dev/reference/apis/js-apis-data-distributedobject.md
+181
-59
zh-cn/application-dev/reference/apis/js-apis-data-preferences.md
...pplication-dev/reference/apis/js-apis-data-preferences.md
+204
-132
zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
+58
-52
zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md
...cation-dev/reference/apis/js-apis-data-relationalStore.md
+448
-361
未找到文件。
zh-cn/application-dev/database/data-persistence-by-preferences.md
浏览文件 @
6bfd3ff4
...
...
@@ -58,11 +58,13 @@
```
js
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
;
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
dataPreferences
.
getPreferences
(
this
.
context
,
'
my
store
'
,
(
err
,
p
references
)
=>
{
dataPreferences
.
getPreferences
(
this
.
context
,
'
my
Store
'
,
(
err
:
BusinessError
,
preferences
:
dataPreferences
.
P
references
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get preferences. Code:
${
err
.
code
}
,message:
${
err
.
message
}
`
);
return
;
...
...
@@ -82,12 +84,13 @@
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
;
// 获取context
let
context
=
featureAbility
.
getContext
();
try
{
dataPreferences
.
getPreferences
(
context
,
'
mystore
'
,
(
err
,
p
references
)
=>
{
dataPreferences
.
getPreferences
(
this
.
context
,
'
myStore
'
,
(
err
:
BusinessError
,
preferences
:
dataPreferences
.
P
references
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get preferences. Code:
${
err
.
code
}
,message:
${
err
.
message
}
`
);
return
;
...
...
@@ -157,7 +160,7 @@
```
js
try
{
preferences
.
flush
((
err
)
=>
{
preferences
.
flush
((
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to flush. Code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
...
...
@@ -174,18 +177,20 @@
应用订阅数据变更需要指定observer作为回调方法。订阅的Key值发生变更后,当执行flush()方法时,observer被触发回调。示例代码如下所示:
```
js
let
observer
=
function
(
key
)
{
console
.
info
(
'
The key
'
+
key
+
'
changed.
'
);
interface
observer
{
key
:
string
}
preferences
.
on
(
'
change
'
,
observer
);
preferences
.
on
(
'
change
'
,
(
key
:
observer
)
=>
{
console
.
info
(
'
The key
'
+
key
+
'
changed.
'
);
});
// 数据产生变更,由'auto'变为'manual'
preferences
.
put
(
'
startup
'
,
'
manual
'
,
(
err
)
=>
{
preferences
.
put
(
'
startup
'
,
'
manual
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to put the value of 'startup'. Code:
${
err
.
code
}
,message:
${
err
.
message
}
`
);
return
;
}
console
.
info
(
"
Succeeded in putting the value of 'startup'.
"
);
preferences
.
flush
((
err
)
=>
{
preferences
.
flush
((
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to flush. Code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
...
...
@@ -210,7 +215,7 @@
```
js
try
{
dataPreferences
.
deletePreferences
(
this
.
context
,
'
my
store
'
,
(
err
,
val
)
=>
{
dataPreferences
.
deletePreferences
(
this
.
context
,
'
my
Store
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to delete preferences. Code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
...
...
zh-cn/application-dev/database/data-sync-of-distributed-data-object.md
浏览文件 @
6bfd3ff4
...
...
@@ -151,17 +151,26 @@
// 导入模块
import
distributedDataObject
from
'
@ohos.data.distributedDataObject
'
;
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
;
import
window
from
'
@ohos.window
'
;
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
parent
:
{
[
key
:
string
]:
string
},
list
:
{
[
key
:
string
]:
string
}[]
}
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object
let
localObject
=
distributedDataObject
.
create
(
this
.
context
,
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
let
source
:
sourceObject
=
{
name
:
'
jack
'
,
age
:
18
,
isVis
:
false
,
parent
:
{
mother
:
'
jack mom
'
,
father
:
'
jack Dad
'
},
list
:
[{
mother
:
'
jack mom
'
},
{
father
:
'
jack Dad
'
}]
});
}
let
localObject
:
distributedDataObject
.
DataObject
=
distributedDataObject
.
create
(
this
.
context
,
source
);
}
}
```
...
...
@@ -175,34 +184,43 @@
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
// 获取context
let
context
=
featureAbility
.
getContext
();
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object
let
localObject
=
distributedDataObject
.
create
(
context
,
{
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
parent
:
{
[
key
:
string
]:
string
},
list
:
{
[
key
:
string
]:
string
}[]
}
let
source
:
sourceObject
=
{
name
:
'
jack
'
,
age
:
18
,
isVis
:
false
,
parent
:
{
mother
:
'
jack mom
'
,
father
:
'
jack Dad
'
},
list
:
[{
mother
:
'
jack mom
'
},
{
father
:
'
jack Dad
'
}]
});
}
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object
let
localObject
:
distributedDataObject
.
DataObject
=
distributedDataObject
.
create
(
context
,
source
);
```
4.
加入同步组网。同步组网中的数据对象分为发起方和被拉起方。
```
js
// 设备1加入sessionId
let
sessionId
=
'
123456
'
;
let
sessionId
:
string
=
'
123456
'
;
localObject
.
setSessionId
(
sessionId
);
// 和设备1协同的设备2加入同一个session
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object
let
remote
Object
=
distributedDataObject
.
create
(
this
.
context
,
{
let
remote
Source
:
sourceObject
=
{
name
:
undefined
,
age
:
undefined
,
// undefined表示数据来自对端
isVis
:
true
,
parent
:
undefined
,
list
:
undefined
});
}
let
remoteObject
:
distributedDataObject
.
DataObject
=
distributedDataObject
.
create
(
this
.
context
,
remoteSource
);
// 收到status上线后remoteObject同步数据,即name变成jack,age是18
remoteObject
.
setSessionId
(
sessionId
);
```
...
...
@@ -210,18 +228,19 @@
5.
监听对象数据变更。可监听对端数据的变更,以callback作为变更回调实例。
```
js
function
changeCallback
(
sessionId
,
changeData
)
{
console
.
info
(
`change:
${
sessionId
}
`
);
if
(
changeData
!==
null
&&
changeData
!==
undefined
)
{
changeData
.
forEach
(
element
=>
{
console
.
info
(
`The element
${
localObject
[
element
]}
changed.`
);
});
}
interface
ChangeCallback
{
sessionId
:
string
,
fields
:
Array
<
string
>
}
// 发起方要在changeCallback里刷新界面,则需要将正确的this绑定给changeCallback
localObject
.
on
(
"
change
"
,
this
.
changeCallback
.
bind
(
this
));
localObject
.
on
(
"
change
"
,
(
changeData
:
ChangeCallback
)
=>
{
console
.
info
(
"
change
"
+
changeData
.
sessionId
);
if
(
changeData
.
fields
!=
null
&&
changeData
.
fields
!=
undefined
)
{
for
(
let
index
:
number
=
0
;
index
<
changeData
.
fields
.
length
;
index
++
)
{
console
.
info
(
`The element
${
localObject
[
changeData
.
fields
[
index
]]}
changed.`
);
}
}
});
```
6.
修改对象属性,对象属性支持基本类型(数字类型、布尔类型、字符串类型)以及复杂类型(数组、基本类型嵌套等)。
...
...
@@ -256,7 +275,14 @@
```
js
// 删除变更回调changeCallback
localObject
.
off
(
'
change
'
,
this
.
changeCallback
);
localObject
.
off
(
'
change
'
,(
changeData
:
ChangeCallback
)
=>
{
console
.
info
(
"
change
"
+
changeData
.
sessionId
);
if
(
changeData
.
fields
!=
null
&&
changeData
.
fields
!=
undefined
)
{
for
(
let
index
:
number
=
0
;
index
<
changeData
.
fields
.
length
;
index
++
)
{
console
.
info
(
"
changed !
"
+
changeData
.
fields
[
index
]
+
"
"
+
g_object
[
changeData
.
fields
[
index
]]);
}
}
});
// 删除所有的变更回调
localObject
.
off
(
'
change
'
);
```
...
...
@@ -264,27 +290,32 @@
9.
监听分布式数据对象的上下线。可以监听对端分布式数据对象的上下线。
```
js
function
statusCallback
(
sessionId
,
networkId
,
status
)
{
// 业务处理
interface
onStatusCallback
{
sessionId
:
string
,
networkId
:
string
,
status
:
'
online
'
|
'
offline
'
}
localObject
.
on
(
'
status
'
,
this
.
statusCallback
);
localObject
.
on
(
'
status
'
,
(
statusCallback
:
onStatusCallback
)
=>
{
console
.
info
(
"
status changed
"
+
statusCallback
.
sessionId
+
"
"
+
statusCallback
.
status
+
"
"
+
statusCallback
.
networkId
);
// 业务处理
});
```
10.
保存和撤回已保存的数据对象。
```
js
// 保存数据对象,如果应用退出后组网内设备需要恢复对象数据时调用
localObject
.
save
(
'
local
'
).
then
((
result
)
=>
{
localObject
.
save
(
"
local
"
).
then
((
result
:
distributedDataObject
.
SaveSuccessResponse
)
=>
{
console
.
info
(
`Succeeded in saving. SessionId:
${
result
.
sessionId
}
,version:
${
result
.
version
}
,deviceId:
${
result
.
deviceId
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Failed to save. Code:
${
err
.
code
}
,message:
${
err
.
message
}
`
);
});
// 撤回保存的数据对象
localObject
.
revokeSave
().
then
((
result
)
=>
{
localObject
.
revokeSave
().
then
((
result
:
distributedDataObject
.
RevokeSaveSuccessResponse
)
=>
{
console
.
info
(
`Succeeded in revokeSaving. Session:
${
result
.
sessionId
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Failed to revokeSave. Code:
${
err
.
code
}
,message:
${
err
.
message
}
`
);
});
```
...
...
@@ -292,8 +323,16 @@
11.
删除监听分布式数据对象的上下线。可以指定删除监听的上下线回调;也可以不指定,这将会删除该分布式数据对象的所有上下线回调。
```
js
interface
offStatusCallback
{
sessionId
:
string
,
deviceId
:
string
,
status
:
'
online
'
|
'
offline
'
}
// 删除上下线回调statusCallback
localObject
.
off
(
'
status
'
,
this
.
statusCallback
);
localObject
.
off
(
'
status
'
,
(
statusCallback
:
offStatusCallback
)
=>
{
console
.
info
(
"
status changed
"
+
statusCallback
.
sessionId
+
"
"
+
statusCallback
.
status
+
"
"
+
statusCallback
.
deviceId
);
// 业务处理
});
// 删除所有的上下线回调
localObject
.
off
(
'
status
'
);
```
...
...
@@ -302,7 +341,7 @@
```
js
localObject
.
setSessionId
(()
=>
{
console
.
info
(
'
leave all l
ession.
'
);
console
.
info
(
'
leave all s
ession.
'
);
});
```
...
...
zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md
浏览文件 @
6bfd3ff4
...
...
@@ -42,10 +42,20 @@ FA模型示例:
// 导入模块
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
;
// 获取context
let
context
=
featureAbility
.
getContext
();
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object
let
g_object
=
distributedObject
.
create
(
context
,
{
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
let
g_object
:
distributedObject
.
DataObject
=
distributedObject
.
create
(
context
,
source
);
```
Stage模型示例:
...
...
@@ -54,13 +64,23 @@ Stage模型示例:
// 导入模块
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
g_object
=
null
;
import
{
BusinessError
}
from
'
@ohos.base
'
;
import
window
from
'
@ohos.window
'
;
let
g_object
:
distributedObject
.
DataObject
=
null
;
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object
g_object
=
distributedObject
.
create
(
this
.
context
,
{
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
g_object
=
distributedObject
.
create
(
this
.
context
,
source
);
}
}
```
...
...
@@ -83,7 +103,7 @@ genSessionId(): string
```
js
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
let
sessionId
=
distributedObject
.
genSessionId
();
let
sessionId
:
string
=
distributedObject
.
genSessionId
();
```
## SaveSuccessResponse<sup>9+</sup>
...
...
@@ -179,7 +199,7 @@ g_object.setSessionId(distributedObject.genSessionId(), ()=>{
});
// 退出分布式组网
g_object
.
setSessionId
(()
=>
{
console
.
info
(
"
leave all
l
ession.
"
);
console
.
info
(
"
leave all
s
ession.
"
);
});
```
...
...
@@ -219,13 +239,13 @@ setSessionId(sessionId?: string): Promise<void>
// g_object加入分布式组网
g_object
.
setSessionId
(
distributedObject
.
genSessionId
()).
then
(()
=>
{
console
.
info
(
"
join session.
"
);
}).
catch
((
error
)
=>
{
}).
catch
((
error
:
BusinessError
)
=>
{
console
.
info
(
"
error:
"
+
error
.
code
+
error
.
message
);
});
// 退出分布式组网
g_object
.
setSessionId
().
then
(()
=>
{
console
.
info
(
"
leave all
l
ession.
"
);
}).
catch
((
error
)
=>
{
console
.
info
(
"
leave all
s
ession.
"
);
}).
catch
((
error
:
BusinessError
)
=>
{
console
.
info
(
"
error:
"
+
error
.
code
+
error
.
message
);
});
```
...
...
@@ -248,15 +268,18 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array<stri
**示例:**
```
js
globalThis
.
changeCallback
=
(
sessionId
,
changeData
)
=>
{
console
.
info
(
"
change
"
+
sessionId
);
if
(
changeData
!=
null
&&
changeData
!=
undefined
)
{
changeData
.
forEach
(
element
=>
{
console
.
info
(
"
changed !
"
+
element
+
"
"
+
g_object
[
element
]);
});
}
interface
ChangeCallback
{
sessionId
:
string
,
fields
:
Array
<
string
>
}
g_object
.
on
(
"
change
"
,
globalThis
.
changeCallback
);
g_object
.
on
(
"
change
"
,
(
changeData
:
ChangeCallback
)
=>
{
console
.
info
(
"
change
"
+
changeData
.
sessionId
);
if
(
changeData
.
fields
!=
null
&&
changeData
.
fields
!=
undefined
)
{
for
(
let
index
:
number
=
0
;
index
<
changeData
.
fields
.
length
;
index
++
)
{
console
.
info
(
"
changed !
"
+
changeData
.
fields
[
index
]
+
"
"
+
g_object
[
changeData
.
fields
[
index
]]);
}
}
});
```
### off('change')<sup>9+</sup>
...
...
@@ -279,7 +302,14 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<st
```
js
// 删除数据变更回调changeCallback
g_object
.
off
(
"
change
"
,
globalThis
.
changeCallback
);
g_object
.
off
(
"
change
"
,
(
changeData
:
ChangeCallback
)
=>
{
console
.
info
(
"
change
"
+
changeData
.
sessionId
);
if
(
changeData
.
fields
!=
null
&&
changeData
.
fields
!=
undefined
)
{
for
(
let
index
:
number
=
0
;
index
<
changeData
.
fields
.
length
;
index
++
)
{
console
.
info
(
"
changed !
"
+
changeData
.
fields
[
index
]
+
"
"
+
g_object
[
changeData
.
fields
[
index
]]);
}
}
});
// 删除所有的数据变更回调
g_object
.
off
(
"
change
"
);
```
...
...
@@ -302,10 +332,15 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st
**示例:**
```
js
globalThis
.
statusCallback
=
(
sessionId
,
networkId
,
status
)
=>
{
globalThis
.
response
+=
"
status changed
"
+
sessionId
+
"
"
+
status
+
"
"
+
networkId
;
interface
onStatusCallback
{
sessionId
:
string
,
networkId
:
string
,
status
:
'
online
'
|
'
offline
'
}
g_object
.
on
(
"
status
"
,
globalThis
.
statusCallback
);
g_object
.
on
(
"
status
"
,
(
statusCallback
:
onStatusCallback
)
=>
{
console
.
info
(
"
status changed
"
+
statusCallback
.
sessionId
+
"
"
+
statusCallback
.
status
+
"
"
+
statusCallback
.
networkId
);
});
```
### off('status')<sup>9+</sup>
...
...
@@ -327,11 +362,15 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s
**示例:**
```
js
globalThis
.
statusCallback
=
(
sessionId
,
networkId
,
status
)
=>
{
globalThis
.
response
+=
"
status changed
"
+
sessionId
+
"
"
+
status
+
"
"
+
networkId
;
interface
offStatusCallback
{
sessionId
:
string
,
networkId
:
string
,
status
:
'
online
'
|
'
offline
'
}
// 删除上下线回调changeCallback
g_object
.
off
(
"
status
"
,
globalThis
.
statusCallback
);
g_object
.
off
(
"
status
"
,
(
statusCallback
:
StatusCallback
)
=>
{
console
.
info
(
"
status changed
"
+
statusCallback
.
sessionId
+
"
"
+
statusCallback
.
status
+
"
"
+
statusCallback
.
networkId
);
});
// 删除所有的上下线回调
g_object
.
off
(
"
status
"
);
```
...
...
@@ -363,7 +402,7 @@ save(deviceId: string, callback: AsyncCallback<SaveSuccessResponse>): void
```
ts
g_object
.
setSessionId
(
"
123456
"
);
g_object
.
save
(
"
local
"
,
(
err
,
result
)
=>
{
g_object
.
save
(
"
local
"
,
(
err
:
BusinessError
,
result
:
distributedObject
.
SaveSuccessResponse
)
=>
{
if
(
err
)
{
console
.
info
(
"
save failed, error code =
"
+
err
.
code
);
console
.
info
(
"
save failed, error message:
"
+
err
.
message
);
...
...
@@ -408,12 +447,12 @@ save(deviceId: string): Promise<SaveSuccessResponse>
```
js
g_object
.
setSessionId
(
"
123456
"
);
g_object
.
save
(
"
local
"
).
then
((
result
)
=>
{
g_object
.
save
(
"
local
"
).
then
((
result
:
distributedObject
.
SaveSuccessResponse
)
=>
{
console
.
info
(
"
save callback
"
);
console
.
info
(
"
save sessionId
"
+
result
.
sessionId
);
console
.
info
(
"
save version
"
+
result
.
version
);
console
.
info
(
"
save deviceId
"
+
result
.
deviceId
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
info
(
"
save failed, error code =
"
+
err
.
code
);
console
.
info
(
"
save failed, error message:
"
+
err
.
message
);
});
...
...
@@ -441,7 +480,7 @@ revokeSave(callback: AsyncCallback<RevokeSaveSuccessResponse>): void
```
js
g_object
.
setSessionId
(
"
123456
"
);
// 持久化数据
g_object
.
save
(
"
local
"
,
(
err
,
result
)
=>
{
g_object
.
save
(
"
local
"
,
(
err
:
BusinessError
,
result
:
distributedObject
.
SaveSuccessResponse
)
=>
{
if
(
err
)
{
console
.
info
(
"
save failed, error code =
"
+
err
.
code
);
console
.
info
(
"
save failed, error message:
"
+
err
.
message
);
...
...
@@ -453,7 +492,7 @@ g_object.save("local", (err, result) => {
console
.
info
(
"
save deviceId:
"
+
result
.
deviceId
);
});
// 删除持久化保存的数据
g_object
.
revokeSave
((
err
,
result
)
=>
{
g_object
.
revokeSave
((
err
:
BusinessError
,
result
:
distributedObject
.
RevokeSaveSuccessResponse
)
=>
{
if
(
err
)
{
console
.
info
(
"
revokeSave failed, error code =
"
+
err
.
code
);
console
.
info
(
"
revokeSave failed, error message:
"
+
err
.
message
);
...
...
@@ -486,20 +525,20 @@ revokeSave(): Promise<RevokeSaveSuccessResponse>
```
ts
g_object
.
setSessionId
(
"
123456
"
);
// 持久化数据
g_object
.
save
(
"
local
"
).
then
((
result
)
=>
{
g_object
.
save
(
"
local
"
).
then
((
result
:
distributedObject
.
SaveSuccessResponse
)
=>
{
console
.
info
(
"
save callback
"
);
console
.
info
(
"
save sessionId
"
+
result
.
sessionId
);
console
.
info
(
"
save version
"
+
result
.
version
);
console
.
info
(
"
save deviceId
"
+
result
.
deviceId
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
info
(
"
save failed, error code =
"
+
err
.
code
);
console
.
info
(
"
save failed, error message:
"
+
err
.
message
);
});
// 删除持久化保存的数据
g_object
.
revokeSave
().
then
((
result
)
=>
{
g_object
.
revokeSave
().
then
((
result
:
distributedObject
.
RevokeSaveSuccessResponse
)
=>
{
console
.
info
(
"
revokeSave callback
"
);
console
.
info
(
"
sessionId
"
+
result
.
sessionId
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
info
(
"
revokeSave failed, error code =
"
+
err
.
code
);
console
.
info
(
"
revokeSave failed, error message =
"
+
err
.
message
);
});
...
...
@@ -534,8 +573,17 @@ createDistributedObject(source: object): DistributedObject
```
js
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
// 创建对象,对象包含4个属性类型,string,number,boolean和Object
let
g_object
=
distributedObject
.
createDistributedObject
({
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
let
g_object
:
distributedObject
.
DistributedObject
=
distributedObject
.
createDistributedObject
(
source
);
```
## DistributedObject<sup>(deprecated)</sup>
...
...
@@ -572,7 +620,17 @@ setSessionId(sessionId?: string): boolean
```
js
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
let
g_object
=
distributedObject
.
createDistributedObject
({
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});;
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
let
g_object
:
distributedObject
.
DistributedObject
=
distributedObject
.
createDistributedObject
(
source
);
// g_object加入分布式组网
g_object
.
setSessionId
(
distributedObject
.
genSessionId
());
// 设置为""退出分布式组网
...
...
@@ -602,16 +660,29 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array<stri
```
js
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
let
g_object
=
distributedObject
.
createDistributedObject
({
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});
globalThis
.
changeCallback
=
(
sessionId
,
changeData
)
=>
{
console
.
info
(
"
change
"
+
sessionId
);
if
(
changeData
!=
null
&&
changeData
!=
undefined
)
{
changeData
.
forEach
(
element
=>
{
console
.
info
(
"
changed !
"
+
element
+
"
"
+
g_object
[
element
]);
});
}
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
g_object
.
on
(
"
change
"
,
globalThis
.
changeCallback
);
interface
ChangeCallback
{
sessionId
:
string
,
fields
:
Array
<
string
>
}
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
let
g_object
:
distributedObject
.
DistributedObject
=
distributedObject
.
createDistributedObject
(
source
);
g_object
.
on
(
"
change
"
,
(
changeData
:
ChangeCallback
)
=>
{
console
.
info
(
"
change
"
+
changeData
.
sessionId
);
if
(
changeData
.
fields
!=
null
&&
changeData
.
fields
!=
undefined
)
{
for
(
let
index
:
number
=
0
;
index
<
changeData
.
fields
.
length
;
index
++
)
{
console
.
info
(
"
changed !
"
+
changeData
.
fields
[
index
]
+
"
"
+
g_object
[
changeData
.
fields
[
index
]]);
}
}
});
```
### off('change')<sup>(deprecated)</sup>
...
...
@@ -638,9 +709,30 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<st
```
js
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
let
g_object
=
distributedObject
.
createDistributedObject
({
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
interface
ChangeCallback
{
sessionId
:
string
,
fields
:
Array
<
string
>
}
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
let
g_object
:
distributedObject
.
DistributedObject
=
distributedObject
.
createDistributedObject
(
source
);
// 删除数据变更回调changeCallback
g_object
.
off
(
"
change
"
,
globalThis
.
changeCallback
);
g_object
.
off
(
"
change
"
,
(
changeData
:
ChangeCallback
)
=>
{
console
.
info
(
"
change
"
+
changeData
.
sessionId
);
if
(
changeData
.
fields
!=
null
&&
changeData
.
fields
!=
undefined
)
{
for
(
let
index
:
number
=
0
;
index
<
changeData
.
fields
.
length
;
index
++
)
{
console
.
info
(
"
changed !
"
+
changeData
.
fields
[
index
]
+
"
"
+
g_object
[
changeData
.
fields
[
index
]]);
}
}
});
// 删除所有的数据变更回调
g_object
.
off
(
"
change
"
);
```
...
...
@@ -668,11 +760,27 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st
```
js
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
globalThis
.
statusCallback
=
(
sessionId
,
networkId
,
status
)
=>
{
globalThis
.
response
+=
"
status changed
"
+
sessionId
+
"
"
+
status
+
"
"
+
networkId
;
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
interface
StatusCallback
{
sessionId
:
string
,
networkId
:
string
,
status
:
'
online
'
|
'
offline
'
}
let
g_object
=
distributedObject
.
createDistributedObject
({
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});
g_object
.
on
(
"
status
"
,
globalThis
.
statusCallback
);
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
let
g_object
:
distributedObject
.
DistributedObject
=
distributedObject
.
createDistributedObject
(
source
);
g_object
.
on
(
"
status
"
,
(
statusCallback
:
StatusCallback
)
=>
{
console
.
info
(
"
status changed
"
+
statusCallback
.
sessionId
+
"
"
+
statusCallback
.
status
+
"
"
+
statusCallback
.
networkId
);
});
```
### off('status')<sup>(deprecated)</sup>
...
...
@@ -699,12 +807,26 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s
```
js
import
distributedObject
from
'
@ohos.data.distributedDataObject
'
;
let
g_object
=
distributedObject
.
createDistributedObject
({
name
:
"
Amy
"
,
age
:
18
,
isVis
:
false
,
parent
:{
mother
:
"
jack mom
"
,
father
:
"
jack Dad
"
}});
globalThis
.
statusCallback
=
(
sessionId
,
networkId
,
status
)
=>
{
globalThis
.
response
+=
"
status changed
"
+
sessionId
+
"
"
+
status
+
"
"
+
networkId
;
interface
sourceObject
{
name
:
string
,
age
:
number
,
isVis
:
boolean
}
interface
offStatusCallback
{
sessionId
:
string
,
deviceId
:
string
,
status
:
'
online
'
|
'
offline
'
}
let
source
:
sourceObject
=
{
name
:
"
amy
"
,
age
:
18
,
isVis
:
false
}
let
g_object
:
distributedObject
.
DistributedObject
=
distributedObject
.
createDistributedObject
(
source
);
// 删除上下线回调changeCallback
g_object
.
off
(
"
status
"
,
globalThis
.
statusCallback
);
g_object
.
off
(
"
status
"
,
(
statusCallback
:
offStatusCallback
)
=>
{
console
.
info
(
"
status changed
"
+
statusCallback
.
sessionId
+
"
"
+
statusCallback
.
status
+
"
"
+
statusCallback
.
deviceId
);
});
// 删除所有的上下线回调
g_object
.
off
(
"
status
"
);
```
zh-cn/application-dev/reference/apis/js-apis-data-preferences.md
浏览文件 @
6bfd3ff4
...
...
@@ -49,11 +49,13 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
;
let
context
=
featureAbility
.
getContext
();
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
try
{
data_preferences
.
getPreferences
(
context
,
'
my
store
'
,
function
(
err
,
val
)
{
data_preferences
.
getPreferences
(
context
,
'
my
Store
'
,
(
err
:
BusinessError
,
val
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -70,16 +72,18 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
;
import
window
from
'
@ohos.window
'
;
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
data_preferences
.
getPreferences
(
this
.
context
,
'
my
store
'
,
function
(
err
,
val
)
{
data_preferences
.
getPreferences
(
this
.
context
,
'
my
Store
'
,
(
err
:
BusinessError
,
val
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
}
preferences
=
val
;
console
.
info
(
"
Succeeded in getting preferences.
"
);
...
...
@@ -119,15 +123,17 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
try
{
let
promise
=
data_preferences
.
getPreferences
(
context
,
'
my
s
tore
'
);
promise
.
then
((
object
)
=>
{
let
promise
=
data_preferences
.
getPreferences
(
context
,
'
my
S
tore
'
);
promise
.
then
((
object
:
data_preferences
.
Preferences
)
=>
{
preferences
=
object
;
console
.
info
(
"
Succeeded in getting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -139,17 +145,19 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
let
promise
=
data_preferences
.
getPreferences
(
this
.
context
,
'
my
s
tore
'
);
promise
.
then
((
object
)
=>
{
let
promise
=
data_preferences
.
getPreferences
(
this
.
context
,
'
my
S
tore
'
);
promise
.
then
((
object
:
data_preferences
.
Preferences
)
=>
{
preferences
=
object
;
console
.
info
(
"
Succeeded in getting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -191,11 +199,14 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
try
{
data_preferences
.
getPreferences
(
context
,
{
name
:
'
mystore
'
},
function
(
err
,
val
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
data_preferences
.
getPreferences
(
context
,
options
,
(
err
:
BusinessError
,
val
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -213,13 +224,16 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
data_preferences
.
getPreferences
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
},
function
(
err
,
val
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
data_preferences
.
getPreferences
(
this
.
context
,
options
,
(
err
:
BusinessError
,
val
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -271,15 +285,17 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
try
{
let
promise
=
data_preferences
.
getPreferences
(
context
,
{
name
:
'
mystore
'
});
promise
.
then
((
object
)
=>
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
};
let
promise
=
data_preferences
.
getPreferences
(
context
,
options
);
promise
.
then
((
object
:
data_preferences
.
Preferences
)
=>
{
preferences
=
object
;
console
.
info
(
"
Succeeded in getting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -291,17 +307,20 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
let
preferences
=
null
;
let
preferences
:
data_preferences
.
Preferences
=
null
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
let
promise
=
data_preferences
.
getPreferences
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
});
promise
.
then
((
object
)
=>
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
let
promise
=
data_preferences
.
getPreferences
(
this
.
context
,
options
);
promise
.
then
((
object
:
data_preferences
.
Preferences
)
=>
{
preferences
=
object
;
console
.
info
(
"
Succeeded in getting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -311,7 +330,6 @@ class EntryAbility extends UIAbility {
}
```
## data_preferences.deletePreferences
deletePreferences(context: Context, name: string, callback: AsyncCallback
<
void
>
): void
...
...
@@ -345,10 +363,12 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
data_preferences
.
deletePreferences
(
context
,
'
my
store
'
,
function
(
err
)
{
data_preferences
.
deletePreferences
(
context
,
'
my
Store
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -364,11 +384,13 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
data_preferences
.
deletePreferences
(
this
.
context
,
'
my
store
'
,
function
(
err
)
{
data_preferences
.
deletePreferences
(
this
.
context
,
'
my
Store
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -420,13 +442,15 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
let
promise
=
data_preferences
.
deletePreferences
(
context
,
'
my
s
tore
'
);
let
promise
=
data_preferences
.
deletePreferences
(
context
,
'
my
S
tore
'
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in deleting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -438,14 +462,16 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
let
promise
=
data_preferences
.
deletePreferences
(
this
.
context
,
'
my
s
tore
'
);
let
promise
=
data_preferences
.
deletePreferences
(
this
.
context
,
'
my
S
tore
'
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in deleting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -490,10 +516,13 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
data_preferences
.
deletePreferences
(
context
,
{
name
:
'
mystore
'
},
function
(
err
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
};
data_preferences
.
deletePreferences
(
context
,
options
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -509,11 +538,14 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
data_preferences
.
deletePreferences
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
},
function
(
err
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
data_preferences
.
deletePreferences
(
this
.
context
,
options
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -568,13 +600,16 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
let
promise
=
data_preferences
.
deletePreferences
(
context
,
{
name
:
'
mystore
'
});
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
};
let
promise
=
data_preferences
.
deletePreferences
(
context
,
options
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in deleting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -586,14 +621,17 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
let
promise
=
data_preferences
.
deletePreferences
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
});
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
let
promise
=
data_preferences
.
deletePreferences
(
this
.
context
,
options
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in deleting preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to delete preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -631,9 +669,11 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
data_preferences
.
removePreferencesFromCache
(
context
,
'
my
store
'
,
function
(
err
)
{
data_preferences
.
removePreferencesFromCache
(
context
,
'
my
Store
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -649,11 +689,13 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
'
my
store
'
,
function
(
err
)
{
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
'
my
Store
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -699,12 +741,14 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
let
promise
=
data_preferences
.
removePreferencesFromCache
(
context
,
'
my
s
tore
'
);
let
promise
=
data_preferences
.
removePreferencesFromCache
(
context
,
'
my
S
tore
'
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in removing preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -716,14 +760,16 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
let
promise
=
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
'
my
s
tore
'
);
let
promise
=
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
'
my
S
tore
'
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in removing preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -761,7 +807,7 @@ FA模型示例:
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
let
context
=
featureAbility
.
getContext
();
try
{
data_preferences
.
removePreferencesFromCacheSync
(
context
,
'
my
s
tore
'
);
data_preferences
.
removePreferencesFromCacheSync
(
context
,
'
my
S
tore
'
);
}
catch
(
err
)
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
}
...
...
@@ -773,9 +819,9 @@ Stage模型示例:
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
data_preferences
.
removePreferencesFromCacheSync
(
this
.
context
,
'
my
s
tore
'
);
data_preferences
.
removePreferencesFromCacheSync
(
this
.
context
,
'
my
S
tore
'
);
}
catch
(
err
)
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
}
...
...
@@ -819,9 +865,11 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
data_preferences
.
removePreferencesFromCache
(
context
,
{
name
:
'
mystore
'
},
function
(
err
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
};
data_preferences
.
removePreferencesFromCache
(
context
,
options
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -837,11 +885,14 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
},
function
(
err
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
options
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -896,12 +947,14 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
let
context
=
featureAbility
.
getContext
();
try
{
let
promise
=
data_preferences
.
removePreferencesFromCache
(
context
,
{
name
:
'
mystore
'
});
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
};
let
promise
=
data_preferences
.
removePreferencesFromCache
(
context
,
options
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in removing preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -913,14 +966,17 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
{
BusinessError
}
from
'
@ohos.base
'
import
window
from
'
@ohos.window
'
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
try
{
let
promise
=
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
});
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
let
promise
=
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
options
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in removing preferences.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -968,7 +1024,7 @@ get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>):
```
js
try
{
preferences
.
get
(
'
startup
'
,
'
default
'
,
function
(
err
,
val
)
{
preferences
.
get
(
'
startup
'
,
'
default
'
,
(
err
:
BusinessError
,
val
:
data_preferences
.
ValueType
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get value of 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1007,9 +1063,9 @@ get(key: string, defValue: ValueType): Promise<ValueType>
```
js
try
{
let
promise
=
preferences
.
get
(
'
startup
'
,
'
default
'
);
promise
.
then
((
data
)
=>
{
promise
.
then
((
data
:
data_preferences
.
ValueType
)
=>
{
console
.
info
(
"
Succeeded in getting value of 'startup'. Data:
"
+
data
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to get value of 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -1042,7 +1098,7 @@ getSync(key: string, defValue: ValueType): ValueType
```
js
try
{
let
value
=
preferences
.
getSync
(
'
startup
'
,
'
default
'
);
let
value
:
data_preferences
.
ValueType
=
preferences
.
getSync
(
'
startup
'
,
'
default
'
);
console
.
info
(
"
Succeeded in getting value of 'startup'. Data:
"
+
value
);
}
catch
(
err
)
{
console
.
error
(
"
Failed to get value of 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
...
...
@@ -1067,14 +1123,14 @@ getAll(callback: AsyncCallback<Object>): void;
```
js
try
{
preferences
.
getAll
(
function
(
err
,
value
)
{
preferences
.
getAll
(
(
err
:
BusinessError
,
value
:
data_preferences
.
ValueType
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get all key-values. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
}
let
allKeys
=
Object
.
keys
(
value
);
console
.
info
(
"
getAll keys =
"
+
allKeys
);
console
.
info
(
"
getAll object =
"
+
JSON
.
stringify
(
value
));
let
allKeys
=
Object
.
keys
(
value
);
console
.
info
(
"
getAll keys =
"
+
allKeys
);
console
.
info
(
"
getAll object =
"
+
JSON
.
stringify
(
value
));
})
}
catch
(
err
)
{
console
.
error
(
"
Failed to get all key-values. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
...
...
@@ -1101,11 +1157,11 @@ getAll(): Promise<Object>
```
js
try
{
let
promise
=
preferences
.
getAll
();
promise
.
then
((
value
)
=>
{
promise
.
then
((
value
:
data_preferences
.
ValueType
)
=>
{
let
allKeys
=
Object
.
keys
(
value
);
console
.
info
(
'
getAll keys =
'
+
allKeys
);
console
.
info
(
"
getAll object =
"
+
JSON
.
stringify
(
value
));
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to get all key-values. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -1160,7 +1216,7 @@ put(key: string, value: ValueType, callback: AsyncCallback<void>): void
```
js
try
{
preferences
.
put
(
'
startup
'
,
'
auto
'
,
function
(
err
)
{
preferences
.
put
(
'
startup
'
,
'
auto
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to put value of 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1201,7 +1257,7 @@ try {
let
promise
=
preferences
.
put
(
'
startup
'
,
'
auto
'
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in putting value of 'startup'.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to put value of 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -1255,7 +1311,7 @@ has(key: string, callback: AsyncCallback<boolean>): void
```
js
try
{
preferences
.
has
(
'
startup
'
,
function
(
err
,
val
)
{
preferences
.
has
(
'
startup
'
,
(
err
:
BusinessError
,
val
:
boolean
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to check the key 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1265,7 +1321,7 @@ try {
}
else
{
console
.
info
(
"
The key 'startup' dose not contain.
"
);
}
})
})
}
catch
(
err
)
{
console
.
error
(
"
Failed to check the key 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
}
...
...
@@ -1297,15 +1353,15 @@ has(key: string): Promise<boolean>
```
js
try
{
let
promise
=
preferences
.
has
(
'
startup
'
);
promise
.
then
((
val
)
=>
{
promise
.
then
((
val
:
boolean
)
=>
{
if
(
val
)
{
console
.
info
(
"
The key 'startup' is contained.
"
);
}
else
{
console
.
info
(
"
The key 'startup' dose not contain.
"
);
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to check the key 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
})
}
catch
(
err
)
{
console
.
error
(
"
Failed to check the key 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
}
...
...
@@ -1336,7 +1392,7 @@ hasSync(key: string): boolean
```
js
try
{
let
isExist
=
preferences
.
hasSync
(
'
startup
'
);
let
isExist
:
boolean
=
preferences
.
hasSync
(
'
startup
'
);
if
(
isExist
)
{
console
.
info
(
"
The key 'startup' is contained.
"
);
}
else
{
...
...
@@ -1367,7 +1423,7 @@ delete(key: string, callback: AsyncCallback<void>): void
```
js
try
{
preferences
.
delete
(
'
startup
'
,
function
(
err
)
{
preferences
.
delete
(
'
startup
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to delete the key 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1407,7 +1463,7 @@ try {
let
promise
=
preferences
.
delete
(
'
startup
'
);
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in deleting the key 'startup'.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to delete the key 'startup'. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -1459,7 +1515,7 @@ flush(callback: AsyncCallback<void>): void
```
js
try
{
preferences
.
flush
(
function
(
err
)
{
preferences
.
flush
(
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to flush. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1493,7 +1549,7 @@ try {
let
promise
=
preferences
.
flush
();
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in flushing.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to flush. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -1520,7 +1576,7 @@ clear(callback: AsyncCallback<void>): void
```
js
try
{
preferences
.
clear
(
function
(
err
)
{
preferences
.
clear
(
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to clear. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1554,7 +1610,7 @@ try {
let
promise
=
preferences
.
clear
();
promise
.
then
(()
=>
{
console
.
info
(
"
Succeeded in clearing.
"
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
"
Failed to clear. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
})
}
catch
(
err
)
{
...
...
@@ -1600,29 +1656,31 @@ on(type: 'change', callback: Callback<{ key : string }>): void
**示例:**
```
js
interface
observer
{
key
:
string
}
try
{
data_preferences
.
getPreferences
(
this
.
context
,
'
my
store
'
,
function
(
err
,
preferences
)
{
data_preferences
.
getPreferences
(
this
.
context
,
'
my
Store
'
,
(
err
:
BusinessError
,
preferences
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences.
"
);
return
;
}
let
observer
=
function
(
key
)
{
preferences
.
on
(
'
change
'
,
(
key
:
observer
)
=>
{
console
.
info
(
"
The key
"
+
key
+
"
changed.
"
);
}
preferences
.
on
(
'
change
'
,
observer
);
preferences
.
put
(
'
startup
'
,
'
manual
'
,
function
(
err
)
{
});
preferences
.
put
(
'
startup
'
,
'
manual
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to put the value of 'startup'. Cause:
"
+
err
);
return
;
console
.
error
(
"
Failed to put the value of 'startup'. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in putting the value of 'startup'.
"
);
preferences
.
flush
(
function
(
err
)
{
if
(
err
)
{
console
.
error
(
"
Failed to flush. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in flushing.
"
);
preferences
.
flush
(
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to flush. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in flushing.
"
);
})
})
})
...
...
@@ -1659,24 +1717,26 @@ on(type: 'multiProcessChange', callback: Callback<{ key : string }>): void
**示例1:**
```
js
interface
observer
{
key
:
string
}
try
{
data_preferences
.
getPreferences
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
},
function
(
err
,
preferences
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
data_preferences
.
getPreferences
(
this
.
context
,
options
,
(
err
:
BusinessError
,
preferences
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences.
"
);
return
;
}
let
observer
=
function
(
key
)
{
preferences
.
on
(
'
multiProcessChange
'
,
(
key
:
observer
)
=>
{
console
.
info
(
"
The key
"
+
key
+
"
changed.
"
);
}
preferences
.
on
(
'
multiProcessChange
'
,
observer
);
preferences
.
put
(
'
startup
'
,
'
manual
'
,
function
(
err
)
{
});
preferences
.
put
(
'
startup
'
,
'
manual
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to put the value of 'startup'. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in putting the value of 'startup'.
"
);
preferences
.
flush
(
function
(
err
)
{
preferences
.
flush
((
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to flush. Cause:
"
+
err
);
return
;
...
...
@@ -1693,17 +1753,21 @@ try {
**示例2:**
```
js
interface
observer
{
key
:
string
}
try
{
data_preferences
.
getPreferences
(
this
.
context
,
{
name
:
'
mystore
'
},
function
(
err
,
val
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
};
data_preferences
.
getPreferences
(
this
.
context
,
options
,
(
err
:
BusinessError
,
val
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences.
"
);
return
;
}
preferences
=
val
;
let
observer
=
function
(
key
)
{
preferences
.
on
(
'
multiProcessChange
'
,
(
key
:
observer
)
=>
{
console
.
info
(
"
The key
"
+
key
+
"
changed.
"
);
try
{
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
{
name
:
'
mystore
'
},
function
(
err
)
{
data_preferences
.
removePreferencesFromCache
(
this
.
context
,
options
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to remove preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1716,7 +1780,7 @@ try {
}
try
{
data_preferences
.
getPreferences
(
this
.
context
,
{
name
:
'
mystore
'
},
function
(
err
,
val
)
{
data_preferences
.
getPreferences
(
this
.
context
,
options
,
(
err
:
BusinessError
,
val
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
return
;
...
...
@@ -1727,16 +1791,15 @@ try {
}
catch
(
err
)
{
console
.
error
(
"
Failed to get preferences. code =
"
+
err
.
code
+
"
, message =
"
+
err
.
message
);
}
}
preferences
.
on
(
'
multiProcessChange
'
,
observer
);
preferences
.
put
(
'
startup
'
,
'
manual
'
,
function
(
err
)
{
});
preferences
.
put
(
'
startup
'
,
'
manual
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to put the value of 'startup'. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in putting the value of 'startup'.
"
);
preferences
.
flush
(
function
(
err
)
{
preferences
.
flush
(
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to flush. Cause:
"
+
err
);
return
;
...
...
@@ -1768,31 +1831,35 @@ off(type: 'change', callback?: Callback<{ key : string }>): void
**示例:**
```
js
interface
observer
{
key
:
string
}
try
{
data_preferences
.
getPreferences
(
this
.
context
,
'
my
store
'
,
function
(
err
,
preferences
)
{
data_preferences
.
getPreferences
(
this
.
context
,
'
my
Store
'
,
(
err
:
BusinessError
,
val
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences.
"
);
return
;
}
let
observer
=
function
(
key
)
{
preferences
.
on
(
'
change
'
,
(
key
:
observer
)
=>
{
console
.
info
(
"
The key
"
+
key
+
"
changed.
"
);
}
preferences
.
on
(
'
change
'
,
observer
);
preferences
.
put
(
'
startup
'
,
'
auto
'
,
function
(
err
)
{
});
preferences
.
put
(
'
startup
'
,
'
auto
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to put the value of 'startup'. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in putting the value of 'startup'.
"
);
preferences
.
flush
(
function
(
err
)
{
preferences
.
flush
(
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to flush. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in flushing.
"
);
})
preferences
.
off
(
'
change
'
,
observer
);
preferences
.
off
(
'
change
'
,
(
key
:
observer
)
=>
{
console
.
info
(
"
The key
"
+
key
+
"
changed.
"
);
});
})
})
}
catch
(
err
)
{
...
...
@@ -1818,31 +1885,36 @@ off(type: 'multiProcessChange', callback?: Callback<{ key : string }>): vo
**示例:**
```
js
interface
observer
{
key
:
string
}
try
{
data_preferences
.
getPreferences
(
this
.
context
,
{
name
:
'
mystore
'
,
dataGroupId
:
'
myId
'
},
function
(
err
,
preferences
)
{
let
options
:
data_preferences
.
Options
=
{
name
:
'
myStore
'
,
dataGroupId
:
'
myId
'
};
data_preferences
.
getPreferences
(
this
.
context
,
options
,
(
err
:
BusinessError
,
preferences
:
data_preferences
.
Preferences
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to get preferences.
"
);
return
;
}
let
observer
=
function
(
key
)
{
preferences
.
on
(
'
multiProcessChange
'
,
(
key
:
observer
)
=>
{
console
.
info
(
"
The key
"
+
key
+
"
changed.
"
);
}
preferences
.
on
(
'
multiProcessChange
'
,
observer
);
preferences
.
put
(
'
startup
'
,
'
auto
'
,
function
(
err
)
{
});
preferences
.
put
(
'
startup
'
,
'
auto
'
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to put the value of 'startup'. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in putting the value of 'startup'.
"
);
preferences
.
flush
(
function
(
err
)
{
preferences
.
flush
(
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
"
Failed to flush. Cause:
"
+
err
);
return
;
}
console
.
info
(
"
Succeeded in flushing.
"
);
})
preferences
.
off
(
'
multiProcessChange
'
,
observer
);
preferences
.
off
(
'
multiProcessChange
'
,
(
key
:
observer
)
=>
{
console
.
info
(
"
The key
"
+
key
+
"
changed.
"
);
});
})
})
}
catch
(
err
)
{
...
...
zh-cn/application-dev/reference/apis/js-apis-data-rdb.md
浏览文件 @
6bfd3ff4
...
...
@@ -18,6 +18,8 @@
```
js
import
data_rdb
from
'
@ohos.data.rdb
'
;
import
{
BusinessError
}
from
"
@ohos.base
"
import
window
from
'
@ohos.window
'
;
```
## data_rdb.getRdbStore
...
...
@@ -43,11 +45,11 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
let
context
=
featureAbility
.
getContext
()
let
context
:
Context
;
// 获取context后调用getRdbStore
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
}
data_rdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
,
function
(
err
,
rdbStore
)
{
data_rdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
,
(
err
,
rdbStore
)
=>
{
if
(
err
)
{
console
.
info
(
"
Get RdbStore failed, err:
"
+
err
)
return
...
...
@@ -62,22 +64,23 @@ Stage模型示例:
// 获取context
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
context
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
context
=
this
.
context
}
let
context
:
Context
;
interface
storeConfig
{
name
:
string
}
// 获取context后调用getRdbStore
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
}
data_rdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
,
function
(
err
,
rdbStore
)
{
if
(
err
)
{
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
){
let
STORE_CONFIG
:
storeConfig
=
{
name
:
"
RdbTest.db
"
};
data_rdb
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
,
1
,
(
err
:
BusinessError
,
rdbStore
:
data_rdb
.
RdbStore
)
=>
{
if
(
err
)
{
console
.
info
(
"
Get RdbStore failed, err:
"
+
err
)
return
}
console
.
log
(
"
Get RdbStore successfully.
"
)
})
}
console
.
log
(
"
Get RdbStore successfully.
"
)
})
}
}
```
## data_rdb.getRdbStore
...
...
@@ -109,7 +112,7 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
let
context
=
featureAbility
.
getContext
()
let
context
:
Context
;
// 获取context后调用getRdbStore
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
}
...
...
@@ -127,20 +130,23 @@ Stage模型示例:
// 获取context
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
context
;
let
context
:
Context
;
interface
storeConfig
{
name
:
string
}
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
w
indowStage
){
context
=
this
.
context
}
onWindowStageCreate
(
windowStage
:
window
.
W
indowStage
){
context
=
this
.
context
}
}
// 获取context后调用getRdbStore
const
STORE_CONFIG
=
{
name
:
"
RdbTest.db
"
}
let
STORE_CONFIG
:
storeConfig
=
{
name
:
"
RdbTest.db
"
};
let
promise
=
data_rdb
.
getRdbStore
(
context
,
STORE_CONFIG
,
1
);
promise
.
then
(
async
(
rdbStore
)
=>
{
console
.
log
(
"
Get RdbStore successfully.
"
)
}).
catch
((
err
)
=>
{
console
.
log
(
"
Get RdbStore failed, err:
"
+
err
)
promise
.
then
(
async
(
rdbStore
:
data_rdb
.
RdbStore
)
=>
{
console
.
log
(
"
Get RdbStore successfully.
"
)
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
log
(
"
Get RdbStore failed, err:
"
+
err
)
})
```
...
...
@@ -167,15 +173,15 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
let
context
=
featureAbility
.
getContext
()
let
context
:
Context
;
// 获取context后调用deleteRdbStore
data_rdb
.
deleteRdbStore
(
context
,
"
RdbTest.db
"
,
function
(
err
)
{
if
(
err
)
{
console
.
info
(
"
Delete RdbStore failed, err:
"
+
err
)
return
}
console
.
log
(
"
Delete RdbStore successfully.
"
)
data_rdb
.
deleteRdbStore
(
context
,
"
RdbTest.db
"
,
(
err
)
=>
{
if
(
err
)
{
console
.
info
(
"
Delete RdbStore failed, err:
"
+
err
)
return
}
console
.
log
(
"
Delete RdbStore successfully.
"
)
})
```
...
...
@@ -185,20 +191,20 @@ Stage模型示例:
// 获取context
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
context
;
let
context
:
Context
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
w
indowStage
){
context
=
this
.
context
}
onWindowStageCreate
(
windowStage
:
window
.
W
indowStage
){
context
=
this
.
context
}
}
// 获取context后调用deleteRdbStore
data_rdb
.
deleteRdbStore
(
context
,
"
RdbTest.db
"
,
function
(
err
)
{
if
(
err
)
{
console
.
info
(
"
Delete RdbStore failed, err:
"
+
err
)
return
}
console
.
log
(
"
Delete RdbStore successfully.
"
)
data_rdb
.
deleteRdbStore
(
context
,
"
RdbTest.db
"
,
(
err
)
=>
{
if
(
err
)
{
console
.
info
(
"
Delete RdbStore failed, err:
"
+
err
)
return
}
console
.
log
(
"
Delete RdbStore successfully.
"
)
})
```
...
...
@@ -230,7 +236,7 @@ FA模型示例:
```
js
// 获取context
import
featureAbility
from
'
@ohos.ability.featureAbility
'
let
context
=
featureAbility
.
getContext
()
let
context
:
Context
;
// 获取context后调用deleteRdbStore
let
promise
=
data_rdb
.
deleteRdbStore
(
context
,
"
RdbTest.db
"
)
...
...
@@ -247,19 +253,19 @@ Stage模型示例:
// 获取context
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
context
;
let
context
:
Context
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
w
indowStage
){
context
=
this
.
context
}
onWindowStageCreate
(
windowStage
:
window
.
W
indowStage
){
context
=
this
.
context
}
}
// 获取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
)
console
.
log
(
"
Delete RdbStore successfully.
"
)
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
info
(
"
Delete RdbStore failed, err:
"
+
err
)
})
```
...
...
@@ -371,8 +377,8 @@ inDevices(devices: Array<string>): RdbPredicates
```
js
import
deviceManager
from
'
@ohos.distributedHardware.deviceManager
'
;
let
dmInstance
=
null
;
let
deviceIds
=
[];
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceIds
:
Array
<
string
>
=
[];
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
,
(
err
,
manager
)
=>
{
if
(
err
)
{
...
...
@@ -381,7 +387,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager)
}
dmInstance
=
manager
;
let
devices
=
dmInstance
.
getTrustedDeviceListSync
();
for
(
var
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
deviceIds
[
i
]
=
devices
[
i
].
deviceId
;
}
})
...
...
zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md
浏览文件 @
6bfd3ff4
...
...
@@ -16,6 +16,10 @@
```
js
import
relationalStore
from
'
@ohos.data.relationalStore
'
import
window
from
'
@ohos.window
'
;
import
deviceManager
from
'
@ohos.distributedHardware.deviceManager
'
;
import
{
ValuesBucket
}
from
'
@ohos.data.ValuesBucket
'
;
import
{
BusinessError
}
from
"
@ohos.base
"
```
## relationalStore.getRdbStore
...
...
@@ -54,17 +58,17 @@ FA模型示例:
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
// 获取context
let
context
=
featureAbility
.
getContext
();
const
STORE_CONFIG
=
{
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
getRdbStore
(
context
,
STORE_CONFIG
,
function
(
err
,
rdbStore
)
{
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
,
(
err
:
BusinessError
,
rdbStore
:
relationalStore
.
RdbStore
)
=>
{
store
=
rdbStore
;
if
(
err
)
{
console
.
error
(
`Get RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
...
...
@@ -80,14 +84,14 @@ Stage模型示例:
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
var
s
tore
;
const
STORE_CONFIG
=
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
let
store
:
relationalStore
.
RdbS
tore
;
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
,
function
(
err
,
rdbStore
)
{
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
,
(
err
:
BusinessError
,
rdbStore
:
relationalStore
.
RdbStore
)
=>
{
store
=
rdbStore
;
if
(
err
)
{
console
.
error
(
`Get RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
...
...
@@ -139,21 +143,21 @@ FA模型示例:
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
// 获取context
let
context
=
featureAbility
.
getContext
();
const
STORE_CONFIG
=
{
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
let
promise
=
relationalStore
.
getRdbStore
(
context
,
STORE_CONFIG
);
promise
.
then
(
async
(
rdbStore
)
=>
{
let
promise
=
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
);
promise
.
then
(
async
(
rdbStore
:
relationalStore
.
RdbStore
)
=>
{
store
=
rdbStore
;
console
.
info
(
`Get RdbStore successfully.`
)
;
}).
catch
((
err
)
=>
{
console
.
info
(
`Get RdbStore successfully.`
)
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Get RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -164,18 +168,18 @@ Stage模型示例:
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
var
s
tore
;
const
STORE_CONFIG
=
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
let
store
:
relationalStore
.
RdbS
tore
;
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
let
promise
=
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
);
promise
.
then
(
async
(
rdbStore
)
=>
{
promise
.
then
(
async
(
rdbStore
:
relationalStore
.
RdbStore
)
=>
{
store
=
rdbStore
;
console
.
info
(
`Get RdbStore successfully.`
)
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Get RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
}
...
...
@@ -216,12 +220,12 @@ FA模型示例:
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
// 获取context
let
context
=
featureAbility
.
getContext
()
relationalStore
.
deleteRdbStore
(
context
,
"
RdbTest.db
"
,
function
(
err
)
{
relationalStore
.
deleteRdbStore
(
this
.
context
,
"
RdbTest.db
"
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -236,11 +240,11 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
relationalStore
.
deleteRdbStore
(
this
.
context
,
"
RdbTest.db
"
,
function
(
err
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
){
relationalStore
.
deleteRdbStore
(
this
.
context
,
"
RdbTest.db
"
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -291,16 +295,16 @@ FA模型示例:
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
// 获取context
let
context
=
featureAbility
.
getContext
();
let
promise
=
relationalStore
.
deleteRdbStore
(
context
,
"
RdbTest.db
"
);
let
promise
=
relationalStore
.
deleteRdbStore
(
this
.
context
,
"
RdbTest.db
"
);
promise
.
then
(()
=>
{
store
=
null
;
console
.
info
(
`Delete RdbStore successfully.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -310,15 +314,15 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
){
let
promise
=
relationalStore
.
deleteRdbStore
(
this
.
context
,
"
RdbTest.db
"
);
promise
.
then
(()
=>
{
store
=
null
;
console
.
info
(
`Delete RdbStore successfully.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
}
...
...
@@ -361,16 +365,16 @@ FA模型示例:
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
// 获取context
let
context
=
featureAbility
.
getContext
()
const
STORE_CONFIG
=
{
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
deleteRdbStore
(
context
,
STORE_CONFIG
,
function
(
err
)
{
relationalStore
.
deleteRdbStore
(
this
.
context
,
STORE_CONFIG
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -385,15 +389,15 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
const
STORE_CONFIG
=
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
){
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
deleteRdbStore
(
this
.
context
,
STORE_CONFIG
,
function
(
err
)
{
relationalStore
.
deleteRdbStore
(
this
.
context
,
STORE_CONFIG
,
(
err
:
BusinessError
)
=>
{
if
(
err
)
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -446,20 +450,20 @@ FA模型示例:
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
// 获取context
let
context
=
featureAbility
.
getContext
();
const
STORE_CONFIG
=
{
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
let
promise
=
relationalStore
.
deleteRdbStore
(
context
,
STORE_CONFIG
);
let
promise
=
relationalStore
.
deleteRdbStore
(
this
.
context
,
STORE_CONFIG
);
promise
.
then
(()
=>
{
store
=
null
;
console
.
info
(
`Delete RdbStore successfully.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -469,11 +473,11 @@ Stage模型示例:
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
var
s
tore
;
let
store
:
relationalStore
.
RdbS
tore
;
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
){
const
STORE_CONFIG
=
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
){
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
...
...
@@ -481,7 +485,7 @@ class EntryAbility extends UIAbility {
promise
.
then
(()
=>
{
store
=
null
;
console
.
info
(
`Delete RdbStore successfully.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Delete RdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
}
...
...
@@ -583,7 +587,8 @@ class EntryAbility extends UIAbility {
| 键类型 | 值类型 |
| ------ | ----------------------- |
| string |
[
ValueType
](
#valuetype
)
|
| number | 主键的类型可以是number |
| string | 主键的类型可以是string。 |
## PRIKeyType<sup>10+</sup>
...
...
@@ -593,8 +598,7 @@ class EntryAbility extends UIAbility {
| 类型 | 说明 |
| ---------------- | ---------------------------------- |
| number | 主键的类型可以是number |
| string | 主键的类型可以是string。 |
| number
\|
string | 主键的类型可以是number或者string。 |
## UTCTime<sup>10+</sup>
...
...
@@ -820,13 +824,13 @@ inDevices(devices: Array<string>): RdbPredicates
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
let
dmInstance
=
null
;
let
deviceIds
=
[];
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceIds
:
Array
<
string
>
=
[];
try
{
dmInstance
=
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
);
let
devices
=
dmInstance
.
getAvailableDeviceListSync
();
for
(
var
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
deviceIds
[
i
]
=
devices
[
i
].
networkId
;
}
}
catch
(
err
)
{
...
...
@@ -1640,6 +1644,7 @@ predicates.notIn("NAME", ["Lisa", "Rose"]);
**示例:**
```
js
let
store
:
relationalStore
.
RdbStore
;
// 设置数据库版本
store
.
version
=
3
;
// 获取数据库版本
...
...
@@ -1674,13 +1679,21 @@ insert(table: string, values: ValuesBucket, callback: AsyncCallback<number>
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Lisa
"
,
"
AGE
"
:
18
,
"
SALARY
"
:
100.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Lisa
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
store
.
insert
(
"
EMPLOYEE
"
,
valueBucket
,
function
(
err
,
rowId
)
{
store
.
insert
(
"
EMPLOYEE
"
,
valueBucket
,
(
err
,
rowId
)
=>
{
if
(
err
)
{
console
.
error
(
`Insert is failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -1718,13 +1731,21 @@ insert(table: string, values: ValuesBucket, conflict: ConflictResolution, callb
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Lisa
"
,
"
AGE
"
:
18
,
"
SALARY
"
:
100.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Lisa
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
store
.
insert
(
"
EMPLOYEE
"
,
valueBucket
,
relationalStore
.
ConflictResolution
.
ON_CONFLICT_REPLACE
,
function
(
err
,
rowId
)
{
store
.
insert
(
"
EMPLOYEE
"
,
valueBucket
,
relationalStore
.
ConflictResolution
.
ON_CONFLICT_REPLACE
,
(
err
,
rowId
)
=>
{
if
(
err
)
{
console
.
error
(
`Insert is failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -1766,16 +1787,24 @@ insert(table: string, values: ValuesBucket):Promise<number>
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Lisa
"
,
"
AGE
"
:
18
,
"
SALARY
"
:
100.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Lisa
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
promise
=
store
.
insert
(
"
EMPLOYEE
"
,
valueBucket
);
promise
.
then
((
rowId
)
=>
{
promise
.
then
((
rowId
:
number
)
=>
{
console
.
info
(
`Insert is successful, rowId =
${
rowId
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Insert is failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -1814,16 +1843,24 @@ insert(table: string, values: ValuesBucket, conflict: ConflictResolution):Promi
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Lisa
"
,
"
AGE
"
:
18
,
"
SALARY
"
:
100.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Lisa
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
promise
=
store
.
insert
(
"
EMPLOYEE
"
,
valueBucket
,
relationalStore
.
ConflictResolution
.
ON_CONFLICT_REPLACE
);
promise
.
then
((
rowId
)
=>
{
promise
.
then
((
rowId
:
number
)
=>
{
console
.
info
(
`Insert is successful, rowId =
${
rowId
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Insert is failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -1856,27 +1893,43 @@ batchInsert(table: string, values: Array<ValuesBucket>, callback: AsyncCal
**示例:**
```
js
const
valueBucket1
=
{
"
NAME
"
:
"
Lisa
"
,
"
AGE
"
:
18
,
"
SALARY
"
:
100.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
])
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Lisa
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
let
value5
=
"
Jack
"
;
let
value6
=
19
;
let
value7
=
101.5
;
let
value8
=
new
Uint8Array
([
6
,
7
,
8
,
9
,
10
]);
let
value9
=
"
Tom
"
;
let
value10
=
20
;
let
value11
=
102.5
;
let
value12
=
new
Uint8Array
([
11
,
12
,
13
,
14
,
15
]);
const
valueBucket1
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
const
valueBucket2
=
{
"
NAME
"
:
"
Jack
"
,
"
AGE
"
:
19
,
"
SALARY
"
:
101.5
,
"
CODES
"
:
new
Uint8Array
([
6
,
7
,
8
,
9
,
10
])
const
valueBucket2
:
ValuesBucket
=
{
key1
:
value5
,
key2
:
value6
,
key3
:
value7
,
key4
:
value8
,
};
const
valueBucket3
=
{
"
NAME
"
:
"
Tom
"
,
"
AGE
"
:
2
0
,
"
SALARY
"
:
102.5
,
"
CODES
"
:
new
Uint8Array
([
11
,
12
,
13
,
14
,
15
])
const
valueBucket3
:
ValuesBucket
=
{
key1
:
value9
,
key2
:
value1
0
,
key3
:
value11
,
key4
:
value12
,
};
let
valueBuckets
=
new
Array
(
valueBucket1
,
valueBucket2
,
valueBucket3
);
store
.
batchInsert
(
"
EMPLOYEE
"
,
valueBuckets
,
function
(
err
,
insertNum
)
{
store
.
batchInsert
(
"
EMPLOYEE
"
,
valueBuckets
,
(
err
,
insertNum
)
=>
{
if
(
err
)
{
console
.
error
(
`batchInsert is failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -1918,30 +1971,46 @@ batchInsert(table: string, values: Array<ValuesBucket>):Promise<number&
**示例:**
```
js
const
valueBucket1
=
{
"
NAME
"
:
"
Lisa
"
,
"
AGE
"
:
18
,
"
SALARY
"
:
100.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
])
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Lisa
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
let
value5
=
"
Jack
"
;
let
value6
=
19
;
let
value7
=
101.5
;
let
value8
=
new
Uint8Array
([
6
,
7
,
8
,
9
,
10
]);
let
value9
=
"
Tom
"
;
let
value10
=
20
;
let
value11
=
102.5
;
let
value12
=
new
Uint8Array
([
11
,
12
,
13
,
14
,
15
]);
const
valueBucket1
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
const
valueBucket2
=
{
"
NAME
"
:
"
Jack
"
,
"
AGE
"
:
19
,
"
SALARY
"
:
101.5
,
"
CODES
"
:
new
Uint8Array
([
6
,
7
,
8
,
9
,
10
])
const
valueBucket2
:
ValuesBucket
=
{
key1
:
value5
,
key2
:
value6
,
key3
:
value7
,
key4
:
value8
,
};
const
valueBucket3
=
{
"
NAME
"
:
"
Tom
"
,
"
AGE
"
:
2
0
,
"
SALARY
"
:
102.5
,
"
CODES
"
:
new
Uint8Array
([
11
,
12
,
13
,
14
,
15
])
const
valueBucket3
:
ValuesBucket
=
{
key1
:
value9
,
key2
:
value1
0
,
key3
:
value11
,
key4
:
value12
,
};
let
valueBuckets
=
new
Array
(
valueBucket1
,
valueBucket2
,
valueBucket3
);
let
promise
=
store
.
batchInsert
(
"
EMPLOYEE
"
,
valueBuckets
);
promise
.
then
((
insertNum
)
=>
{
promise
.
then
((
insertNum
:
number
)
=>
{
console
.
info
(
`batchInsert is successful, the number of values that were inserted =
${
insertNum
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`batchInsert is failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -1974,11 +2043,19 @@ update(values: ValuesBucket, predicates: RdbPredicates, callback: AsyncCallback&
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Rose
"
,
"
AGE
"
:
22
,
"
SALARY
"
:
200.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Rose
"
;
let
value2
=
22
;
let
value3
=
200.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
...
...
@@ -2020,15 +2097,23 @@ update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolu
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Rose
"
,
"
AGE
"
:
22
,
"
SALARY
"
:
200.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Rose
"
;
let
value2
=
22
;
let
value3
=
200.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
store
.
update
(
valueBucket
,
predicates
,
relationalStore
.
ConflictResolution
.
ON_CONFLICT_REPLACE
,
function
(
err
,
rows
)
{
store
.
update
(
valueBucket
,
predicates
,
relationalStore
.
ConflictResolution
.
ON_CONFLICT_REPLACE
,
(
err
,
rows
)
=>
{
if
(
err
)
{
console
.
error
(
`Updated failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2070,18 +2155,26 @@ update(values: ValuesBucket, predicates: RdbPredicates):Promise<number>
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Rose
"
,
"
AGE
"
:
22
,
"
SALARY
"
:
200.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Rose
"
;
let
value2
=
22
;
let
value3
=
200.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
let
promise
=
store
.
update
(
valueBucket
,
predicates
);
promise
.
then
(
async
(
rows
)
=>
{
promise
.
then
(
async
(
rows
:
Number
)
=>
{
console
.
info
(
`Updated row count:
${
rows
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Updated failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2120,18 +2213,26 @@ update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolu
**示例:**
```
js
const
valueBucket
=
{
"
NAME
"
:
"
Rose
"
,
"
AGE
"
:
22
,
"
SALARY
"
:
200.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Rose
"
;
let
value2
=
22
;
let
value3
=
200.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
let
promise
=
store
.
update
(
valueBucket
,
predicates
,
relationalStore
.
ConflictResolution
.
ON_CONFLICT_REPLACE
);
promise
.
then
(
async
(
rows
)
=>
{
promise
.
then
(
async
(
rows
:
Number
)
=>
{
console
.
info
(
`Updated row count:
${
rows
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Updated failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2170,15 +2271,23 @@ update(table: string, values: ValuesBucket, predicates: dataSharePredicates.Data
```
js
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
const
valueBucket
=
{
"
NAME
"
:
"
Rose
"
,
"
AGE
"
:
22
,
"
SALARY
"
:
200.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Rose
"
;
let
value2
=
22
;
let
value3
=
200.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
store
.
update
(
"
EMPLOYEE
"
,
valueBucket
,
predicates
,
function
(
err
,
rows
)
{
store
.
update
(
"
EMPLOYEE
"
,
valueBucket
,
predicates
,
(
err
,
rows
)
=>
{
if
(
err
)
{
console
.
error
(
`Updated failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2226,18 +2335,26 @@ update(table: string, values: ValuesBucket, predicates: dataSharePredicates.Data
```
js
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
const
valueBucket
=
{
"
NAME
"
:
"
Rose
"
,
"
AGE
"
:
22
,
"
SALARY
"
:
200.5
,
"
CODES
"
:
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]),
let
key1
=
"
NAME
"
;
let
key2
=
"
AGE
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
CODES
"
;
let
value1
=
"
Rose
"
;
let
value2
=
22
;
let
value3
=
200.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
,
4
,
5
]);
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
let
promise
=
store
.
update
(
"
EMPLOYEE
"
,
valueBucket
,
predicates
);
promise
.
then
(
async
(
rows
)
=>
{
promise
.
then
(
async
(
rows
:
Number
)
=>
{
console
.
info
(
`Updated row count:
${
rows
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Updated failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2271,7 +2388,7 @@ delete(predicates: RdbPredicates, callback: AsyncCallback<number>):void
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
store
.
delete
(
predicates
,
function
(
err
,
rows
)
{
store
.
delete
(
predicates
,
(
err
,
rows
)
=>
{
if
(
err
)
{
console
.
error
(
`Delete failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2315,9 +2432,9 @@ delete(predicates: RdbPredicates):Promise<number>
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
let
promise
=
store
.
delete
(
predicates
);
promise
.
then
((
rows
)
=>
{
promise
.
then
((
rows
:
Number
)
=>
{
console
.
info
(
`Delete rows:
${
rows
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Delete failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2357,7 +2474,7 @@ delete(table: string, predicates: dataSharePredicates.DataSharePredicates, callb
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
store
.
delete
(
"
EMPLOYEE
"
,
predicates
,
function
(
err
,
rows
)
{
store
.
delete
(
"
EMPLOYEE
"
,
predicates
,
(
err
,
rows
)
=>
{
if
(
err
)
{
console
.
error
(
`Delete failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2407,9 +2524,9 @@ import dataSharePredicates from '@ohos.data.dataSharePredicates'
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
predicates
.
equalTo
(
"
NAME
"
,
"
Lisa
"
);
let
promise
=
store
.
delete
(
"
EMPLOYEE
"
,
predicates
);
promise
.
then
((
rows
)
=>
{
promise
.
then
((
rows
:
Number
)
=>
{
console
.
info
(
`Delete rows:
${
rows
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Delete failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2442,7 +2559,7 @@ query(predicates: RdbPredicates, callback: AsyncCallback<ResultSet>):void
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
);
store
.
query
(
predicates
,
function
(
err
,
resultSet
)
{
store
.
query
(
predicates
,
(
err
,
resultSet
)
=>
{
if
(
err
)
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2490,7 +2607,7 @@ query(predicates: RdbPredicates, columns: Array<string>, callback: AsyncCa
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
);
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
],
function
(
err
,
resultSet
)
{
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
],
(
err
,
resultSet
)
=>
{
if
(
err
)
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2544,7 +2661,7 @@ query(predicates: RdbPredicates, columns?: Array<string>):Promise<Resul
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
promise
.
then
((
resultSet
:
relationalStore
.
ResultSet
)
=>
{
console
.
info
(
`ResultSet column names:
${
resultSet
.
columnNames
}
, column count:
${
resultSet
.
columnCount
}
`
);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while
(
resultSet
.
goToNextRow
())
{
...
...
@@ -2556,7 +2673,7 @@ promise.then((resultSet) => {
}
// 释放数据集的内存
resultSet
.
close
();
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2595,7 +2712,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, callba
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
);
store
.
query
(
"
EMPLOYEE
"
,
predicates
,
function
(
err
,
resultSet
)
{
store
.
query
(
"
EMPLOYEE
"
,
predicates
,
(
err
,
resultSet
)
=>
{
if
(
err
)
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2649,7 +2766,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
);
store
.
query
(
"
EMPLOYEE
"
,
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
],
function
(
err
,
resultSet
)
{
store
.
query
(
"
EMPLOYEE
"
,
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
],
(
err
,
resultSet
)
=>
{
if
(
err
)
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2709,7 +2826,7 @@ import dataSharePredicates from '@ohos.data.dataSharePredicates'
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
predicates
.
equalTo
(
"
NAME
"
,
"
Rose
"
);
let
promise
=
store
.
query
(
"
EMPLOYEE
"
,
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
promise
.
then
((
resultSet
:
relationalStore
.
ResultSet
)
=>
{
console
.
info
(
`ResultSet column names:
${
resultSet
.
columnNames
}
, column count:
${
resultSet
.
columnCount
}
`
);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while
(
resultSet
.
goToNextRow
())
{
...
...
@@ -2721,7 +2838,7 @@ promise.then((resultSet) => {
}
// 释放数据集的内存
resultSet
.
close
();
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2760,8 +2877,8 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
let
dmInstance
=
null
;
let
deviceId
=
null
;
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceId
:
string
=
null
;
try
{
dmInstance
=
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
);
...
...
@@ -2773,25 +2890,22 @@ try {
let
predicates
=
new
relationalStore
.
RdbPredicates
(
'
EMPLOYEE
'
);
predicates
.
greaterThan
(
"
id
"
,
0
);
store
.
remoteQuery
(
deviceId
,
"
EMPLOYEE
"
,
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
],
function
(
err
,
resultSet
)
{
if
(
err
)
{
console
.
error
(
`Failed to remoteQuery, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
`ResultSet column names:
${
resultSet
.
columnNames
}
, column count:
${
resultSet
.
columnCount
}
`
);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while
(
resultSet
.
goToNextRow
())
{
const
id
=
resultSet
.
getLong
(
resultSet
.
getColumnIndex
(
"
ID
"
));
const
name
=
resultSet
.
getString
(
resultSet
.
getColumnIndex
(
"
NAME
"
));
const
age
=
resultSet
.
getLong
(
resultSet
.
getColumnIndex
(
"
AGE
"
));
const
salary
=
resultSet
.
getDouble
(
resultSet
.
getColumnIndex
(
"
SALARY
"
));
console
.
info
(
`id=
${
id
}
, name=
${
name
}
, age=
${
age
}
, salary=
${
salary
}
`
);
}
// 释放数据集的内存
resultSet
.
close
();
let
promise
=
store
.
remoteQuery
(
deviceId
,
"
EMPLOYEE
"
,
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
:
relationalStore
.
ResultSet
)
=>
{
console
.
info
(
`ResultSet column names:
${
resultSet
.
columnNames
}
, column count:
${
resultSet
.
columnCount
}
`
);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while
(
resultSet
.
goToNextRow
())
{
const
id
=
resultSet
.
getLong
(
resultSet
.
getColumnIndex
(
"
ID
"
));
const
name
=
resultSet
.
getString
(
resultSet
.
getColumnIndex
(
"
NAME
"
));
const
age
=
resultSet
.
getLong
(
resultSet
.
getColumnIndex
(
"
AGE
"
));
const
salary
=
resultSet
.
getDouble
(
resultSet
.
getColumnIndex
(
"
SALARY
"
));
console
.
info
(
`id=
${
id
}
, name=
${
name
}
, age=
${
age
}
, salary=
${
salary
}
`
);
}
)
// 释放数据集的内存
resultSet
.
close
();
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Failed to remoteQuery, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
### remoteQuery
...
...
@@ -2833,8 +2947,8 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
let
dmInstance
=
null
;
let
deviceId
=
null
;
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceId
:
string
=
null
;
try
{
dmInstance
=
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
);
...
...
@@ -2847,7 +2961,7 @@ try {
let
predicates
=
new
relationalStore
.
RdbPredicates
(
'
EMPLOYEE
'
);
predicates
.
greaterThan
(
"
id
"
,
0
);
let
promise
=
store
.
remoteQuery
(
deviceId
,
"
EMPLOYEE
"
,
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
promise
.
then
((
resultSet
:
relationalStore
.
ResultSet
)
=>
{
console
.
info
(
`ResultSet column names:
${
resultSet
.
columnNames
}
, column count:
${
resultSet
.
columnCount
}
`
);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while
(
resultSet
.
goToNextRow
())
{
...
...
@@ -2859,7 +2973,7 @@ promise.then((resultSet) => {
}
// 释放数据集的内存
resultSet
.
close
();
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Failed to remoteQuery, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -2890,7 +3004,7 @@ querySql(sql: string, callback: AsyncCallback<ResultSet>):void
**示例:**
```
js
store
.
querySql
(
"
SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'
"
,
function
(
err
,
resultSet
)
{
store
.
querySql
(
"
SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'
"
,
(
err
,
resultSet
)
=>
{
if
(
err
)
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2936,7 +3050,7 @@ querySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback&
**示例:**
```
js
store
.
querySql
(
"
SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?
"
,
[
'
sanguo
'
],
function
(
err
,
resultSet
)
{
store
.
querySql
(
"
SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?
"
,
[
'
sanguo
'
],
(
err
,
resultSet
)
=>
{
if
(
err
)
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -2988,7 +3102,7 @@ querySql(sql: string, bindArgs?: Array<ValueType>):Promise<ResultSet>
```
js
let
promise
=
store
.
querySql
(
"
SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'
"
);
promise
.
then
((
resultSet
)
=>
{
promise
.
then
((
resultSet
:
relationalStore
.
ResultSet
)
=>
{
console
.
info
(
`ResultSet column names:
${
resultSet
.
columnNames
}
, column count:
${
resultSet
.
columnCount
}
`
);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while
(
resultSet
.
goToNextRow
())
{
...
...
@@ -3000,7 +3114,7 @@ promise.then((resultSet) => {
}
// 释放数据集的内存
resultSet
.
close
();
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3033,7 +3147,7 @@ executeSql(sql: string, callback: AsyncCallback<void>):void
```
js
const
SQL_DELETE_TABLE
=
"
DELETE FROM test WHERE name = 'zhangsan'
"
store
.
executeSql
(
SQL_DELETE_TABLE
,
function
(
err
)
{
store
.
executeSql
(
SQL_DELETE_TABLE
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`ExecuteSql failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3071,7 +3185,7 @@ executeSql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallbac
```
js
const
SQL_DELETE_TABLE
=
"
DELETE FROM test WHERE name = ?
"
store
.
executeSql
(
SQL_DELETE_TABLE
,
[
'
zhangsan
'
],
function
(
err
)
{
store
.
executeSql
(
SQL_DELETE_TABLE
,
[
'
zhangsan
'
],
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`ExecuteSql failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3116,9 +3230,9 @@ executeSql(sql: string, bindArgs?: Array<ValueType>):Promise<void>
const
SQL_DELETE_TABLE
=
"
DELETE FROM test WHERE name = 'zhangsan'
"
let
promise
=
store
.
executeSql
(
SQL_DELETE_TABLE
);
promise
.
then
(()
=>
{
console
.
info
(
`Delete table done.`
);
}).
catch
((
err
)
=>
{
console
.
error
(
`ExecuteSql failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
console
.
info
(
`Delete table done.`
);
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`ExecuteSql failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3151,12 +3265,12 @@ getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[], call
```
js
let
PRIKey
=
[
1
,
4
,
2
,
3
];
store
.
getModifyTime
(
"
cloud_tasks
"
,
"
uuid
"
,
PRIKey
,
function
(
err
,
modifyTime
)
{
if
(
err
)
{
console
.
error
(
`getModifyTime failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
let
size
=
modifyTime
.
size
()
;
store
.
getModifyTime
(
"
cloud_tasks
"
,
"
uuid
"
,
PRIKey
,
(
err
,
modifyTime
:
relationalStore
.
ModifyTime
)
=>
{
if
(
err
)
{
console
.
error
(
`getModifyTime failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
let
size
=
modifyTime
.
size
;
});
```
...
...
@@ -3194,10 +3308,10 @@ getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[]): Pro
```
js
let
PRIKey
=
[
1
,
2
,
3
];
store
.
getModifyTime
(
"
cloud_tasks
"
,
"
uuid
"
,
PRIKey
).
then
((
modifyTime
)
=>
{
let
size
=
modifyTime
.
size
()
;
}).
catch
((
err
)
=>
{
console
.
error
(
`getModifyTime failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
store
.
getModifyTime
(
"
cloud_tasks
"
,
"
uuid
"
,
PRIKey
).
then
((
modifyTime
:
relationalStore
.
ModifyTime
)
=>
{
let
size
=
modifyTime
.
size
;
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`getModifyTime failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
...
...
@@ -3223,21 +3337,29 @@ beginTransaction():void
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
let
context
=
featureAbility
.
getContext
();
const
STORE_CONFIG
=
{
let
key1
=
"
name
"
;
let
key2
=
"
age
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
blobType
"
;
let
value1
=
"
Lisi
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
]);
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
getRdbStore
(
context
,
STORE_CONFIG
,
async
function
(
err
,
store
)
{
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
,
async
(
err
,
store
)
=>
{
if
(
err
)
{
console
.
error
(
`GetRdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
store
.
beginTransaction
();
const
valueBucket
=
{
"
name
"
:
"
lisi
"
,
"
age
"
:
18
,
"
salary
"
:
100.5
,
"
blobType
"
:
new
Uint8Array
([
1
,
2
,
3
])
,
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
await
store
.
insert
(
"
test
"
,
valueBucket
);
store
.
commit
();
...
...
@@ -3257,21 +3379,29 @@ commit():void
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
let
context
=
featureAbility
.
getContext
();
const
STORE_CONFIG
=
{
let
key1
=
"
name
"
;
let
key2
=
"
age
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
blobType
"
;
let
value1
=
"
Lisi
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
]);
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
getRdbStore
(
context
,
STORE_CONFIG
,
async
function
(
err
,
store
)
{
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
,
async
(
err
,
store
)
=>
{
if
(
err
)
{
console
.
error
(
`GetRdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
store
.
beginTransaction
();
const
valueBucket
=
{
"
name
"
:
"
lisi
"
,
"
age
"
:
18
,
"
salary
"
:
100.5
,
"
blobType
"
:
new
Uint8Array
([
1
,
2
,
3
])
,
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
await
store
.
insert
(
"
test
"
,
valueBucket
);
store
.
commit
();
...
...
@@ -3291,24 +3421,31 @@ rollBack():void
```
js
import
featureAbility
from
'
@ohos.ability.featureAbility
'
let
context
=
featureAbility
.
getContext
();
const
STORE_CONFIG
=
{
let
key1
=
"
name
"
;
let
key2
=
"
age
"
;
let
key3
=
"
SALARY
"
;
let
key4
=
"
blobType
"
;
let
value1
=
"
Lisi
"
;
let
value2
=
18
;
let
value3
=
100.5
;
let
value4
=
new
Uint8Array
([
1
,
2
,
3
]);
const
STORE_CONFIG
:
relationalStore
.
StoreConfig
=
{
name
:
"
RdbTest.db
"
,
securityLevel
:
relationalStore
.
SecurityLevel
.
S1
};
relationalStore
.
getRdbStore
(
context
,
STORE_CONFIG
,
async
function
(
err
,
store
)
{
relationalStore
.
getRdbStore
(
this
.
context
,
STORE_CONFIG
,
async
(
err
,
store
)
=>
{
if
(
err
)
{
console
.
error
(
`GetRdbStore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
try
{
store
.
beginTransaction
()
const
valueBucket
=
{
"
id
"
:
1
,
"
name
"
:
"
lisi
"
,
"
age
"
:
18
,
"
salary
"
:
100.5
,
"
blobType
"
:
new
Uint8Array
([
1
,
2
,
3
]),
};
const
valueBucket
:
ValuesBucket
=
{
key1
:
value1
,
key2
:
value2
,
key3
:
value3
,
key4
:
value4
,
};
await
store
.
insert
(
"
test
"
,
valueBucket
);
store
.
commit
();
}
catch
(
err
)
{
...
...
@@ -3344,7 +3481,7 @@ backup(destName:string, callback: AsyncCallback<void>):void
**示例:**
```
js
store
.
backup
(
"
dbBackup.db
"
,
function
(
err
)
{
store
.
backup
(
"
dbBackup.db
"
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Backup failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3387,7 +3524,7 @@ backup(destName:string): Promise<void>
let
promiseBackup
=
store
.
backup
(
"
dbBackup.db
"
);
promiseBackup
.
then
(()
=>
{
console
.
info
(
`Backup success.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Backup failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3418,7 +3555,7 @@ restore(srcName:string, callback: AsyncCallback<void>):void
**示例:**
```
js
store
.
restore
(
"
dbBackup.db
"
,
function
(
err
)
{
store
.
restore
(
"
dbBackup.db
"
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Restore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3461,7 +3598,7 @@ restore(srcName:string): Promise<void>
let
promiseRestore
=
store
.
restore
(
"
dbBackup.db
"
);
promiseRestore
.
then
(()
=>
{
console
.
info
(
`Restore success.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Restore failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3494,7 +3631,7 @@ setDistributedTables(tables: Array<string>, callback: AsyncCallback<voi
**示例:**
```
js
store
.
setDistributedTables
([
"
EMPLOYEE
"
],
function
(
err
)
{
store
.
setDistributedTables
([
"
EMPLOYEE
"
],
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`SetDistributedTables failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3539,7 +3676,7 @@ store.setDistributedTables(["EMPLOYEE"], function (err) {
let
promise
=
store
.
setDistributedTables
([
"
EMPLOYEE
"
]);
promise
.
then
(()
=>
{
console
.
info
(
`SetDistributedTables successfully.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`SetDistributedTables failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3574,7 +3711,7 @@ setDistributedTables(tables: Array<string>, type: DistributedType, callbac
**示例:**
```
js
store
.
setDistributedTables
([
"
EMPLOYEE
"
],
relationalStore
.
DistributedType
.
DISTRIBUTED_CLOUD
,
function
(
err
)
{
store
.
setDistributedTables
([
"
EMPLOYEE
"
],
relationalStore
.
DistributedType
.
DISTRIBUTED_CLOUD
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`SetDistributedTables failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3618,7 +3755,7 @@ setDistributedTables(tables: Array<string>, type: DistributedType, config:
```
js
store
.
setDistributedTables
([
"
EMPLOYEE
"
],
relationalStore
.
DistributedType
.
DISTRIBUTED_CLOUD
,
{
autoSync
:
true
},
function
(
err
)
{
},
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`SetDistributedTables failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3668,7 +3805,7 @@ let promise = store.setDistributedTables(["EMPLOYEE"], relationalStore.Distribut
});
promise
.
then
(()
=>
{
console
.
info
(
`SetDistributedTables successfully.`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`SetDistributedTables failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3707,8 +3844,8 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
let
dmInstance
=
null
;
let
deviceId
=
null
;
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceId
:
string
=
null
;
try
{
dmInstance
=
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
);
...
...
@@ -3718,12 +3855,12 @@ try {
console
.
error
(
"
createDeviceManager errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
store
.
obtainDistributedTableName
(
deviceId
,
"
EMPLOYEE
"
,
function
(
err
,
tableName
)
{
if
(
err
)
{
console
.
error
(
`ObtainDistributedTableName failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
`ObtainDistributedTableName successfully, tableName=
${
tableName
}
`
);
store
.
obtainDistributedTableName
(
deviceId
,
"
EMPLOYEE
"
,
(
err
,
tableName
)
=>
{
if
(
err
)
{
console
.
error
(
`ObtainDistributedTableName failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
`ObtainDistributedTableName successfully, tableName=
${
tableName
}
`
);
})
```
...
...
@@ -3766,8 +3903,8 @@ store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName)
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
let
dmInstance
=
null
;
let
deviceId
=
null
;
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceId
:
string
=
null
;
try
{
dmInstance
=
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
);
...
...
@@ -3778,9 +3915,9 @@ try {
}
let
promise
=
store
.
obtainDistributedTableName
(
deviceId
,
"
EMPLOYEE
"
);
promise
.
then
((
tableName
)
=>
{
promise
.
then
((
tableName
:
string
)
=>
{
console
.
info
(
`ObtainDistributedTableName successfully, tableName=
${
tableName
}
`
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`ObtainDistributedTableName failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3815,13 +3952,13 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
let
dmInstance
=
null
;
let
deviceIds
=
[];
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceIds
:
Array
<
string
>
=
[];
try
{
dmInstance
=
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
);
let
devices
=
dmInstance
.
getAvailableDeviceListSync
();
for
(
var
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
deviceIds
[
i
]
=
devices
[
i
].
networkId
;
}
}
catch
(
err
)
{
...
...
@@ -3830,7 +3967,7 @@ try {
let
predicates
=
new
relationalStore
.
RdbPredicates
(
'
EMPLOYEE
'
);
predicates
.
inDevices
(
deviceIds
);
store
.
sync
(
relationalStore
.
SyncMode
.
SYNC_MODE_PUSH
,
predicates
,
function
(
err
,
result
)
{
store
.
sync
(
relationalStore
.
SyncMode
.
SYNC_MODE_PUSH
,
predicates
,
(
err
,
result
)
=>
{
if
(
err
)
{
console
.
error
(
`Sync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
...
...
@@ -3877,13 +4014,13 @@ store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, r
```
js
import
deviceManager
from
'
@ohos.distributedDeviceManager
'
;
let
dmInstance
=
null
;
let
deviceIds
=
[];
let
dmInstance
:
deviceManager
.
DeviceManager
=
null
;
let
deviceIds
:
Array
<
string
>
=
[];
try
{
dmInstance
=
deviceManager
.
createDeviceManager
(
"
com.example.appdatamgrverify
"
);
let
devices
=
dmInstance
.
getAvailableDeviceListSync
();
for
(
var
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
deviceIds
[
i
]
=
devices
[
i
].
networkId
;
}
}
catch
(
err
)
{
...
...
@@ -3893,12 +4030,12 @@ try {
let
predicates
=
new
relationalStore
.
RdbPredicates
(
'
EMPLOYEE
'
);
predicates
.
inDevices
(
deviceIds
);
let
promise
=
store
.
sync
(
relationalStore
.
SyncMode
.
SYNC_MODE_PUSH
,
predicates
);
promise
.
then
((
result
)
=>
{
promise
.
then
((
result
:
Object
[][]
)
=>
{
console
.
info
(
`Sync done.`
);
for
(
let
i
=
0
;
i
<
result
.
length
;
i
++
)
{
console
.
info
(
`device=
${
result
[
i
][
0
]}
, status=
${
result
[
i
][
1
]}
`
);
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`Sync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
})
```
...
...
@@ -3924,14 +4061,14 @@ cloudSync(mode: SyncMode, progress: Callback<ProgressDetails>, callback: A
**示例:**
```
js
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
function
(
progressDetails
)
{
console
.
info
(
`Progess:
${
progressDetails
}
`
);
},
function
(
err
)
{
if
(
err
)
{
console
.
error
(
`Cloud sync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
'
Cloud sync succeeded
'
);
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
(
progressDetails
)
=>
{
console
.
info
(
`Progess:
${
progressDetails
}
`
);
},
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Cloud sync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
'
Cloud sync succeeded
'
);
});
```
...
...
@@ -3961,13 +4098,11 @@ cloudSync(mode: SyncMode, progress: Callback<ProgressDetails>): Promise<
**示例:**
```
js
function
progress
(
progressDetail
)
{
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
(
progressDetail
:
relationalStore
.
ProgressDetails
)
=>
{
console
.
info
(
`progress:
${
progressDetail
}
`
);
}
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
progress
).
then
(()
=>
{
}).
then
(()
=>
{
console
.
info
(
'
Cloud sync succeeded
'
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`cloudSync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
...
...
@@ -3995,14 +4130,14 @@ cloudSync(mode: SyncMode, tables: string[], progress: Callback<ProgressDetail
```
js
const
tables
=
[
"
table1
"
,
"
table2
"
];
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
tables
,
function
(
progressDetails
)
{
console
.
info
(
`Progess:
${
progressDetails
}
`
);
},
function
(
err
)
{
if
(
err
)
{
console
.
error
(
`Cloud sync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
'
Cloud sync succeeded
'
);
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
tables
,
(
progressDetail
:
relationalStore
.
ProgressDetails
)
=>
{
console
.
info
(
`Progess:
${
progressDetails
}
`
);
},
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Cloud sync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
return
;
}
console
.
info
(
'
Cloud sync succeeded
'
);
});
```
...
...
@@ -4034,13 +4169,12 @@ cloudSync(mode: SyncMode, tables: string[], progress: Callback<ProgressDetail
```
js
const
tables
=
[
"
table1
"
,
"
table2
"
];
function
progress
(
progressDetail
)
{
console
.
info
(
`progress:
${
progressDetail
}
`
);
}
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
tables
,
progress
).
then
(()
=>
{
store
.
cloudSync
(
relationalStore
.
SyncMode
.
SYNC_MODE_CLOUD_FIRST
,
(
progressDetail
:
relationalStore
.
ProgressDetails
)
=>
{
console
.
info
(
`progress:
${
progressDetail
}
`
);
}).
then
(()
=>
{
console
.
info
(
'
Cloud sync succeeded
'
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
error
(
`cloudSync failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
...
...
@@ -4064,13 +4198,14 @@ on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<stri
**示例:**
```
js
function
storeObserver
(
devices
)
{
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
console
.
info
(
`device=
${
devices
[
i
]}
data changed`
);
}
}
try
{
store
.
on
(
'
dataChange
'
,
relationalStore
.
SubscribeType
.
SUBSCRIBE_TYPE_REMOTE
,
storeObserver
);
store
.
on
(
'
dataChange
'
,
relationalStore
.
SubscribeType
.
SUBSCRIBE_TYPE_REMOTE
,
(
storeObserver
)
=>
{
let
devices
:
string
;
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
console
.
info
(
`device=
${
devices
[
i
]}
data changed`
);
}
}
);
}
catch
(
err
)
{
console
.
error
(
`Register observer failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
}
...
...
@@ -4135,11 +4270,10 @@ on(event: string, interProcess: boolean, observer: Callback\<void>): void
**示例:**
```
js
function
storeObserver
()
{
console
.
info
(
`storeObserver`
);
}
try
{
store
.
on
(
'
storeObserver
'
,
false
,
storeObserver
);
store
.
on
(
'
storeObserver
'
,
false
,
(
storeObserver
)
=>
{
console
.
info
(
`storeObserver`
);
});
}
catch
(
err
)
{
console
.
error
(
`Register observer failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
}
...
...
@@ -4164,13 +4298,14 @@ off(event:'dataChange', type: SubscribeType, observer: Callback<Array<stri
**示例:**
```
function storeObserver(devices) {
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
try {
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver);
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver) => {
let devices: string;
for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`);
}
}
);
} catch (err) {
console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`);
}
...
...
@@ -4195,13 +4330,14 @@ off(event:'dataChange', type: SubscribeType, observer?: Callback<Array<str
**示例:**
```
js
function
storeObserver
(
devices
)
{
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
console
.
info
(
`device=
${
devices
[
i
]}
data changed`
);
}
}
try
{
store
.
off
(
'
dataChange
'
,
relationalStore
.
SubscribeType
.
SUBSCRIBE_TYPE_REMOTE
,
storeObserver
);
store
.
off
(
'
dataChange
'
,
relationalStore
.
SubscribeType
.
SUBSCRIBE_TYPE_REMOTE
,
(
storeObserver
)
=>
{
let
devices
:
string
;
for
(
let
i
=
0
;
i
<
devices
.
length
;
i
++
)
{
console
.
info
(
`device=
${
devices
[
i
]}
data changed`
);
}
}
);
}
catch
(
err
)
{
console
.
error
(
`Unregister observer failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
}
...
...
@@ -4235,11 +4371,11 @@ off(event: string, interProcess: boolean, observer?: Callback\<void>): void
**示例:**
```
js
function
storeObserver
()
{
console
.
info
(
`storeObserver`
);
}
try
{
store
.
off
(
'
storeObserver
'
,
false
,
storeObserver
);
store
.
off
(
'
storeObserver
'
,
false
,
(
storeObserver
)
=>
{
console
.
info
(
`storeObserver`
);
}
);
}
catch
(
err
)
{
console
.
error
(
`Register observer failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
}
...
...
@@ -4283,11 +4419,11 @@ store.emit('storeObserver');
首先需要获取resultSet对象。
```
js
let
resultSet
=
null
;
let
resultSet
:
relationalStore
.
ResultSet
=
null
;
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
predicates
.
equalTo
(
"
AGE
"
,
18
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
result
)
=>
{
promise
.
then
((
result
:
relationalStore
.
ResultSet
)
=>
{
resultSet
=
result
;
console
.
info
(
`resultSet columnNames:
${
resultSet
.
columnNames
}
`
);
console
.
info
(
`resultSet columnCount:
${
resultSet
.
columnCount
}
`
);
...
...
@@ -4341,7 +4477,6 @@ getColumnIndex(columnName: string): number
**示例:**
```
js
resultSet
.
goToFirstRow
();
const
id
=
resultSet
.
getLong
(
resultSet
.
getColumnIndex
(
"
ID
"
));
const
name
=
resultSet
.
getString
(
resultSet
.
getColumnIndex
(
"
NAME
"
));
const
age
=
resultSet
.
getLong
(
resultSet
.
getColumnIndex
(
"
AGE
"
));
...
...
@@ -4415,14 +4550,7 @@ goTo(offset:number): boolean
**示例:**
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
resultSet
.
goTo
(
1
);
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
error
(
`query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
### goToRow
...
...
@@ -4456,14 +4584,7 @@ goToRow(position: number): boolean
**示例:**
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
resultSet
.
goToRow
(
5
);
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
error
(
`query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
### goToFirstRow
...
...
@@ -4492,14 +4613,7 @@ goToFirstRow(): boolean
**示例:**
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
resultSet
.
goToFirstRow
();
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
error
(
`query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
### goToLastRow
...
...
@@ -4527,14 +4641,7 @@ goToLastRow(): boolean
**示例:**
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
resultSet
.
goToLastRow
();
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
error
(
`query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
### goToNextRow
...
...
@@ -4562,14 +4669,7 @@ goToNextRow(): boolean
**示例:**
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
resultSet
.
goToNextRow
();
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
error
(
`query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
### goToPreviousRow
...
...
@@ -4597,14 +4697,7 @@ goToPreviousRow(): boolean
**示例:**
```
js
let
predicates
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
let
promise
=
store
.
query
(
predicates
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promise
.
then
((
resultSet
)
=>
{
resultSet
.
goToPreviousRow
();
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
error
(
`query failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
### getBlob
...
...
@@ -4857,13 +4950,7 @@ close(): void
**示例:**
```
js
let
predicatesClose
=
new
relationalStore
.
RdbPredicates
(
"
EMPLOYEE
"
);
let
promiseClose
=
store
.
query
(
predicatesClose
,
[
"
ID
"
,
"
NAME
"
,
"
AGE
"
,
"
SALARY
"
,
"
CODES
"
]);
promiseClose
.
then
((
resultSet
)
=>
{
resultSet
.
close
();
}).
catch
((
err
)
=>
{
console
.
error
(
`resultset close failed, code is
${
err
.
code
}
,message is
${
err
.
message
}
`
);
});
```
**错误码:**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录