1# DataAbilityHelper
2
3可以通过[acquireDataAbilityHelper](js-apis-ability-featureAbility.md#featureabilityacquiredataabilityhelper7)接口获取DataAbilityHelper对象。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 除了[PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap),本模块接口仅可在FA模型下使用。
10
11## 导入模块
12
13```ts
14import ability from '@ohos.ability.ability';
15```
16
17## 使用说明
18
19使用前根据具体情况引入如下模块
20```ts
21import ohos_data_ability from '@ohos.data.dataAbility';
22import relationalStore from '@ohos.data.relationalStore';
23```
24
25## DataAbilityHelper.openFile
26
27openFile(uri: string, mode: string, callback: AsyncCallback\<number>): void
28
29打开指定uri对应的文件,返回文件描述符。使用callback异步回调。
30
31**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
32
33**模型约束**:此接口仅可在FA模型下使用。
34
35**参数:**
36
37| 参数名     | 类型                   | 必填 | 说明                               |
38| -------- | ---------------------- | ---- | ---------------------------------- |
39| uri      | string                 | 是   | 表示待打开文件的uri。           |
40| mode     | string                 | 是   | 表示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。            |
41| callback | AsyncCallback\<number> | 是   | 回调函数,返回文件描述符。 |
42
43**示例:**
44
45<!--code_no_check_fa-->
46```ts
47import ability from '@ohos.ability.ability';
48import featureAbility from '@ohos.ability.featureAbility';
49
50let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
51    'dataability:///com.example.DataAbility'
52);
53let mode = 'rw';
54DAHelper.openFile('dataability:///com.example.DataAbility', mode, (error, data) => {
55    if (error && error.code !== 0) {
56        console.error(`openFile fail, error: ${JSON.stringify(error)}`);
57    } else {
58        console.log(`openFile success, data: ${JSON.stringify(data)}`);
59    }
60});
61```
62
63## DataAbilityHelper.openFile
64
65openFile(uri: string, mode: string): Promise\<number>
66
67打开指定uri对应的文件,返回文件描述符。使用Promise异步回调。
68
69**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
70
71**模型约束**:此接口仅可在FA模型下使用。
72
73**参数:**
74
75| 参数名 | 类型   | 必填 | 说明                     |
76| ---- | ------ | ---- | ------------------------ |
77| uri  | string | 是   | 表示待打开文件的uri。 |
78| mode | string | 是   | 表示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。  |
79
80**返回值:**
81
82| 类型             | 说明             |
83| ---------------- | ---------------- |
84| Promise\<number> | Promise对象,返回文件说明符。 |
85
86**示例:**
87
88<!--code_no_check_fa-->
89```ts
90import ability from '@ohos.ability.ability';
91import featureAbility from '@ohos.ability.featureAbility';
92
93let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
94    'dataability:///com.example.DataAbility'
95);
96let mode = 'rw';
97DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => {
98    console.info(`openFile data: ${JSON.stringify(data)}`);
99});
100```
101
102## DataAbilityHelper.on('dataChange')
103
104on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void
105
106注册观察者以监听uri指定数据的数据变化通知。使用callback异步回调。
107
108**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
109
110**模型约束**:此接口仅可在FA模型下使用。
111
112**参数:**
113
114| 参数名     | 类型                 | 必填 | 说明                     |
115| -------- | -------------------- | ---- | ------------------------ |
116| type     | string               | 是   | 表示监听操作类型,'dataChange'表示数据变化操作。               |
117| uri      | string               | 是   | 表示待监听数据变化的uri。 |
118| callback | AsyncCallback\<void> | 是   | 回调函数。当注册观察者以监听uri指定数据的数据变化通知成功,err为undefined,否则为错误对象。   |
119
120**示例:**
121
122<!--code_no_check_fa-->
123```ts
124import ability from '@ohos.ability.ability';
125import featureAbility from '@ohos.ability.featureAbility';
126
127let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
128    'dataability:///com.example.DataAbility'
129);
130function onChangeNotify() {
131    console.info('onChangeNotify call back');
132};
133DAHelper.on(
134    'dataChange',
135    'dataability:///com.example.DataAbility',
136    onChangeNotify
137);
138```
139
140## DataAbilityHelper.off('dataChange')
141
142off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void
143
144注销观察者以停止监听uri指定数据的数据变化通知。使用callback异步回调。
145
146**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
147
148**模型约束**:此接口仅可在FA模型下使用。
149
150**参数:**
151
152| 参数名     | 类型                 | 必填 | 说明                     |
153| -------- | -------------------- | ---- | ------------------------ |
154| type     | string               | 是   | 表示监听操作类型,'dataChange'表示数据变化操作。               |
155| uri      | string               | 是   | 表示待取消监听数据变化的uri。 |
156| callback | AsyncCallback\<void> | 否   | 回调函数。当注销观察者以停止监听uri指定数据的数据变化通知成功,err为undefined,否则为错误对象。       |
157
158**示例:**
159
160<!--code_no_check_fa-->
161```ts
162import ability from '@ohos.ability.ability';
163import featureAbility from '@ohos.ability.featureAbility';
164
165let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
166    'dataability:///com.example.DataAbility'
167);
168function onChangeNotify() {
169    console.info('onChangeNotify call back');
170};
171DAHelper.off(
172    'dataChange',
173    'dataability:///com.example.DataAbility',
174    onChangeNotify
175);
176DAHelper.off(
177    'dataChange',
178    'dataability:///com.example.DataAbility',
179);
180```
181
182## DataAbilityHelper.getType
183
184getType(uri: string, callback: AsyncCallback\<string>): void
185
186获取给定uri指向数据的媒体资源类型。使用callback异步回调。
187
188**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
189
190**模型约束**:此接口仅可在FA模型下使用。
191
192**参数:**
193
194| 参数名     | 类型                   | 必填 | 说明                                          |
195| -------- | ---------------------- | ---- | --------------------------------------------- |
196| uri      | string                 | 是   | 表示待获取数据的uri。                      |
197| callback | AsyncCallback\<string> | 是   | 回调函数,返回与uri指向数据匹配的媒体资源类型。 |
198
199**示例:**
200
201<!--code_no_check_fa-->
202```ts
203import ability from '@ohos.ability.ability';
204import featureAbility from '@ohos.ability.featureAbility';
205
206let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
207    'dataability:///com.example.DataAbility'
208);
209DAHelper.getType('dataability:///com.example.DataAbility', (error, data) => {
210    if (error && error.code !== 0) {
211        console.error(`getType fail, error: ${JSON.stringify(error)}`);
212    } else {
213        console.log(`getType success, data: ${JSON.stringify(data)}`);
214    }
215});
216```
217
218## DataAbilityHelper.getType
219
220getType(uri: string): Promise\<string>
221
222获取给定uri指向数据的媒体资源类型。使用Promise异步回调。
223
224**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
225
226**模型约束**:此接口仅可在FA模型下使用。
227
228**参数:**
229
230| 参数名 | 类型   | 必填 | 说明                     |
231| ---- | ------ | ---- | ------------------------ |
232| uri  | string | 是   | 表示待获取数据的uri。 |
233
234**返回值:**
235
236| 类型             | 说明                                |
237| ---------------- | ----------------------------------- |
238| Promise\<string> | Promise对象,返回与uri指向数据匹配的媒体资源类型。 |
239
240**示例:**
241
242<!--code_no_check_fa-->
243```ts
244import ability from '@ohos.ability.ability';
245import featureAbility from '@ohos.ability.featureAbility';
246
247let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
248    'dataability:///com.example.DataAbility'
249);
250DAHelper.getType('dataability:///com.example.DataAbility').then((data) => {
251    console.info(`getType data: ${JSON.stringify(data)}`);
252});
253```
254
255## DataAbilityHelper.getFileTypes
256
257getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void
258
259获取支持的文件媒体资源类型。使用callback异步回调。
260
261**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
262
263**模型约束**:此接口仅可在FA模型下使用。
264
265**参数:**
266
267| 参数名           | 类型                           | 必填 | 说明                               |
268| -------------- | ------------------------------ | ---- | ---------------------------------- |
269| uri            | string                         | 是   | 表示待获取文件的uri。           |
270| mimeTypeFilter | string                         | 是   | 表示待获取文件的媒体资源类型。       |
271| callback       | AsyncCallback\<Array\<string>> | 是   | 回调函数,返回匹配的媒体资源类型数组。 |
272
273**示例:**
274
275<!--code_no_check_fa-->
276```ts
277import ability from '@ohos.ability.ability';
278import featureAbility from '@ohos.ability.featureAbility';
279
280let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
281    'dataability:///com.example.DataAbility'
282);
283DAHelper.getFileTypes( 'dataability:///com.example.DataAbility', 'image/*', (error, data) => {
284    if (error && error.code !== 0) {
285        console.error(`getFileTypes fail, error: ${JSON.stringify(error)}`);
286    } else {
287        console.log(`getFileTypes success, data: ${JSON.stringify(data)}`);
288    }
289});
290```
291
292## DataAbilityHelper.getFileTypes
293
294getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>>
295
296获取支持的文件媒体资源类型。使用Promise异步回调。
297
298**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
299
300**模型约束**:此接口仅可在FA模型下使用。
301
302**参数:**
303
304| 参数名           | 类型   | 必填 | 说明                         |
305| -------------- | ------ | ---- | ---------------------------- |
306| uri            | string | 是   | 表示待获取文件的uri。     |
307| mimeTypeFilter | string | 是   | 表示待获取文件的媒体资源类型。 |
308
309**返回值:**
310
311| 类型                     | 说明                     |
312| ------------------------ | ------------------------ |
313| Promise\<Array\<string>> | Promise对象,返回匹配的媒体资源类型数组。 |
314
315**示例:**
316
317<!--code_no_check_fa-->
318```ts
319import ability from '@ohos.ability.ability';
320import featureAbility from '@ohos.ability.featureAbility';
321
322let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
323    'dataability:///com.example.DataAbility'
324);
325DAHelper.getFileTypes('dataability:///com.example.DataAbility', 'image/*').then((data) => {
326    console.info(`getFileTypes data: ${JSON.stringify(data)}`);
327});
328```
329
330## DataAbilityHelper.normalizeUri
331
332normalizeUri(uri: string, callback: AsyncCallback\<string>): void
333
334将引用数据功能的给定uri转换为规范化uri。使用callback异步回调。
335
336**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
337
338**模型约束**:此接口仅可在FA模型下使用。
339
340**参数:**
341
342| 参数名     | 类型                   | 必填 | 说明                                                         |
343| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
344| uri      | string                 | 是   | 表示要规范化的uri对象。                                      |
345| callback | AsyncCallback\<string> | 是   | 回调函数,如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
346
347**示例:**
348
349<!--code_no_check_fa-->
350```ts
351import ability from '@ohos.ability.ability';
352import featureAbility from '@ohos.ability.featureAbility';
353
354let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
355    'dataability:///com.example.DataAbility'
356);
357DAHelper.normalizeUri('dataability:///com.example.DataAbility', (error, data) => {
358    if (error && error.code !== 0) {
359        console.error(`normalizeUri fail, error: ${JSON.stringify(error)}`);
360    } else {
361        console.log(`normalizeUri success, data: ${JSON.stringify(data)}`);
362    }
363});
364```
365
366## DataAbilityHelper.normalizeUri
367
368normalizeUri(uri: string): Promise\<string>
369
370将引用数据功能的给定uri转换为规范化uri。使用Promise异步回调。
371
372**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
373
374**模型约束**:此接口仅可在FA模型下使用。
375
376**参数:**
377
378| 参数名 | 类型   | 必填 | 说明                    |
379| ---- | ------ | ---- | ----------------------- |
380| uri  | string | 是   | 表示要规范化的uri对象。 |
381
382**返回值:**
383
384| 类型             | 说明                                                   |
385| ---------------- | ------------------------------------------------------ |
386| Promise\<string> | Promise对象,如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
387
388**示例:**
389
390<!--code_no_check_fa-->
391```ts
392import ability from '@ohos.ability.ability';
393import featureAbility from '@ohos.ability.featureAbility';
394
395let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
396    'dataability:///com.example.DataAbility'
397);
398DAHelper.normalizeUri('dataability:///com.example.DataAbility',).then((data) => {
399    console.info(`normalizeUri data: ${JSON.stringify(data)}`);
400});
401```
402
403## DataAbilityHelper.denormalizeUri
404
405denormalizeUri(uri: string, callback: AsyncCallback\<string>): void
406
407将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri。使用callback异步回调。
408
409**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
410
411**模型约束**:此接口仅可在FA模型下使用。
412
413**参数:**
414
415| 参数名     | 类型                   | 必填 | 说明                                                |
416| -------- | ---------------------- | ---- | --------------------------------------------------- |
417| uri      | string                 | 是   | 表示要反规范化的uri对象。                             |
418| callback | AsyncCallback\<string> | 是   | 回调函数,返回反规范化uri对象。 |
419
420**示例:**
421
422<!--code_no_check_fa-->
423```ts
424import ability from '@ohos.ability.ability';
425import featureAbility from '@ohos.ability.featureAbility';
426
427let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
428    'dataability:///com.example.DataAbility'
429);
430DAHelper.denormalizeUri('dataability:///com.example.DataAbility', (error, data) => {
431    if (error && error.code !== 0) {
432        console.error(`denormalizeUri fail, error: ${JSON.stringify(error)}`);
433    } else {
434        console.log(`denormalizeUri success, data: ${JSON.stringify(data)}`);
435    }
436});
437```
438
439## DataAbilityHelper.denormalizeUri
440
441denormalizeUri(uri: string): Promise\<string>
442
443将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri。使用Promise异步回调。
444
445**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
446
447**模型约束**:此接口仅可在FA模型下使用。
448
449**参数:**
450
451| 参数名 | 类型   | 必填 | 说明                    |
452| ---- | ------ | ---- | ----------------------- |
453| uri  | string | 是   | 表示要规范化的uri对象。 |
454
455**返回值:**
456
457| 类型             | 说明                                      |
458| ---------------- | ----------------------------------------- |
459| Promise\<string> |Promise对象,返回反规范化uri对象。 |
460
461**示例:**
462
463<!--code_no_check_fa-->
464```ts
465import ability from '@ohos.ability.ability';
466import featureAbility from '@ohos.ability.featureAbility';
467
468let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
469    'dataability:///com.example.DataAbility'
470);
471DAHelper.denormalizeUri('dataability:///com.example.DataAbility',).then((data) => {
472    console.info(`denormalizeUri data: ${JSON.stringify(data)}`);
473});
474```
475
476## DataAbilityHelper.notifyChange
477
478notifyChange(uri: string, callback: AsyncCallback\<void>): void
479
480通知注册的观察者,uri指定数据的数据变化。使用callback异步回调。
481
482**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
483
484**模型约束**:此接口仅可在FA模型下使用。
485
486**参数:**
487
488| 参数名     | 类型                 | 必填 | 说明                     |
489| -------- | -------------------- | ---- | ------------------------ |
490| uri      | string               | 是   | 表示数据变化的uri。 |
491| callback | AsyncCallback\<void> | 是   | 回调函数。当通知注册的观察者成功,err为undefined,否则为错误对象。               |
492
493**示例:**
494
495<!--code_no_check_fa-->
496```ts
497import ability from '@ohos.ability.ability';
498import featureAbility from '@ohos.ability.featureAbility';
499
500let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
501    'dataability:///com.example.DataAbility'
502);
503DAHelper.notifyChange('dataability:///com.example.DataAbility', (error) => {
504    if (error && error.code !== 0) {
505        console.error(`notifyChange fail, error: ${JSON.stringify(error)}`);
506    } else {
507        console.log('notifyChange success');
508    }
509});
510```
511
512## DataAbilityHelper.notifyChange
513
514notifyChange(uri: string): Promise\<void>
515
516通知注册的观察者,uri指定数据的数据变化。使用Promise异步回调。
517
518**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
519
520**模型约束**:此接口仅可在FA模型下使用。
521
522**参数:**
523
524| 参数名 | 类型   | 必填 | 说明                     |
525| ---- | ------ | ---- | ------------------------ |
526| uri  | string | 是   | 表示数据变化的uri。 |
527
528**返回值:**
529
530| 类型           | 说明                  |
531| -------------- | --------------------- |
532| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
533
534**示例:**
535
536<!--code_no_check_fa-->
537```ts
538import ability from '@ohos.ability.ability';
539import featureAbility from '@ohos.ability.featureAbility';
540
541let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
542    'dataability:///com.example.DataAbility'
543);
544DAHelper.notifyChange('dataability:///com.example.DataAbility').then(() => {
545    console.info('================>notifyChangeCallback================>');
546});
547```
548
549## DataAbilityHelper.insert
550
551insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void
552
553将单个数据记录插入数据库。使用callback异步回调。
554
555**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
556
557**模型约束**:此接口仅可在FA模型下使用。
558
559**参数:**
560
561| 参数名         | 类型                   | 必填 | 说明                                                   |
562| ------------ | ---------------------- | ---- | ------------------------------------------------------ |
563| uri          | string                 | 是   | 表示要插入数据的uri。                               |
564| valuesBucket | rdb.ValuesBucket       | 是   | 表示要插入的数据记录。如果此参数为空,将插入一个空行。 |
565| callback     | AsyncCallback\<number> | 是   | 回调函数,返回插入数据记录的索引。                     |
566
567**示例:**
568
569<!--code_no_check_fa-->
570```ts
571import ability from '@ohos.ability.ability';
572import featureAbility from '@ohos.ability.featureAbility';
573import rdb from '@ohos.data.rdb';
574
575let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
576    'dataability:///com.example.DataAbility'
577);
578const valueBucket: rdb.ValuesBucket = {
579    'name': 'rose',
580    'age': 22,
581    'salary': 200.5,
582    'blobType': 'u8',
583};
584DAHelper.insert('dataability:///com.example.DataAbility', valueBucket, (error, data) => {
585    if (error && error.code !== 0) {
586        console.error(`insert fail, error: ${JSON.stringify(error)}`);
587    } else {
588        console.log(`insert success, data: ${JSON.stringify(data)}`);
589    }
590});
591```
592
593## DataAbilityHelper.insert
594
595insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise\<number>
596
597将单个数据记录插入数据库。使用Promise异步回调。
598
599**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
600
601**模型约束**:此接口仅可在FA模型下使用。
602
603**参数:**
604
605| 参数名         | 类型             | 必填 | 说明                                                   |
606| ------------ | ---------------- | ---- | ------------------------------------------------------ |
607| uri          | string           | 是   | 表示要插入数据的uri。                               |
608| valuesBucket | rdb.ValuesBucket | 是   | 表示要插入的数据记录。如果此参数为空,将插入一个空行。 |
609
610**返回值:**
611
612| 类型             | 说明                     |
613| ---------------- | ------------------------ |
614| Promise\<number> | Promise对象,返回插入数据记录的索引。 |
615
616**示例:**
617
618<!--code_no_check_fa-->
619```ts
620import ability from '@ohos.ability.ability';
621import featureAbility from '@ohos.ability.featureAbility';
622import rdb from '@ohos.data.rdb';
623
624let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
625    'dataability:///com.example.DataAbility'
626);
627const valueBucket: rdb.ValuesBucket = {
628    'name': 'rose1',
629    'age': 221,
630    'salary': 20.5,
631    'blobType': 'u8',
632};
633DAHelper.insert('dataability:///com.example.DataAbility', valueBucket).then((data) => {
634    console.info(`insert data: ${JSON.stringify(data)}`);
635});
636```
637
638## DataAbilityHelper.batchInsert
639
640batchInsert(uri: string, valuesBuckets: Array\<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void
641
642将多个数据记录插入数据库。使用callback异步回调。
643
644**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
645
646**模型约束**:此接口仅可在FA模型下使用。
647**参数:**
648
649| 参数名         | 类型                    | 必填 | 说明                             |
650| ------------ | ----------------------- | ---- | -------------------------------- |
651| uri          | string                  | 是   | 表示要插入数据的uri。         |
652| valuesBuckets | Array\<[rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket)> | 是   | 表示要插入的数据记录数组。           |
653| callback     | AsyncCallback\<number>  | 是   | 回调函数,返回插入的数据记录数。 |
654
655**示例:**
656
657<!--code_no_check_fa-->
658```ts
659import ability from '@ohos.ability.ability';
660import featureAbility from '@ohos.ability.featureAbility';
661import rdb from '@ohos.data.rdb';
662
663let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
664    'dataability:///com.example.DataAbility'
665);
666let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket,
667                     {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket,
668                     {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket);
669DAHelper.batchInsert('dataability:///com.example.DataAbility', cars, (error, data) => {
670    if (error && error.code !== 0) {
671        console.error(`batchInsert fail, error: ${JSON.stringify(error)}`);
672    } else {
673        console.log(`batchInsert success, data: ${JSON.stringify(data)}`);
674    }
675});
676```
677
678## DataAbilityHelper.batchInsert
679
680batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise\<number>
681
682将多个数据记录插入数据库。使用Promise异步回调。
683
684**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
685
686**模型约束**:此接口仅可在FA模型下使用。
687
688**参数:**
689
690| 参数名         | 类型                    | 必填 | 说明                     |
691| ------------ | ----------------------- | ---- | ------------------------ |
692| uri          | string                  | 是   | 表示要插入数据的uri。 |
693| valuesBuckets | Array<[rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket)> | 是   | 表示要插入的数据记录数组。   |
694
695**返回值:**
696
697| 类型             | 说明                   |
698| ---------------- | ---------------------- |
699| Promise\<number> | Promise对象,返回插入的数据记录数。 |
700
701**示例:**
702
703<!--code_no_check_fa-->
704```ts
705import ability from '@ohos.ability.ability';
706import featureAbility from '@ohos.ability.featureAbility';
707import rdb from '@ohos.data.rdb';
708
709let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
710    'dataability:///com.example.DataAbility'
711);
712let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket,
713                     {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket,
714                     {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket);
715DAHelper.batchInsert('dataability:///com.example.DataAbility', cars).then((data) => {
716    console.info(`batchInsert data: ${JSON.stringify(data)}`);
717});
718```
719
720## DataAbilityHelper.delete
721
722delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
723
724从数据库中删除一个或多个数据记录。使用callback异步回调。
725
726**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
727
728**模型约束**:此接口仅可在FA模型下使用。
729
730**参数:**
731
732| 参数名         | 类型                              | 必填 | 说明                                             |
733| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
734| uri          | string                            | 是   | 表示要删除数据的uri。                         |
735| predicates | dataAbility.DataAbilityPredicates | 是   | 表示筛选条件。当此参数为null时,应定义处理逻辑。 |
736| callback     | AsyncCallback\<number>            | 是   | 回调函数,返回已删除的数据记录数。               |
737
738**示例:**
739
740<!--code_no_check_fa-->
741```ts
742import ability from '@ohos.ability.ability';
743import featureAbility from '@ohos.ability.featureAbility';
744import ohos_data_ability from '@ohos.data.dataAbility';
745
746let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
747    'dataability:///com.example.DataAbility'
748);
749let da = new ohos_data_ability.DataAbilityPredicates();
750DAHelper.delete('dataability:///com.example.DataAbility', da, (error, data) => {
751    if (error && error.code !== 0) {
752        console.error(`delete fail, error: ${JSON.stringify(error)}`);
753    } else {
754        console.log(`delete success, data: ${JSON.stringify(data)}`);
755    }
756});
757```
758
759## DataAbilityHelper.delete
760
761delete(uri: string, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>
762
763从数据库中删除一个或多个数据记录。使用Promise异步回调。
764
765**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
766
767**模型约束**:此接口仅可在FA模型下使用。
768
769**参数:**
770
771| 参数名         | 类型                              | 必填 | 说明                                             |
772| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
773| uri          | string                            | 是   | 表示要删除数据的uri。                         |
774| predicates | dataAbility.DataAbilityPredicates | 否   | 表示筛选条件。当此参数为null时,应定义处理逻辑。 |
775
776**返回值:**
777
778| 类型             | 说明                     |
779| ---------------- | ------------------------ |
780| Promise\<number> | Promise对象,返回已删除的数据记录数。 |
781
782**示例:**
783
784<!--code_no_check_fa-->
785```ts
786import ability from '@ohos.ability.ability';
787import featureAbility from '@ohos.ability.featureAbility';
788import ohos_data_ability from '@ohos.data.dataAbility';
789
790let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
791    'dataability:///com.example.DataAbility'
792);
793let da = new ohos_data_ability.DataAbilityPredicates();
794DAHelper.delete('dataability:///com.example.DataAbility', da).then((data) => {
795    console.info(`delete data: ${JSON.stringify(data)}`);
796});
797```
798
799## DataAbilityHelper.delete
800
801delete(uri: string, callback: AsyncCallback\<number>): void
802
803predicates筛选条件为空,自定义数据库删除数据记录的处理逻辑。使用callback异步回调。
804
805**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
806
807**模型约束**:此接口仅可在FA模型下使用。
808
809**参数:**
810
811| 参数名         | 类型                              | 必填 | 说明                                             |
812| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
813| uri          | string                            | 是   | 表示要删除数据的uri。                         |
814| callback     | AsyncCallback\<number>            | 是   | 回调函数,返回已删除的数据记录数。               |
815
816**示例:**
817
818<!--code_no_check_fa-->
819```ts
820import ability from '@ohos.ability.ability';
821import featureAbility from '@ohos.ability.featureAbility';
822
823let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
824    'dataability:///com.example.DataAbility'
825);
826DAHelper.delete('dataability:///com.example.DataAbility', (error, data) => {
827    if (error && error.code !== 0) {
828        console.error(`delete fail, error: ${JSON.stringify(error)}`);
829    } else {
830        console.log(`delete success, data: ${JSON.stringify(data)}`);
831    }
832});
833```
834
835## DataAbilityHelper.update
836
837update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
838
839更新数据库中的数据记录。使用callback异步回调。
840
841**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
842
843**模型约束**:此接口仅可在FA模型下使用。
844
845**参数:**
846
847| 参数名         | 类型                              | 必填 | 说明                                             |
848| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
849| uri          | string                            | 是   | 表示要更新数据的uri。                         |
850| valuesBucket | rdb.ValuesBucket                  | 是   | 表示要更新的数据。                               |
851| predicates   | dataAbility.DataAbilityPredicates | 是   | 表示筛选条件。当此参数为null时,应定义处理逻辑。 |
852| callback     | AsyncCallback\<number>            | 是   | 回调函数,返回更新的数据记录数。                 |
853
854**示例:**
855
856<!--code_no_check_fa-->
857```ts
858import ability from '@ohos.ability.ability';
859import featureAbility from '@ohos.ability.featureAbility';
860import ohos_data_ability from '@ohos.data.dataAbility';
861import rdb from '@ohos.data.rdb';
862
863let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
864    'dataability:///com.example.DataAbility'
865);
866const va: rdb.ValuesBucket = {
867    'name': 'roe1',
868    'age': 21,
869    'salary': 20.5,
870    'blobType': 'u8',
871};
872let da = new ohos_data_ability.DataAbilityPredicates();
873DAHelper.update('dataability:///com.example.DataAbility', va, da, (error, data) => {
874    if (error && error.code !== 0) {
875        console.error(`update fail, error: ${JSON.stringify(error)}`);
876    } else {
877        console.log(`update success, data: ${JSON.stringify(data)}`);
878    }
879});
880```
881
882## DataAbilityHelper.update
883
884update(uri: string, valuesBucket: rdb.ValuesBucket, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>
885
886更新数据库中的数据记录。使用Promise异步回调。
887
888**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
889
890**模型约束**:此接口仅可在FA模型下使用。
891
892**参数:**
893
894| 参数名         | 类型                              | 必填 | 说明                                             |
895| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
896| uri          | string                            | 是   | 表示要更新数据的uri。                         |
897| valuesBucket | rdb.ValuesBucket                  | 是   | 表示要更新的数据。                               |
898| predicates   | dataAbility.DataAbilityPredicates | 否   | 表示筛选条件。当此参数为null时,应定义处理逻辑。 |
899
900**返回值:**
901
902| 类型             | 说明                                         |
903| ---------------- | -------------------------------------------- |
904| Promise\<number> | Promise对象,返回更新的数据记录数。 |
905
906**示例:**
907
908<!--code_no_check_fa-->
909```ts
910import ability from '@ohos.ability.ability';
911import featureAbility from '@ohos.ability.featureAbility';
912import ohos_data_ability from '@ohos.data.dataAbility';
913import rdb from '@ohos.data.rdb';
914
915let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
916    'dataability:///com.example.DataAbility'
917);
918const va: rdb.ValuesBucket = {
919    'name': 'roe1',
920    'age': 21,
921    'salary': 20.5,
922    'blobType': 'u8',
923};
924let da = new ohos_data_ability.DataAbilityPredicates();
925DAHelper.update('dataability:///com.example.DataAbility', va, da).then((data) => {
926    console.info(`update data: ${JSON.stringify(data)}`);
927});
928```
929
930## DataAbilityHelper.update
931
932update(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void
933
934predicates筛选条件为空,自定义更新数据库的处理逻辑。使用callback异步回调。
935
936**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
937
938**模型约束**:此接口仅可在FA模型下使用。
939
940**参数:**
941
942| 参数名         | 类型                              | 必填 | 说明                                             |
943| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
944| uri          | string                            | 是   | 表示要更新数据的uri。                         |
945| valuesBucket | rdb.ValuesBucket                  | 是   | 表示要更新的数据。                               |
946| callback     | AsyncCallback\<number>            | 是   | 回调函数,返回更新的数据记录数。                 |
947
948**示例:**
949
950<!--code_no_check_fa-->
951```ts
952import ability from '@ohos.ability.ability';
953import featureAbility from '@ohos.ability.featureAbility';
954import rdb from '@ohos.data.rdb';
955
956let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
957    'dataability:///com.example.DataAbility'
958);
959const va: rdb.ValuesBucket = {
960    'name': 'roe1',
961    'age': 21,
962    'salary': 20.5,
963    'blobType': 'u8',
964};
965DAHelper.update('dataability:///com.example.DataAbility', va, (error, data) => {
966    if (error && error.code !== 0) {
967        console.error(`update fail, error: ${JSON.stringify(error)}`);
968    } else {
969        console.log(`update success, data: ${JSON.stringify(data)}`);
970    }
971});
972```
973
974## DataAbilityHelper.query
975
976query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void
977
978查询数据库中的数据。使用callback异步回调。
979
980**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
981
982**模型约束**:此接口仅可在FA模型下使用。
983
984**参数:**
985
986| 参数名       | 类型                              | 必填 | 说明                                             |
987| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
988| uri        | string                            | 是   | 表示要查询数据的uri。                         |
989| columns    | Array\<string>                | 是   | 表示要查询的列。如果此参数为空,则查询所有列。   |
990| predicates | dataAbility.DataAbilityPredicates | 是   | 表示筛选条件。当此参数为null时,自定义查询数据库中数据的处理逻辑。 |
991| callback   | AsyncCallback\<[ResultSet](../apis-arkdata/js-apis-data-relationalStore.md#resultset)>         | 是   | 回调函数,返回查询结果。                         |
992
993**示例:**
994
995<!--code_no_check_fa-->
996```ts
997import ability from '@ohos.ability.ability';
998import featureAbility from '@ohos.ability.featureAbility';
999import ohos_data_ability from '@ohos.data.dataAbility';
1000
1001let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1002    'dataability:///com.example.DataAbility'
1003);
1004let cars=new Array('value1', 'value2', 'value3', 'value4');
1005let da = new ohos_data_ability.DataAbilityPredicates();
1006DAHelper.query('dataability:///com.example.DataAbility', cars, da, (error, data) => {
1007    if (error && error.code !== 0) {
1008        console.error(`query fail, error: ${JSON.stringify(error)}`);
1009    } else {
1010        console.log(`query success, data: ${JSON.stringify(data)}`);
1011    }
1012});
1013```
1014
1015## DataAbilityHelper.query
1016
1017query(uri: string, callback: AsyncCallback\<ResultSet>): void
1018
1019查询数据库中的数据。使用callback异步回调。
1020
1021**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1022
1023**模型约束**:此接口仅可在FA模型下使用。
1024
1025**参数:**
1026
1027| 参数名       | 类型                              | 必填 | 说明                                             |
1028| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
1029| uri        | string                            | 是   | 表示要查询数据的uri。                         |
1030| callback   | AsyncCallback\<[ResultSet](../apis-arkdata/js-apis-data-relationalStore.md#resultset)>         | 是   | 回调函数,返回查询结果。                         |
1031
1032**示例:**
1033
1034<!--code_no_check_fa-->
1035```ts
1036import ability from '@ohos.ability.ability';
1037import featureAbility from '@ohos.ability.featureAbility';
1038
1039let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1040    'dataability:///com.example.DataAbility'
1041);
1042DAHelper.query('dataability:///com.example.DataAbility', (error, data) => {
1043    if (error && error.code !== 0) {
1044        console.error(`query fail, error: ${JSON.stringify(error)}`);
1045    } else {
1046        console.log(`query success, data: ${JSON.stringify(data)}`);
1047    }
1048});
1049```
1050
1051## DataAbilityHelper.query
1052
1053query(uri: string, columns: Array\<string>, callback: AsyncCallback\<ResultSet>): void
1054
1055查询数据库中的数据。使用callback异步回调。
1056
1057**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1058
1059**模型约束**:此接口仅可在FA模型下使用。
1060
1061**参数:**
1062
1063| 参数名       | 类型                              | 必填 | 说明                                             |
1064| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
1065| uri        | string                            | 是   | 表示要查询数据的uri。                         |
1066| columns    | Array\<string>                | 是   | 表示要查询的列。如果此参数为空,则查询所有列。   |
1067| callback   | AsyncCallback\<[ResultSet](../apis-arkdata/js-apis-data-relationalStore.md#resultset)>         | 是   | 回调函数,返回查询结果。                         |
1068
1069**示例:**
1070
1071<!--code_no_check_fa-->
1072```ts
1073import ability from '@ohos.ability.ability';
1074import featureAbility from '@ohos.ability.featureAbility';
1075
1076let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1077    'dataability:///com.example.DataAbility'
1078);
1079let cars = new Array('value1', 'value2', 'value3', 'value4');
1080DAHelper.query('dataability:///com.example.DataAbility', cars, (error, data) => {
1081    if (error && error.code !== 0) {
1082        console.error(`query fail, error: ${JSON.stringify(error)}`);
1083    } else {
1084        console.log(`query success, data: ${JSON.stringify(data)}`);
1085    }
1086});
1087```
1088
1089## DataAbilityHelper.query
1090
1091query(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void
1092
1093查询数据库中的数据。使用callback异步回调。
1094
1095**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1096
1097**模型约束**:此接口仅可在FA模型下使用。
1098
1099**参数:**
1100
1101| 参数名       | 类型                              | 必填 | 说明                                             |
1102| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
1103| uri        | string                            | 是   | 表示要查询数据的uri。                         |
1104| predicates | dataAbility.DataAbilityPredicates | 是   | 表示筛选条件。当此参数为null时,自定义查询数据库中数据的处理逻辑。 |
1105| callback   | AsyncCallback\<[ResultSet](../apis-arkdata/js-apis-data-relationalStore.md#resultset)>         | 是   | 回调函数,返回查询结果。                         |
1106
1107**示例:**
1108
1109<!--code_no_check_fa-->
1110```ts
1111import ability from '@ohos.ability.ability';
1112import featureAbility from '@ohos.ability.featureAbility';
1113import ohos_data_ability from '@ohos.data.dataAbility';
1114
1115let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1116    'dataability:///com.example.DataAbility'
1117);
1118let da = new ohos_data_ability.DataAbilityPredicates();
1119DAHelper.query('dataability:///com.example.DataAbility', da, (error, data) => {
1120    if (error && error.code !== 0) {
1121        console.error(`query fail, error: ${JSON.stringify(error)}`);
1122    } else {
1123        console.log(`query success, data: ${JSON.stringify(data)}`);
1124    }
1125});
1126```
1127
1128## DataAbilityHelper.query
1129
1130query(uri: string, columns?: Array\<string>, predicates?: dataAbility.DataAbilityPredicates): Promise\<ResultSet>
1131
1132查询数据库中的数据。使用Promise异步回调。
1133
1134**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1135
1136**模型约束**:此接口仅可在FA模型下使用。
1137
1138**参数:**
1139
1140| 参数名       | 类型                              | 必填 | 说明                                             |
1141| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
1142| uri        | string                            | 是   | 表示要查询数据的uri。                         |
1143| columns    | Array\<string>               | 否   | 表示要查询的列。如果此参数为空,则查询所有列。   |
1144| predicates | dataAbility.DataAbilityPredicates | 否   | 表示筛选条件。当此参数为null时,自定义查询数据库中数据的处理逻辑。 |
1145
1146**返回值:**
1147
1148| 类型                | 说明           |
1149| ------------------- | -------------- |
1150| Promise\<[ResultSet](../apis-arkdata/js-apis-data-relationalStore.md#resultset)> | Promise对象,返回查询结果。 |
1151
1152**示例:**
1153
1154<!--code_no_check_fa-->
1155```ts
1156import ability from '@ohos.ability.ability';
1157import featureAbility from '@ohos.ability.featureAbility';
1158import ohos_data_ability from '@ohos.data.dataAbility';
1159
1160let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1161    'dataability:///com.example.DataAbility'
1162);
1163let cars = new Array('value1', 'value2', 'value3', 'value4');
1164let da = new ohos_data_ability.DataAbilityPredicates();
1165DAHelper.query('dataability:///com.example.DataAbility', cars, da).then((data) => {
1166    console.info(`query data: ${JSON.stringify(data)}`);
1167});
1168```
1169
1170## DataAbilityHelper.call
1171
1172call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback\<PacMap>): void
1173
1174调用DataAbility的扩展接口。使用callback异步回调。
1175
1176**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1177
1178**模型约束**:此接口仅可在FA模型下使用。
1179
1180**参数:**
1181
1182| 参数名       | 类型                              | 必填 | 说明                                             |
1183| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
1184| uri        | string                 | 是   | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'           |
1185| method    | string                  | 是   | 表示被调用的方法名。   |
1186| arg      | string                   | 是   | 表示需传入的参数。      |
1187| extras   | [PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap)        | 是   | 表示扩展的键值对参数。       |
1188| callback | AsyncCallback\<[PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap)> | 是 | 回调函数,返回扩展的键值对参数。     |
1189
1190**示例:**
1191
1192<!--code_no_check_fa-->
1193```ts
1194import ability from '@ohos.ability.ability';
1195import featureAbility from '@ohos.ability.featureAbility';
1196
1197let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1198    'dataability:///com.example.jsapidemo.UserDataAbility'
1199);
1200dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility',
1201    'method', 'arg', {'key1':'value1'}, (error, data) => {
1202    if (error && error.code !== 0) {
1203        console.error(`call fail, error: ${JSON.stringify(error)}`);
1204    } else {
1205        console.log(`call success, data: ${JSON.stringify(data)}`);
1206    }
1207});
1208```
1209
1210## DataAbilityHelper.call
1211
1212call(uri: string, method: string, arg: string, extras: PacMap): Promise\<PacMap>
1213
1214调用DataAbility的扩展接口。使用Promise异步回调。
1215
1216**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1217
1218**模型约束**:此接口仅可在FA模型下使用。
1219
1220**参数:**
1221
1222| 参数名       | 类型                              | 必填 | 说明                                             |
1223| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
1224| uri        | string                 | 是   | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'           |
1225| method    | string                  | 是   | 表示被调用的方法名。   |
1226| arg      | string                   | 是   | 表示需传入的参数。      |
1227| extras   | [PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap)        | 是   | 表示扩展的键值对参数。       |
1228
1229**返回值:**
1230
1231| 类型 | 说明 |
1232|------ | ------- |
1233|Promise\<[PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap)> | Promise对象,返回扩展的键值对参数。 |
1234
1235**示例:**
1236
1237<!--code_no_check_fa-->
1238```ts
1239import ability from '@ohos.ability.ability';
1240import featureAbility from '@ohos.ability.featureAbility';
1241import { BusinessError } from '@ohos.base';
1242
1243let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1244    'dataability:///com.example.jsapidemo.UserDataAbility'
1245);
1246dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility',
1247    'method', 'arg', {'key1':'value1'}).then((data) => {
1248    console.info('call success, data: ${data}');
1249}).catch((error: BusinessError) => {
1250    console.error('call failed, error: ${error}');
1251});
1252```
1253
1254## DataAbilityHelper.executeBatch
1255
1256executeBatch(uri: string, operations: Array\<DataAbilityOperation>, callback: AsyncCallback\<Array\<DataAbilityResult>>): void
1257
1258批量操作数据库中的数据。使用callback异步回调。
1259
1260**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1261
1262**模型约束**:此接口仅可在FA模型下使用。
1263
1264**参数:**
1265
1266| 参数名        | 类型                          | 必填 | 说明                                             |
1267| ----------| ---------------------------------| ---- | ------------------------------------------------ |
1268| uri       | string                           | 是   | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。|
1269| operations    |  Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)>        | 是   | 表示数据操作数组,其中可以包含对数据库的多个不同操作。   |
1270| callback      |  AsyncCallback\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>>    | 是   | 回调函数,在DataAbilityResult数组中返回每个操作的结果。      |
1271
1272**示例:**
1273
1274<!--code_no_check_fa-->
1275```ts
1276import ability from '@ohos.ability.ability';
1277import featureAbility from '@ohos.ability.featureAbility';
1278
1279// 根据DataAbilityOperation列表选择要对数据库做的操作
1280let op: Array<ability.DataAbilityOperation> = new Array();
1281let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1282    'dataability:///com.example.jsapidemo.UserDataAbility'
1283);
1284dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op, (error, data) => {
1285    if (error && error.code !== 0) {
1286        console.error(`executeBatch fail, error: ${JSON.stringify(error)}`);
1287    } else {
1288        console.log(`executeBatch success, data: ${JSON.stringify(data)}`);
1289    }
1290});
1291```
1292
1293## DataAbilityHelper.executeBatch
1294
1295executeBatch(uri: string, operations: Array\<DataAbilityOperation>): Promise\<Array\<DataAbilityResult>>
1296
1297批量操作数据库中的数据。使用Promise异步回调。
1298
1299**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1300
1301**模型约束**:此接口仅可在FA模型下使用。
1302
1303**参数:**
1304
1305| 参数名          | 类型                            | 必填 | 说明                                             |
1306| ----------    | -------------------------------| ---- | ------------------------------------------------ |
1307| uri           | string                         | 是   | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。|
1308| operations    |  Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)>  | 是   | 表示数据操作数组,其中可以包含对数据库的多个不同操作。   |
1309
1310**返回值:**
1311
1312| 类型 | 说明 |
1313|------ | ------- |
1314|Promise\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | Promise对象,在DataAbilityResult数组中返回每个操作的结果。 |
1315
1316**示例:**
1317
1318<!--code_no_check_fa-->
1319```ts
1320import ability from '@ohos.ability.ability';
1321import featureAbility from '@ohos.ability.featureAbility';
1322import { BusinessError } from '@ohos.base';
1323
1324// 根据DataAbilityOperation列表选择要对数据库做的操作
1325let op: Array<ability.DataAbilityOperation> = new Array();
1326let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
1327    'dataability:///com.example.jsapidemo.UserDataAbility'
1328);
1329dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op).then((data) => {
1330    console.info('executeBatch success, data: ${data}');
1331}).catch((error: BusinessError) => {
1332    console.error('executeBatch failed, error: ${error}');
1333});
1334
1335```
1336
1337## PacMap
1338
1339[key: string]: number | string | boolean | Array\<string | number | boolean> | null
1340
1341用于存储数据的PacMap类型。
1342
1343**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
1344
1345| 参数名 | 参数类型 | 必填 | 说明 |
1346| ------ | ------ | ------ | ------ |
1347| [key: string] | number \| string \| boolean \| Array\<string \| number \| boolean\> \| null | 是 | 数据存储在键值对中。|