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