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