• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# DataAbilityHelper
2
3可以通过[acquireDataAbilityHelper](js-apis-ability-featureAbility.md#featureabilityacquiredataabilityhelper7)接口获取DataAbilityHelper对象。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口仅可在FA模型下使用。
9
10## 使用说明
11
12使用前根据具体情况引入如下模块
13```ts
14import ohos_data_ability from '@ohos.data.dataAbility';
15import ohos_data_rdb from '@ohos.data.rdb';
16```
17
18## DataAbilityHelper.openFile
19
20openFile(uri: string, mode: string, callback: AsyncCallback\<number>): void
21
22在指定的远程路径中打开文件(callback形式)。
23
24**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
25
26**参数:**
27
28| 参数名     | 类型                   | 必填 | 说明                               |
29| -------- | ---------------------- | ---- | ---------------------------------- |
30| uri      | string                 | 是   | 指示要打开的文件的路径。           |
31| mode     | string                 | 是   | 指示文件打开模式‘rwt’。            |
32| callback | AsyncCallback\<number> | 是   | 被指定的回调方法,返回文件说明符。 |
33
34**示例:**
35
36```ts
37import featureAbility from '@ohos.ability.featureAbility';
38let DAHelper = featureAbility.acquireDataAbilityHelper(
39    'dataability:///com.example.DataAbility'
40);
41let mode = 'rwt';
42DAHelper.openFile('dataability:///com.example.DataAbility', mode, (err) => {
43    console.info('==========================>Called=======================>');
44});
45```
46
47## DataAbilityHelper.openFile
48
49openFile(uri: string, mode: string): Promise\<number>
50
51在指定的远程路径中打开文件(promise形式)。
52
53**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
54
55**参数:**
56
57| 参数名 | 类型   | 必填 | 说明                     |
58| ---- | ------ | ---- | ------------------------ |
59| uri  | string | 是   | 指示要打开的文件的路径。 |
60| mode | string | 是   | 指示文件打开模式‘rwt’。  |
61
62**返回值:**
63
64| 类型             | 说明             |
65| ---------------- | ---------------- |
66| Promise\<number> | 返回文件说明符。 |
67
68**示例:**
69
70```ts
71import featureAbility from '@ohos.ability.featureAbility';
72let DAHelper = featureAbility.acquireDataAbilityHelper(
73    'dataability:///com.example.DataAbility'
74);
75let mode = 'rwt';
76DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => {
77	console.info('==========================>openFileCallback=======================>');
78});
79```
80
81## DataAbilityHelper.on
82
83on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void
84
85注册观察者以观察给定uri指定的数据callback通知。
86
87**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
88
89**参数:**
90
91| 参数名     | 类型                 | 必填 | 说明                     |
92| -------- | -------------------- | ---- | ------------------------ |
93| type     | string               | 是   | 数据更改。               |
94| uri      | string               | 是   | 指示要操作的数据的路径。 |
95| callback | AsyncCallback\<void> | 是   | 指示数据更改时的回调。   |
96
97**示例:**
98
99```ts
100import featureAbility from '@ohos.ability.featureAbility';
101let helper = featureAbility.acquireDataAbilityHelper(
102    'dataability:///com.example.DataAbility'
103);
104function onChangeNotify() {
105    console.info('==========================>onChangeNotify=======================>');
106};
107helper.on(
108    'dataChange',
109    'dataability:///com.example.DataAbility',
110    onChangeNotify
111);
112```
113
114## DataAbilityHelper.off
115
116off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void
117
118注消观察者以停止观察给定uri指定的数据callback通知。
119
120**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
121
122**参数:**
123
124| 参数名     | 类型                 | 必填 | 说明                     |
125| -------- | -------------------- | ---- | ------------------------ |
126| type     | string               | 是   | 数据更改。               |
127| uri      | string               | 是   | 指示要操作的数据的路径。 |
128| callback | AsyncCallback\<void> | 否   | 指示已注册的回调。       |
129
130**示例:**
131
132```ts
133import featureAbility from '@ohos.ability.featureAbility';
134let helper = featureAbility.acquireDataAbilityHelper(
135    'dataability:///com.example.DataAbility'
136);
137function onChangeNotify() {
138    console.info('==========================>onChangeNotify=======================>');
139};
140helper.off(
141    'dataChange',
142    'dataability:///com.example.DataAbility',
143);
144helper.off(
145    'dataChange',
146    'dataability:///com.example.DataAbility',
147    onChangeNotify
148);
149```
150
151## DataAbilityHelper.getType
152
153getType(uri: string, callback: AsyncCallback\<string>): void
154
155获取给定URI指定数据的MIME类型(callback形式)。
156
157**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
158
159**参数:**
160
161| 参数名     | 类型                   | 必填 | 说明                                          |
162| -------- | ---------------------- | ---- | --------------------------------------------- |
163| uri      | string                 | 是   | 指示要操作的数据的路径。                      |
164| callback | AsyncCallback\<string> | 是   | 回调方法,返回与uri指定的数据匹配的MIME类型。 |
165
166**示例:**
167
168```ts
169import featureAbility from '@ohos.ability.featureAbility';
170let DAHelper = featureAbility.acquireDataAbilityHelper(
171    'dataability:///com.example.DataAbility'
172);
173DAHelper.getType('dataability:///com.example.DataAbility', (err, data) => {
174    console.info('==========================>Called=======================>');
175});
176```
177
178## DataAbilityHelper.getType
179
180getType(uri: string): Promise\<string>
181
182获取给定URI指定数据的MIME类型(Promise形式)。
183
184**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
185
186**参数:**
187
188| 参数名 | 类型   | 必填 | 说明                     |
189| ---- | ------ | ---- | ------------------------ |
190| uri  | string | 是   | 指示要操作的数据的路径。 |
191
192**返回值:**
193
194| 类型             | 说明                                |
195| ---------------- | ----------------------------------- |
196| Promise\<string> | 返回与uri指定的数据匹配的MIME类型。 |
197
198**示例:**
199
200```ts
201import featureAbility from '@ohos.ability.featureAbility';
202let DAHelper = featureAbility.acquireDataAbilityHelper(
203    'dataability:///com.example.DataAbility'
204);
205DAHelper.getType('dataability:///com.example.DataAbility').then((data) => {
206	console.info('==========================>getTypeCallback=======================>');
207});
208```
209
210## DataAbilityHelper.getFileTypes
211
212getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void
213
214获取支持的文件的MIME类型(callback形式)。
215
216**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
217
218**参数:**
219
220| 参数名           | 类型                           | 必填 | 说明                               |
221| -------------- | ------------------------------ | ---- | ---------------------------------- |
222| uri            | string                         | 是   | 指示要获取的文件的路径。           |
223| mimeTypeFilter | string                         | 是   | 指示要获取的文件的MIME类型。       |
224| callback       | AsyncCallback\<Array\<string>> | 是   | 回调方法,返回匹配的MIME类型数组。 |
225
226**示例:**
227
228```ts
229import featureAbility from '@ohos.ability.featureAbility';
230let DAHelper = featureAbility.acquireDataAbilityHelper(
231    'dataability:///com.example.DataAbility'
232);
233DAHelper.getFileTypes( 'dataability:///com.example.DataAbility',
234    'image/*', (err, data) => {
235    console.info('==========================>Called=======================>');
236});
237```
238
239
240
241## DataAbilityHelper.getFileTypes
242
243getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>>
244
245获取支持的文件的MIME类型(Promise形式)。
246
247**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
248
249**参数:**
250
251| 参数名           | 类型   | 必填 | 说明                         |
252| -------------- | ------ | ---- | ---------------------------- |
253| uri            | string | 是   | 指示要获取的文件的路径。     |
254| mimeTypeFilter | string | 是   | 指示要获取的文件的MIME类型。 |
255
256**返回值:**
257
258| 类型                     | 说明                     |
259| ------------------------ | ------------------------ |
260| Promise\<Array\<string>> | 返回匹配的MIME类型数组。 |
261
262**示例:**
263
264```ts
265import featureAbility from '@ohos.ability.featureAbility';
266let DAHelper = featureAbility.acquireDataAbilityHelper(
267    'dataability:///com.example.DataAbility'
268);
269DAHelper.getFileTypes('dataability:///com.example.DataAbility',
270    'image/*').then((data) => {
271     console.info('===================>getFileTypesCallback================>');
272});
273```
274
275## DataAbilityHelper.normalizeUri
276
277normalizeUri(uri: string, callback: AsyncCallback\<string>): void
278
279将引用数据功能的给定uri转换为规范化uri(callback形式)。
280
281**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
282
283**参数:**
284
285| 参数名     | 类型                   | 必填 | 说明                                                         |
286| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
287| uri      | string                 | 是   | 指示要规范化的uri对象。                                      |
288| callback | AsyncCallback\<string> | 是   | 回调方法。如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
289
290**示例:**
291
292```ts
293import featureAbility from '@ohos.ability.featureAbility';
294let DAHelper = featureAbility.acquireDataAbilityHelper(
295    'dataability:///com.example.DataAbility'
296);
297DAHelper.normalizeUri('dataability:///com.example.DataAbility', (err, data) => {
298    console.info('==========================>Called=======================>');
299});
300```
301
302## DataAbilityHelper.normalizeUri
303
304normalizeUri(uri: string): Promise\<string>
305
306将引用数据功能的给定uri转换为规范化uri(Promise形式)。
307
308**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
309
310**参数:**
311
312| 参数名 | 类型   | 必填 | 说明                    |
313| ---- | ------ | ---- | ----------------------- |
314| uri  | string | 是   | 指示要规范化的uri对象。 |
315
316**返回值:**
317
318| 类型             | 说明                                                   |
319| ---------------- | ------------------------------------------------------ |
320| Promise\<string> | 如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
321
322**示例:**
323
324```ts
325import featureAbility from '@ohos.ability.featureAbility';
326let DAHelper = featureAbility.acquireDataAbilityHelper(
327    'dataability:///com.example.DataAbility'
328);
329DAHelper.normalizeUri('dataability:///com.example.DataAbility',).then((data) => {
330    console.info('=================>normalizeUriCallback=======================>');
331});
332```
333
334## DataAbilityHelper.denormalizeUri
335
336denormalizeUri(uri: string, callback: AsyncCallback\<string>): void
337
338将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。
339
340**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
341
342**参数:**
343
344| 参数名     | 类型                   | 必填 | 说明                                                |
345| -------- | ---------------------- | ---- | --------------------------------------------------- |
346| uri      | string                 | 是   | 指示要规范化的uri对象。                             |
347| callback | AsyncCallback\<string> | 是   | 回调方法。如果反规范化成功,则返回反规范化uri对象。 |
348
349**示例:**
350
351```ts
352import featureAbility from '@ohos.ability.featureAbility';
353let DAHelper = featureAbility.acquireDataAbilityHelper(
354    'dataability:///com.example.DataAbility'
355);
356DAHelper.denormalizeUri('dataability:///com.example.DataAbility', (err, data) => {
357    console.info('==========================>Called=======================>');
358});
359```
360
361
362
363## DataAbilityHelper.denormalizeUri
364
365denormalizeUri(uri: string): Promise\<string>
366
367将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。
368
369**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
370
371**参数:**
372
373| 参数名 | 类型   | 必填 | 说明                    |
374| ---- | ------ | ---- | ----------------------- |
375| uri  | string | 是   | 指示要规范化的uri对象。 |
376
377**返回值:**
378
379| 类型             | 说明                                      |
380| ---------------- | ----------------------------------------- |
381| Promise\<string> | 如果反规范化成功,则返回反规范化uri对象。 |
382
383**示例:**
384
385```ts
386import featureAbility from '@ohos.ability.featureAbility';
387let DAHelper = featureAbility.acquireDataAbilityHelper(
388    'dataability:///com.example.DataAbility'
389);
390DAHelper.denormalizeUri('dataability:///com.example.DataAbility',).then((data) => {
391    console.info('===============>denormalizeUriCallback=======================>');
392});
393```
394
395## DataAbilityHelper.notifyChange
396
397notifyChange(uri: string, callback: AsyncCallback\<void>): void
398
399通知已注册的观察者uri指定的数据资源的更改(callback形式)。
400
401**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
402
403**参数:**
404
405| 参数名     | 类型                 | 必填 | 说明                     |
406| -------- | -------------------- | ---- | ------------------------ |
407| uri      | string               | 是   | 指示要操作的数据的路径。 |
408| callback | AsyncCallback\<void> | 是   | 回调方法。               |
409
410**示例:**
411
412```ts
413import featureAbility from '@ohos.ability.featureAbility';
414let helper = featureAbility.acquireDataAbilityHelper(
415    'dataability:///com.example.DataAbility'
416);
417helper.notifyChange('dataability:///com.example.DataAbility', (err) => {
418    console.info('==========================>Called=======================>');
419});
420```
421
422## DataAbilityHelper.notifyChange
423
424notifyChange(uri: string): Promise\<void>
425
426通知已注册的观察者uri指定的数据资源的更改(Promise形式)。
427
428**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
429
430**参数:**
431
432| 参数名 | 类型   | 必填 | 说明                     |
433| ---- | ------ | ---- | ------------------------ |
434| uri  | string | 是   | 指示要操作的数据的路径。 |
435
436**返回值:**
437
438| 类型           | 说明                  |
439| -------------- | --------------------- |
440| Promise\<void> | 返回值为Promise对象。 |
441
442**示例:**
443
444```ts
445import featureAbility from '@ohos.ability.featureAbility';
446let DAHelper = featureAbility.acquireDataAbilityHelper(
447    'dataability:///com.example.DataAbility'
448);
449DAHelper.notifyChange('dataability:///com.example.DataAbility').then(() => {
450    console.info('================>notifyChangeCallback================>');
451});
452```
453
454## DataAbilityHelper.insert
455
456insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void
457
458将单个数据记录插入数据库(callback形式)。
459
460**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
461
462**参数:**
463
464| 参数名         | 类型                   | 必填 | 说明                                                   |
465| ------------ | ---------------------- | ---- | ------------------------------------------------------ |
466| uri          | string                 | 是   | 指示要插入的数据的路径。                               |
467| valuesBucket | rdb.ValuesBucket       | 是   | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
468| callback     | AsyncCallback\<number> | 是   | 回调方法,返回插入数据记录的索引。                     |
469
470**示例:**
471
472```ts
473import featureAbility from '@ohos.ability.featureAbility';
474let DAHelper = featureAbility.acquireDataAbilityHelper(
475    'dataability:///com.example.DataAbility'
476);
477const valueBucket = {
478    'name': 'rose',
479    'age': 22,
480    'salary': 200.5,
481    'blobType': 'u8',
482};
483DAHelper.insert('dataability:///com.example.DataAbility', valueBucket,
484    (err, data) => {
485    console.info('==========================>Called=======================>');
486});
487```
488
489## DataAbilityHelper.insert
490
491insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise\<number>
492
493将单个数据记录插入数据库(Promise形式)。
494
495**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
496
497**参数:**
498
499| 参数名         | 类型             | 必填 | 说明                                                   |
500| ------------ | ---------------- | ---- | ------------------------------------------------------ |
501| uri          | string           | 是   | 指示要插入的数据的路径。                               |
502| valuesBucket | rdb.ValuesBucket | 是   | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
503
504**返回值:**
505
506| 类型             | 说明                     |
507| ---------------- | ------------------------ |
508| Promise\<number> | 返回插入数据记录的索引。 |
509
510**示例:**
511
512```ts
513import featureAbility from '@ohos.ability.featureAbility';
514let DAHelper = featureAbility.acquireDataAbilityHelper(
515    'dataability:///com.example.DataAbility'
516);
517const valueBucket = {
518    'name': 'rose1',
519    'age': 221,
520    'salary': 20.5,
521    'blobType': 'u8',
522};
523DAHelper.insert('dataability:///com.example.DataAbility', valueBucket).then((data) => {
524    console.info('====================>insertCallback=======================>');
525});
526```
527
528## DataAbilityHelper.batchInsert
529
530batchInsert(uri: string, valuesBuckets: Array\<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void
531
532插入数据库(callback形式)。
533
534**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
535
536**参数:**
537
538| 参数名         | 类型                    | 必填 | 说明                             |
539| ------------ | ----------------------- | ---- | -------------------------------- |
540| uri          | string                  | 是   | 指示要插入的数据的路径。         |
541| valuesBucket | Array\<rdb.ValuesBucket> | 是   | 指示要插入的数据记录。           |
542| callback     | AsyncCallback\<number>  | 是   | 回调方法。返回插入的数据记录数。 |
543
544**示例:**
545
546```ts
547import featureAbility from '@ohos.ability.featureAbility';
548let DAHelper = featureAbility.acquireDataAbilityHelper(
549    'dataability:///com.example.DataAbility'
550);
551let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
552                     {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
553                     {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',});
554DAHelper.batchInsert('dataability:///com.example.DataAbility', cars,
555    (err, data) => {
556    console.info('==========================>Called=======================>');
557});
558```
559
560## DataAbilityHelper.batchInsert
561
562batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise\<number>
563
564将多个数据记录插入数据库(Promise形式)。
565
566**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
567
568**参数:**
569
570| 参数名         | 类型                    | 必填 | 说明                     |
571| ------------ | ----------------------- | ---- | ------------------------ |
572| uri          | string                  | 是   | 指示要插入的数据的路径。 |
573| valuesBucket | Array<rdb.ValuesBucket> | 是   | 指示要插入的数据记录。   |
574
575**返回值:**
576
577| 类型             | 说明                   |
578| ---------------- | ---------------------- |
579| Promise\<number> | 返回插入的数据记录数。 |
580
581**示例:**
582
583```ts
584import featureAbility from '@ohos.ability.featureAbility';
585let DAHelper = featureAbility.acquireDataAbilityHelper(
586    'dataability:///com.example.DataAbility'
587);
588let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
589                     {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
590                     {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',});
591DAHelper.batchInsert('dataability:///com.example.DataAbility', cars).then((data) => {
592    console.info('==================>batchInsertCallback=======================>');
593});
594```
595
596## DataAbilityHelper.delete
597
598delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
599
600从数据库中删除一个或多个数据记录(callback形式)。
601
602**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
603
604**参数:**
605
606| 参数名         | 类型                              | 必填 | 说明                                             |
607| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
608| uri          | string                            | 是   | 指示要删除的数据的路径。                         |
609| predicates | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
610| callback     | AsyncCallback\<number>            | 是   | 回调方法。返回已删除的数据记录数。               |
611
612**示例:**
613
614```ts
615import featureAbility from '@ohos.ability.featureAbility';
616import ohos_data_ability from '@ohos.data.dataAbility';
617let DAHelper = featureAbility.acquireDataAbilityHelper(
618    'dataability:///com.example.DataAbility'
619);
620let da = new ohos_data_ability.DataAbilityPredicates();
621DAHelper.delete('dataability:///com.example.DataAbility', da,
622    (err, data) => {
623    console.info('==========================>Called=======================>');
624});
625```
626
627## DataAbilityHelper.delete
628
629delete(uri: string, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>;
630
631从数据库中删除一个或多个数据记录(Promise形式)。
632
633**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
634
635**参数:**
636
637| 参数名         | 类型                              | 必填 | 说明                                             |
638| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
639| uri          | string                            | 是   | 指示要删除的数据的路径。                         |
640| predicates | dataAbility.DataAbilityPredicates | 否   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
641
642**返回值:**
643
644| 类型             | 说明                     |
645| ---------------- | ------------------------ |
646| Promise\<number> | 返回已删除的数据记录数。 |
647
648**示例:**
649
650```ts
651import featureAbility from '@ohos.ability.featureAbility';
652import ohos_data_ability from '@ohos.data.dataAbility';
653let DAHelper = featureAbility.acquireDataAbilityHelper(
654    'dataability:///com.example.DataAbility'
655);
656let da = new ohos_data_ability.DataAbilityPredicates();
657DAHelper.delete('dataability:///com.example.DataAbility', da).then((data) => {
658    console.info('==========================>deleteCallback=======================>');
659});
660```
661
662## DataAbilityHelper.update
663
664update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
665
666更新数据库中的数据记录(callback形式)。
667
668**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
669
670**参数:**
671
672| 参数名         | 类型                              | 必填 | 说明                                             |
673| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
674| uri          | string                            | 是   | 指示要更新的数据的路径。                         |
675| valuesBucket | rdb.ValuesBucket                  | 是   | 指示要更新的数据。                               |
676| predicates   | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
677| callback     | AsyncCallback\<number>            | 是   | 回调方法,返回更新的数据记录数。                 |
678
679**示例:**
680
681```ts
682import featureAbility from '@ohos.ability.featureAbility';
683import ohos_data_ability from '@ohos.data.dataAbility';
684let DAHelper = featureAbility.acquireDataAbilityHelper(
685    'dataability:///com.example.DataAbility'
686);
687const va = {
688    'name': 'roe1',
689    'age': 21,
690    'salary': 20.5,
691    'blobType': 'u8',
692};
693let da = new ohos_data_ability.DataAbilityPredicates();
694DAHelper.update('dataability:///com.example.DataAbility', va, da, (err, data) => {
695    console.info('==========================>Called=======================>');
696});
697```
698
699## DataAbilityHelper.update
700
701update(uri: string, valuesBucket: rdb.ValuesBucket, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>;
702
703更新数据库中的数据记录(Promise形式)。
704
705**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
706
707**参数:**
708
709| 参数名         | 类型                              | 必填 | 说明                                             |
710| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
711| uri          | string                            | 是   | 指示要更新的数据的路径。                         |
712| valuesBucket | rdb.ValuesBucket                  | 是   | 指示要更新的数据。                               |
713| predicates   | dataAbility.DataAbilityPredicates | 否   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
714
715**返回值:**
716
717| 类型             | 说明                                         |
718| ---------------- | -------------------------------------------- |
719| Promise\<number> | Promise中包含更新的数据记录数。 。 |
720
721**示例:**
722
723```ts
724import featureAbility from '@ohos.ability.featureAbility';
725import ohos_data_ability from '@ohos.data.dataAbility';
726let DAHelper = featureAbility.acquireDataAbilityHelper(
727    'dataability:///com.example.DataAbility'
728);
729const va = {
730    'name': 'roe1',
731    'age': 21,
732    'salary': 20.5,
733    'blobType': 'u8',
734};
735let da = new ohos_data_ability.DataAbilityPredicates();
736DAHelper.update('dataability:///com.example.DataAbility', va, da).then((data) => {
737    console.info('==========================>updateCallback=======================>');
738});
739```
740
741## DataAbilityHelper.query
742
743query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void
744
745查询数据库中的数据(callback形式)。
746
747**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
748
749**参数:**
750
751| 参数名       | 类型                              | 必填 | 说明                                             |
752| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
753| uri        | string                            | 是   | 指示要查询的数据的路径。                         |
754| columns    | Array\<string>                | 是   | 指示要查询的列。如果此参数为空,则查询所有列。   |
755| predicates | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
756| callback   | AsyncCallback\<ResultSet>         | 是   | 回调方法,返回查询结果。                         |
757
758**示例:**
759
760```ts
761import featureAbility from '@ohos.ability.featureAbility';
762import ohos_data_ability from '@ohos.data.dataAbility';
763let DAHelper = featureAbility.acquireDataAbilityHelper(
764    'dataability:///com.example.DataAbility'
765);
766let cars=new Array('value1', 'value2', 'value3', 'value4');
767let da = new ohos_data_ability.DataAbilityPredicates();
768DAHelper.query('dataability:///com.example.DataAbility', cars, da, (err, data) => {
769    console.info('==========================>Called=======================>');
770});
771```
772
773
774
775## DataAbilityHelper.query
776
777query(uri: string, columns?: Array\<string>, predicates?: dataAbility.DataAbilityPredicates): Promise\<ResultSet>;
778
779查询数据库中的数据(Promise形式)。
780
781**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
782
783**参数:**
784
785| 参数名       | 类型                              | 必填 | 说明                                             |
786| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
787| uri        | string                            | 是   | 指示要查询的数据的路径。                         |
788| columns    | Array\<string>               | 否   | 指示要查询的列。如果此参数为空,则查询所有列。   |
789| predicates | dataAbility.DataAbilityPredicates | 否   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
790
791**返回值:**
792
793| 类型                | 说明           |
794| ------------------- | -------------- |
795| Promise\<ResultSet> | 返回查询结果。 |
796
797**示例:**
798
799```ts
800import featureAbility from '@ohos.ability.featureAbility';
801import ohos_data_ability from '@ohos.data.dataAbility';
802let DAHelper = featureAbility.acquireDataAbilityHelper(
803    'dataability:///com.example.DataAbility'
804);
805let cars = new Array('value1', 'value2', 'value3', 'value4');
806let da = new ohos_data_ability.DataAbilityPredicates();
807DAHelper.query('dataability:///com.example.DataAbility', cars, da).then((data) => {
808    console.info('==========================>queryCallback=======================>');
809});
810```
811
812## DataAbilityHelper.call
813
814call(uri: string, method: string, arg: string, extras: PacMap): Promise\<PacMap>
815
816调用DataAbility的扩展接口,使用Promise方式作为异步方法。
817
818**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
819
820**参数:**
821
822| 参数名       | 类型                              | 必填 | 说明                                             |
823| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
824| uri        | string                 | 是   | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'           |
825| method    | string                  | 是   | 被调用的方法名。   |
826| arg      | string                   | 是   |需传入的参数。      |
827| extras   | [PacMap](#pacmap)        | 是   | 键值对参数。       |
828
829**返回值:**
830
831| 类型 | 说明 |
832|------ | ------- |
833|Promise\<[PacMap](#pacmap)> | 调用的返回值。 |
834
835**示例:**
836
837```ts
838import featureAbility from '@ohos.ability.featureAbility';
839
840let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
841    'dataability:///com.example.jsapidemo.UserDataAbility');
842dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility',
843    'method', 'arg', {'key1':'value1'}).then((data) => {
844    console.info('Operation succeeded: ' + data);
845}).catch((error) => {
846    console.error('Operation failed. Cause: ' + error);
847});
848```
849
850## DataAbilityHelper.call
851
852call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback\<PacMap>): void
853
854调用DataAbility的扩展接口,使用callback方式作为异步方法。
855
856**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
857
858**参数:**
859
860| 参数名       | 类型                              | 必填 | 说明                                             |
861| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
862| uri        | string                 | 是   | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'           |
863| method    | string                  | 是   | 被调用的方法名。   |
864| arg      | string                   | 是   |需传入的参数。      |
865| extras   | [PacMap](#pacmap)        | 是   | 键值对参数。       |
866| callback | AsyncCallback\<[PacMap](#pacmap)> | 是 | 返回值。     |
867
868**示例:**
869
870```ts
871import featureAbility from '@ohos.ability.featureAbility';
872
873let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
874    'dataability:///com.example.jsapidemo.UserDataAbility');
875dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility',
876    'method', 'arg', {'key1':'value1'}, (err, data) => {
877    if (err) {
878        console.error('Operation failed. Cause: ' + err);
879        return;
880    }
881    console.info('Operation succeeded: ' + data);
882});
883```
884
885## DataAbilityHelper.executeBatch
886
887executeBatch(uri: string, operations: Array\<DataAbilityOperation>, callback: AsyncCallback\<Array\<DataAbilityResult>>): void;
888
889查询数据库中的数据。
890
891**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
892
893**参数:**
894
895| 参数名            | 类型                                         | 必填 | 说明                                             |
896| ----------    | ---------------------------------             | ---- | ------------------------------------------------ |
897| uri           | string                                        | 是   | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。|
898| operations    |  Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)>               | 是   | 指示数据操作列表,其中可以包含对数据库的多个操作。   |
899| callback      |  AsyncCallback\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>>    | 是   |在数组 DataAbilityResult中返回每个操作的结果。      |
900
901**示例:**
902
903```ts
904import featureAbility from '@ohos.ability.featureAbility';
905
906// 根据DataAbilityOperation列表选择要对数据库做的操作
907let op=new Array();
908let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
909    'dataability:///com.example.jsapidemo.UserDataAbility');
910dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility',
911    op, (err, data) => {
912    if (err) {
913        console.error('Operation failed. Cause: ' + err);
914        return;
915    }
916    console.info('Operation succeeded: ' + data);
917});
918```
919
920## DataAbilityHelper.executeBatch
921
922executeBatch(uri: string, operations: Array\<DataAbilityOperation>): Promise\<Array\<DataAbilityResult>>;
923
924查询数据库中的数据。
925
926**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
927
928**参数:**
929
930| 参数名          | 类型                            | 必填 | 说明                                             |
931| ----------    | -------------------------------| ---- | ------------------------------------------------ |
932| uri           | string                         | 是   | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。|
933| operations    |  Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)>  | 是   | 指示数据操作列表,其中可以包含对数据库的多个操作。   |
934
935**返回值:**
936
937| 类型 | 说明 |
938|------ | ------- |
939|Promise\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | 在数组 DataAbilityResult中返回每个操作的结果。 |
940
941**示例:**
942
943```ts
944import featureAbility from '@ohos.ability.featureAbility';
945
946// 根据DataAbilityOperation列表选择要对数据库做的操作
947let op=new Array();
948let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
949    'dataability:///com.example.jsapidemo.UserDataAbility');
950dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility',
951    op).then((data) => {
952    console.info('Operation succeeded: ' + data);
953}).catch((error) => {
954    console.error('Operation failed. Cause: ' + error);
955});
956
957```
958
959## PacMap
960
961[key: string]: number | string | boolean | Array\<string | number | boolean> | null;
962
963**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
964
965| 参数名 | 参数类型 | 必填 | 说明 |
966| ------ | ------ | ------ | ------ |
967| [key: string] | number \| string \| boolean \| Array\<string \| number \| boolean\> \| null | Yes| 数据存储在键值对中。|