1# DataAbilityResult 2<!--Kit: Ability Kit--> 3<!--Subsystem: Ability--> 4<!--Owner: @xialiangwei--> 5<!--Designer: @jsjzju--> 6<!--Tester: @lixueqing513--> 7<!--Adviser: @huipeizi--> 8 9The 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. 10 11> **NOTE** 12> 13> 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. 14> 15> The APIs of this module can be used only in the FA model. 16 17## Modules to Import 18 19```ts 20import ability from '@ohos.ability.ability'; 21``` 22 23## Attributes 24 25**System capability**: SystemCapability.Ability.AbilityRuntime.FAModel 26 27| Name | Type | Read Only | Optional | Description | 28| -------- | -------- | -------- | -------- | -------- | 29| uri | string | No | Yes | URI of the DataAbility. Example: 'dataability:///com.example.xxx.xxxx'. | 30| count | number | No | Yes | Number of rows affected by the operation. | 31 32**Example** 33 34<!--code_no_check_fa--> 35```ts 36import ability from '@ohos.ability.ability'; 37import featureAbility from '@ohos.ability.featureAbility'; 38import rdb from '@ohos.data.rdb'; 39import { BusinessError } from '@ohos.base'; 40 41// Perform database operations in batches. 42function executeBatchOperation() { 43 let dataAbilityUri = ('dataability:///com.example.myapplication.TestDataAbility'); 44 let DAHelper: ability.DataAbilityHelper; 45 DAHelper = featureAbility.acquireDataAbilityHelper(dataAbilityUri); 46 47 let valueBucket: rdb.ValuesBucket = { 48 'name': 'DataAbilityHelperTest', 49 'age': 24, 50 'salary': 2024.20, 51 }; 52 let predicateBackReferences = new Map<number, number>() 53 predicateBackReferences.set(1, 1) 54 55 let operations: Array<ability.DataAbilityOperation> = [ 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 uri: dataAbilityUri, 66 type: featureAbility.DataAbilityOperationType.TYPE_INSERT, 67 valuesBucket: valueBucket, 68 expectedCount: 1, 69 predicatesBackReferences: predicateBackReferences, 70 interrupted: true, 71 } 72 ]; 73 try { 74 DAHelper.executeBatch(dataAbilityUri, operations).then((data) => { 75 for (let i = 0; i < data.length; i++) { 76 let dataAbilityResult: ability.DataAbilityResult = data[i]; 77 console.log(`dataAbilityResult.uri: ${dataAbilityResult.uri}`); 78 console.log(`dataAbilityResult.count: ${dataAbilityResult.count}`); 79 } 80 }).catch((err: BusinessError) => { 81 console.error(`executeBatch error: ${JSON.stringify(err)}`); 82 }); 83 } catch (err) { 84 console.error(`executeBatch error: ${JSON.stringify(err as BusinessError)}`); 85 } 86} 87``` 88