• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# DataAbilityResult
2<!--Kit: Ability Kit-->
3<!--Subsystem: Ability-->
4<!--Owner: @xialiangwei-->
5<!--Designer: @jsjzju-->
6<!--Tester: @lixueqing513-->
7<!--Adviser: @huipeizi-->
8
9定义DataAbility数据操作结果,通过[executeBatch](js-apis-inner-ability-dataAbilityHelper.md#dataabilityhelperexecutebatch)操作数据库时,操作结果使用DataAbilityResult对象返回。
10
11> **说明:**
12>
13> 本接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14>
15> 此接口仅可在FA模型下使用。
16
17## 导入模块
18
19```ts
20import ability from '@ohos.ability.ability';
21```
22
23## 属性
24
25**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
26
27| 名称      | 类型  | 只读  | 可选    |       说明   |
28| -------- | -------- | -------- | -------- | -------- |
29| uri      | string    | 否  | 是    | 指示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。  |
30| count     | number   | 否  | 是    | 指示受操作影响的数据数量。  |
31
32**示例:**
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// 批量执行数据库操作
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```