• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Accessing a DataAbility
2
3
4To access a DataAbility, import the basic dependency packages and obtain the URI string for communicating with the DataAbility.
5
6
7The basic dependency packages include:
8
9
10- @ohos.ability.featureAbility
11
12- @ohos.data.dataAbility
13
14- @ohos.data.relationalStore
15
16
17The sample code for accessing a DataAbility is as follows:
18
19
201. Create a **DataAbilityHelper** instance.
21
22   ```ts
23   // Different from the URI defined in the config.json file, the URI passed in the parameter has an extra slash (/), three slashes in total.
24   import featureAbility from '@ohos.ability.featureAbility'
25   import ohos_data_ability from '@ohos.data.dataAbility'
26   import relationalStore from '@ohos.data.relationalStore'
27
28   let urivar = "dataability:///com.ix.DataAbility"
29   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
30   ```
31
322. Construct RDB data.
33
34   ```ts
35   import ohos_data_ability from '@ohos.data.dataAbility'
36   import rdb from '@ohos.data.rdb'
37
38   let valuesBucket: rdb.ValuesBucket = {"name": "gaolu"}
39   let da = new ohos_data_ability.DataAbilityPredicates()
40   let valArray = new Array("value1");
41   let cars = new Array({"batchInsert1" : "value1",} as rdb.ValuesBucket);
42   ```
43
44   For details about DataAbilityPredicates, see [DataAbility Predicates](../reference/apis/js-apis-data-ability.md).
45
463. Use **insert** to insert data to the DataAbility.
47
48   ```ts
49   import { BusinessError } from '@ohos.base';
50
51   // Callback mode:
52   DAHelper.insert(
53     urivar,
54     valuesBucket,
55     (error: BusinessError, data: number) => {
56       console.info("DAHelper insert result: " + data)
57     }
58   );
59   ```
60
61
62   ```ts
63   import featureAbility from '@ohos.ability.featureAbility'
64   import { BusinessError } from '@ohos.base';
65
66   let urivar = "dataability:///com.ix.DataAbility"
67   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
68   // Promise mode (await needs to be used in the asynchronous method):
69   let datainsert = await DAHelper.insert(urivar, valuesBucket).then((data) => {
70     console.info("insert success.");
71   }).catch((error: BusinessError) => {
72     console.error("insert failed.");
73   });
74   ```
75
764. Use **delete** to delete data from the DataAbility.
77
78   ```ts
79   import featureAbility from '@ohos.ability.featureAbility'
80
81   let urivar = "dataability:///com.ix.DataAbility"
82   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
83   // Callback mode:
84   DAHelper.delete(
85     urivar,
86     da,
87     (error, data) => {
88       console.info("DAHelper delete result: " + data)
89     }
90   );
91   ```
92
93
94   ```ts
95   import featureAbility from '@ohos.ability.featureAbility'
96
97   let urivar = "dataability:///com.ix.DataAbility"
98   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
99   // Promise mode (await needs to be used in the asynchronous method):
100   let datadelete = await DAHelper.delete(
101     urivar,
102     da,
103   );
104   ```
105
1065. Use **update** to update data in the DataAbility.
107
108   ```ts
109   import featureAbility from '@ohos.ability.featureAbility'
110
111   let urivar = "dataability:///com.ix.DataAbility"
112   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
113   // Callback mode:
114   DAHelper.update(
115     urivar,
116     valuesBucket,
117     da,
118     (error, data) => {
119       console.info("DAHelper update result: " + data)
120     }
121   );
122   ```
123
124
125   ```ts
126   import featureAbility from '@ohos.ability.featureAbility'
127
128   let urivar = "dataability:///com.ix.DataAbility"
129   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
130   // Promise mode (await needs to be used in the asynchronous method):
131   let dataupdate = await DAHelper.update(
132     urivar,
133     valuesBucket,
134     da,
135   );
136   ```
137
1386. Use **query** to query data in the DataAbility.
139
140   ```ts
141   import featureAbility from '@ohos.ability.featureAbility'
142
143   let urivar = "dataability:///com.ix.DataAbility"
144   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
145   // Callback mode:
146   DAHelper.query(
147     urivar,
148     valArray,
149     da,
150     (error, data) => {
151       console.info("DAHelper query result: " + data)
152     }
153   );
154   ```
155
156
157   ```ts
158   import featureAbility from '@ohos.ability.featureAbility'
159
160   let urivar = "dataability:///com.ix.DataAbility"
161   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
162   // Promise mode (await needs to be used in the asynchronous method):
163   let dataquery = await DAHelper.query(
164     urivar,
165     valArray,
166     da
167   );
168   ```
169
1707. Use **batchInsert** to insert data in batches to the DataAbility.
171
172   ```ts
173   import featureAbility from '@ohos.ability.featureAbility'
174
175   let urivar = "dataability:///com.ix.DataAbility"
176   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
177   // Callback mode:
178   DAHelper.batchInsert(
179     urivar,
180     cars,
181     (error, data) => {
182       console.info("DAHelper batchInsert result: " + data)
183     }
184   );
185   ```
186
187
188   ```ts
189   import featureAbility from '@ohos.ability.featureAbility'
190
191   let urivar = "dataability:///com.ix.DataAbility"
192   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
193   // Promise mode (await needs to be used in the asynchronous method):
194   let databatchInsert = await DAHelper.batchInsert(
195     urivar,
196     cars
197   );
198   ```
199
2008. Use **executeBatch** to process data in batches in the DataAbility.
201
202   ```ts
203   import featureAbility from '@ohos.ability.featureAbility'
204
205   let urivar = "dataability:///com.ix.DataAbility"
206   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
207   // Callback mode:
208   DAHelper.executeBatch(
209     urivar,
210     [
211       {
212         uri: urivar,
213         type: featureAbility.DataAbilityOperationType.TYPE_INSERT,
214         valuesBucket: {"executeBatch" : "value1",},
215         predicates: da,
216         expectedCount:0,
217         predicatesBackReferences: undefined,
218         interrupted:true,
219       }
220     ],
221     (error, data) => {
222       console.info("DAHelper executeBatch result: " + data)
223     }
224   );
225   ```
226
227
228   ```ts
229   import featureAbility from '@ohos.ability.featureAbility'
230
231   let urivar = "dataability:///com.ix.DataAbility"
232   let DAHelper = featureAbility.acquireDataAbilityHelper(urivar);
233   // Promise mode (await needs to be used in the asynchronous method):
234   let dataexecuteBatch = await DAHelper.executeBatch(
235     urivar,
236     [
237       {
238         uri: urivar,
239         type: featureAbility.DataAbilityOperationType.TYPE_INSERT,
240         valuesBucket:
241         {
242           "executeBatch" : "value1",
243         },
244         predicates: da,
245         expectedCount:0,
246         predicatesBackReferences: undefined,
247         interrupted:true,
248       }
249     ]
250   );
251   ```
252
253
254The APIs for operating a DataAbility are provided by **DataAbilityHelper**. For details about the APIs, see [DataAbilityHelper](../reference/apis/js-apis-inner-ability-dataAbilityHelper.md).
255