• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# DataAbilityResult
2
3The **DataAbilityResult** module defines the operation result on DataAbilities. When you call [executeBatch](js-apis-inner-ability-dataAbilityHelper.md#dataabilityhelperexecutebatch) to operate the database, the operation result is returned through the **DataAbilityResult** object.
4
5> **NOTE**
6>
7> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8> The APIs of this module can be used only in the FA model.
9
10## Modules to Import
11
12```ts
13import ability from '@ohos.ability.ability';
14```
15
16## Attributes
17
18**System capability**: SystemCapability.Ability.AbilityRuntime.FAModel
19
20| Name      | Type |     Mandatory   |       Description  |
21| --------  | --------  | --------    | --------    |
22| uri?      | string    |      No   | URI of the DataAbility. Example: 'dataability:///com.example.xxx.xxxx'. |
23| count?     | number    |      No   | Number of rows affected by the operation. |
24
25**Example**
26
27```ts
28import ability from '@ohos.ability.ability';
29import featureAbility from '@ohos.ability.featureAbility';
30import rdb from '@ohos.data.rdb';
31import { BusinessError } from '@ohos.base';
32
33// Perform database operations in batches.
34function executeBatchOperation() {
35    let dataAbilityUri = ('dataability:///com.example.myapplication.TestDataAbility');
36    let DAHelper: ability.DataAbilityHelper;
37    DAHelper = featureAbility.acquireDataAbilityHelper(dataAbilityUri);
38
39    let valueBucket: rdb.ValuesBucket = {
40        'name': 'DataAbilityHelperTest',
41        'age': 24,
42        'salary': 2024.20,
43    };
44    let predicateBackReferences = new Map<number, number>()
45    predicateBackReferences.set(1, 1)
46
47    let operations: Array<ability.DataAbilityOperation> = [
48        {
49            uri: dataAbilityUri,
50            type: featureAbility.DataAbilityOperationType.TYPE_INSERT,
51            valuesBucket: valueBucket,
52            expectedCount: 1,
53            predicatesBackReferences: predicateBackReferences,
54            interrupted: true,
55        },
56        {
57            uri: dataAbilityUri,
58            type: featureAbility.DataAbilityOperationType.TYPE_INSERT,
59            valuesBucket: valueBucket,
60            expectedCount: 1,
61            predicatesBackReferences: predicateBackReferences,
62            interrupted: true,
63        }
64    ];
65    try {
66        DAHelper.executeBatch(dataAbilityUri, operations).then((data) => {
67            for (let i = 0; i < data.length; i++) {
68                let dataAbilityResult: ability.DataAbilityResult = data[i];
69                console.log('dataAbilityResult.uri: ${dataAbilityResult.uri}');
70                console.log('dataAbilityResult.count: ${dataAbilityResult.count}');
71            }
72        }).catch((err: BusinessError) => {
73            console.error(`executeBatch error: ${JSON.stringify(err)}`);
74        });
75    } catch (err) {
76        console.error(`executeBatch error: ${JSON.stringify(err as BusinessError)}`);
77    }
78}
79```
80