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 | Read Only | Optional | Description | 21| -------- | -------- | -------- | -------- | -------- | 22| uri | string | No | Yes | URI of the DataAbility. Example: 'dataability:///com.example.xxx.xxxx'. | 23| count | number | No | Yes | Number of rows affected by the operation. | 24 25**Example** 26 27<!--code_no_check_fa--> 28```ts 29import ability from '@ohos.ability.ability'; 30import featureAbility from '@ohos.ability.featureAbility'; 31import rdb from '@ohos.data.rdb'; 32import { BusinessError } from '@ohos.base'; 33 34// Perform database operations in batches. 35function executeBatchOperation() { 36 let dataAbilityUri = ('dataability:///com.example.myapplication.TestDataAbility'); 37 let DAHelper: ability.DataAbilityHelper; 38 DAHelper = featureAbility.acquireDataAbilityHelper(dataAbilityUri); 39 40 let valueBucket: rdb.ValuesBucket = { 41 'name': 'DataAbilityHelperTest', 42 'age': 24, 43 'salary': 2024.20, 44 }; 45 let predicateBackReferences = new Map<number, number>() 46 predicateBackReferences.set(1, 1) 47 48 let operations: Array<ability.DataAbilityOperation> = [ 49 { 50 uri: dataAbilityUri, 51 type: featureAbility.DataAbilityOperationType.TYPE_INSERT, 52 valuesBucket: valueBucket, 53 expectedCount: 1, 54 predicatesBackReferences: predicateBackReferences, 55 interrupted: true, 56 }, 57 { 58 uri: dataAbilityUri, 59 type: featureAbility.DataAbilityOperationType.TYPE_INSERT, 60 valuesBucket: valueBucket, 61 expectedCount: 1, 62 predicatesBackReferences: predicateBackReferences, 63 interrupted: true, 64 } 65 ]; 66 try { 67 DAHelper.executeBatch(dataAbilityUri, operations).then((data) => { 68 for (let i = 0; i < data.length; i++) { 69 let dataAbilityResult: ability.DataAbilityResult = data[i]; 70 console.log(`dataAbilityResult.uri: ${dataAbilityResult.uri}`); 71 console.log(`dataAbilityResult.count: ${dataAbilityResult.count}`); 72 } 73 }).catch((err: BusinessError) => { 74 console.error(`executeBatch error: ${JSON.stringify(err)}`); 75 }); 76 } catch (err) { 77 console.error(`executeBatch error: ${JSON.stringify(err as BusinessError)}`); 78 } 79} 80``` 81