1# DataAbilityHelper 2<!--Kit: Ability Kit--> 3<!--Subsystem: Ability--> 4<!--Owner: @xialiangwei--> 5<!--Designer: @jsjzju--> 6<!--Tester: @lixueqing513--> 7<!--Adviser: @huipeizi--> 8 9可以通过[acquireDataAbilityHelper](js-apis-ability-featureAbility.md#featureabilityacquiredataabilityhelper7)接口获取DataAbilityHelper对象。 10 11> **说明:** 12> 13> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14 15## 导入模块 16 17```ts 18import ability from '@ohos.ability.ability'; 19``` 20 21## 使用说明 22 23使用前根据具体情况引入如下模块 24```ts 25import ohos_data_ability from '@ohos.data.dataAbility'; 26import relationalStore from '@ohos.data.relationalStore'; 27``` 28 29## DataAbilityHelper.openFile 30 31openFile(uri: string, mode: string, callback: AsyncCallback\<number>): void 32 33打开指定uri对应的文件,返回文件描述符。使用callback异步回调。 34 35**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 36 37**模型约束**:此接口仅可在FA模型下使用。 38 39**参数:** 40 41| 参数名 | 类型 | 必填 | 说明 | 42| -------- | ---------------------- | ---- | ---------------------------------- | 43| uri | string | 是 | 表示待打开文件的uri。 | 44| mode | string | 是 | 表示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。 | 45| callback | AsyncCallback\<number> | 是 | 回调函数,返回文件描述符。 | 46 47**示例:** 48 49<!--code_no_check_fa--> 50```ts 51import ability from '@ohos.ability.ability'; 52import featureAbility from '@ohos.ability.featureAbility'; 53 54let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 55 'dataability:///com.example.DataAbility' 56); 57let mode = 'rw'; 58DAHelper.openFile('dataability:///com.example.DataAbility', mode, (error, data) => { 59 if (error && error.code !== 0) { 60 console.error(`openFile fail, error: ${JSON.stringify(error)}`); 61 } else { 62 console.log(`openFile success, data: ${JSON.stringify(data)}`); 63 } 64}); 65``` 66 67## DataAbilityHelper.openFile 68 69openFile(uri: string, mode: string): Promise\<number> 70 71打开指定uri对应的文件,返回文件描述符。使用Promise异步回调。 72 73**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 74 75**模型约束**:此接口仅可在FA模型下使用。 76 77**参数:** 78 79| 参数名 | 类型 | 必填 | 说明 | 80| ---- | ------ | ---- | ------------------------ | 81| uri | string | 是 | 表示待打开文件的uri。 | 82| mode | string | 是 | 表示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。 | 83 84**返回值:** 85 86| 类型 | 说明 | 87| ---------------- | ---------------- | 88| Promise\<number> | Promise对象,返回文件说明符。 | 89 90**示例:** 91 92<!--code_no_check_fa--> 93```ts 94import ability from '@ohos.ability.ability'; 95import featureAbility from '@ohos.ability.featureAbility'; 96 97let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 98 'dataability:///com.example.DataAbility' 99); 100let mode = 'rw'; 101DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => { 102 console.info(`openFile data: ${JSON.stringify(data)}`); 103}); 104``` 105 106## DataAbilityHelper.on('dataChange') 107 108on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void 109 110注册观察者以监听uri指定数据的数据变化通知。使用callback异步回调。 111 112**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 113 114**模型约束**:此接口仅可在FA模型下使用。 115 116**参数:** 117 118| 参数名 | 类型 | 必填 | 说明 | 119| -------- | -------------------- | ---- | ------------------------ | 120| type | string | 是 | 表示监听操作类型,'dataChange'表示数据变化操作。 | 121| uri | string | 是 | 表示待监听数据变化的uri。 | 122| callback | AsyncCallback\<void> | 是 | 回调函数。当注册观察者以监听uri指定数据的数据变化通知成功,err为undefined,否则为错误对象。 | 123 124**示例:** 125 126<!--code_no_check_fa--> 127```ts 128import ability from '@ohos.ability.ability'; 129import featureAbility from '@ohos.ability.featureAbility'; 130 131let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 132 'dataability:///com.example.DataAbility' 133); 134function onChangeNotify() { 135 console.info('onChangeNotify call back'); 136}; 137DAHelper.on( 138 'dataChange', 139 'dataability:///com.example.DataAbility', 140 onChangeNotify 141); 142``` 143 144## DataAbilityHelper.off('dataChange') 145 146off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void 147 148注销观察者以停止监听uri指定数据的数据变化通知。使用callback异步回调。 149 150**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 151 152**模型约束**:此接口仅可在FA模型下使用。 153 154**参数:** 155 156| 参数名 | 类型 | 必填 | 说明 | 157| -------- | -------------------- | ---- | ------------------------ | 158| type | string | 是 | 表示监听操作类型,'dataChange'表示数据变化操作。 | 159| uri | string | 是 | 表示待取消监听数据变化的uri。 | 160| callback | AsyncCallback\<void> | 否 | 回调函数。当注销观察者以停止监听uri指定数据的数据变化通知成功,err为undefined,否则为错误对象。 | 161 162**示例:** 163 164<!--code_no_check_fa--> 165```ts 166import ability from '@ohos.ability.ability'; 167import featureAbility from '@ohos.ability.featureAbility'; 168 169let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 170 'dataability:///com.example.DataAbility' 171); 172function onChangeNotify() { 173 console.info('onChangeNotify call back'); 174}; 175DAHelper.off( 176 'dataChange', 177 'dataability:///com.example.DataAbility', 178 onChangeNotify 179); 180DAHelper.off( 181 'dataChange', 182 'dataability:///com.example.DataAbility', 183); 184``` 185 186## DataAbilityHelper.getType 187 188getType(uri: string, callback: AsyncCallback\<string>): void 189 190获取给定uri指向数据的媒体资源类型。使用callback异步回调。 191 192**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 193 194**模型约束**:此接口仅可在FA模型下使用。 195 196**参数:** 197 198| 参数名 | 类型 | 必填 | 说明 | 199| -------- | ---------------------- | ---- | --------------------------------------------- | 200| uri | string | 是 | 表示待获取数据的uri。 | 201| callback | AsyncCallback\<string> | 是 | 回调函数,返回与uri指向数据匹配的媒体资源类型。 | 202 203**示例:** 204 205<!--code_no_check_fa--> 206```ts 207import ability from '@ohos.ability.ability'; 208import featureAbility from '@ohos.ability.featureAbility'; 209 210let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 211 'dataability:///com.example.DataAbility' 212); 213DAHelper.getType('dataability:///com.example.DataAbility', (error, data) => { 214 if (error && error.code !== 0) { 215 console.error(`getType fail, error: ${JSON.stringify(error)}`); 216 } else { 217 console.log(`getType success, data: ${JSON.stringify(data)}`); 218 } 219}); 220``` 221 222## DataAbilityHelper.getType 223 224getType(uri: string): Promise\<string> 225 226获取给定uri指向数据的媒体资源类型。使用Promise异步回调。 227 228**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 229 230**模型约束**:此接口仅可在FA模型下使用。 231 232**参数:** 233 234| 参数名 | 类型 | 必填 | 说明 | 235| ---- | ------ | ---- | ------------------------ | 236| uri | string | 是 | 表示待获取数据的uri。 | 237 238**返回值:** 239 240| 类型 | 说明 | 241| ---------------- | ----------------------------------- | 242| Promise\<string> | Promise对象,返回与uri指向数据匹配的媒体资源类型。 | 243 244**示例:** 245 246<!--code_no_check_fa--> 247```ts 248import ability from '@ohos.ability.ability'; 249import featureAbility from '@ohos.ability.featureAbility'; 250 251let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 252 'dataability:///com.example.DataAbility' 253); 254DAHelper.getType('dataability:///com.example.DataAbility').then((data) => { 255 console.info(`getType data: ${JSON.stringify(data)}`); 256}); 257``` 258 259## DataAbilityHelper.getFileTypes 260 261getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void 262 263获取支持的文件媒体资源类型。使用callback异步回调。 264 265**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 266 267**模型约束**:此接口仅可在FA模型下使用。 268 269**参数:** 270 271| 参数名 | 类型 | 必填 | 说明 | 272| -------------- | ------------------------------ | ---- | ---------------------------------- | 273| uri | string | 是 | 表示待获取文件的uri。 | 274| mimeTypeFilter | string | 是 | 表示待获取文件的媒体资源类型。 | 275| callback | AsyncCallback\<Array\<string>> | 是 | 回调函数,返回匹配的媒体资源类型数组。 | 276 277**示例:** 278 279<!--code_no_check_fa--> 280```ts 281import ability from '@ohos.ability.ability'; 282import featureAbility from '@ohos.ability.featureAbility'; 283 284let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 285 'dataability:///com.example.DataAbility' 286); 287DAHelper.getFileTypes( 'dataability:///com.example.DataAbility', 'image/*', (error, data) => { 288 if (error && error.code !== 0) { 289 console.error(`getFileTypes fail, error: ${JSON.stringify(error)}`); 290 } else { 291 console.log(`getFileTypes success, data: ${JSON.stringify(data)}`); 292 } 293}); 294``` 295 296## DataAbilityHelper.getFileTypes 297 298getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>> 299 300获取支持的文件媒体资源类型。使用Promise异步回调。 301 302**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 303 304**模型约束**:此接口仅可在FA模型下使用。 305 306**参数:** 307 308| 参数名 | 类型 | 必填 | 说明 | 309| -------------- | ------ | ---- | ---------------------------- | 310| uri | string | 是 | 表示待获取文件的uri。 | 311| mimeTypeFilter | string | 是 | 表示待获取文件的媒体资源类型。 | 312 313**返回值:** 314 315| 类型 | 说明 | 316| ------------------------ | ------------------------ | 317| Promise\<Array\<string>> | Promise对象,返回匹配的媒体资源类型数组。 | 318 319**示例:** 320 321<!--code_no_check_fa--> 322```ts 323import ability from '@ohos.ability.ability'; 324import featureAbility from '@ohos.ability.featureAbility'; 325 326let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 327 'dataability:///com.example.DataAbility' 328); 329DAHelper.getFileTypes('dataability:///com.example.DataAbility', 'image/*').then((data) => { 330 console.info(`getFileTypes data: ${JSON.stringify(data)}`); 331}); 332``` 333 334## DataAbilityHelper.normalizeUri 335 336normalizeUri(uri: string, callback: AsyncCallback\<string>): void 337 338将引用数据功能的给定uri转换为规范化uri。使用callback异步回调。 339 340**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 341 342**模型约束**:此接口仅可在FA模型下使用。 343 344**参数:** 345 346| 参数名 | 类型 | 必填 | 说明 | 347| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 348| uri | string | 是 | 表示要规范化的uri对象。 | 349| callback | AsyncCallback\<string> | 是 | 回调函数,如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 | 350 351**示例:** 352 353<!--code_no_check_fa--> 354```ts 355import ability from '@ohos.ability.ability'; 356import featureAbility from '@ohos.ability.featureAbility'; 357 358let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 359 'dataability:///com.example.DataAbility' 360); 361DAHelper.normalizeUri('dataability:///com.example.DataAbility', (error, data) => { 362 if (error && error.code !== 0) { 363 console.error(`normalizeUri fail, error: ${JSON.stringify(error)}`); 364 } else { 365 console.log(`normalizeUri success, data: ${JSON.stringify(data)}`); 366 } 367}); 368``` 369 370## DataAbilityHelper.normalizeUri 371 372normalizeUri(uri: string): Promise\<string> 373 374将引用数据功能的给定uri转换为规范化uri。使用Promise异步回调。 375 376**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 377 378**模型约束**:此接口仅可在FA模型下使用。 379 380**参数:** 381 382| 参数名 | 类型 | 必填 | 说明 | 383| ---- | ------ | ---- | ----------------------- | 384| uri | string | 是 | 表示要规范化的uri对象。 | 385 386**返回值:** 387 388| 类型 | 说明 | 389| ---------------- | ------------------------------------------------------ | 390| Promise\<string> | Promise对象,如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 | 391 392**示例:** 393 394<!--code_no_check_fa--> 395```ts 396import ability from '@ohos.ability.ability'; 397import featureAbility from '@ohos.ability.featureAbility'; 398 399let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 400 'dataability:///com.example.DataAbility' 401); 402DAHelper.normalizeUri('dataability:///com.example.DataAbility').then((data) => { 403 console.info(`normalizeUri data: ${JSON.stringify(data)}`); 404}); 405``` 406 407## DataAbilityHelper.denormalizeUri 408 409denormalizeUri(uri: string, callback: AsyncCallback\<string>): void 410 411将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri。使用callback异步回调。 412 413**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 414 415**模型约束**:此接口仅可在FA模型下使用。 416 417**参数:** 418 419| 参数名 | 类型 | 必填 | 说明 | 420| -------- | ---------------------- | ---- | --------------------------------------------------- | 421| uri | string | 是 | 表示要反规范化的uri对象。 | 422| callback | AsyncCallback\<string> | 是 | 回调函数,返回反规范化uri对象。 | 423 424**示例:** 425 426<!--code_no_check_fa--> 427```ts 428import ability from '@ohos.ability.ability'; 429import featureAbility from '@ohos.ability.featureAbility'; 430 431let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 432 'dataability:///com.example.DataAbility' 433); 434DAHelper.denormalizeUri('dataability:///com.example.DataAbility', (error, data) => { 435 if (error && error.code !== 0) { 436 console.error(`denormalizeUri fail, error: ${JSON.stringify(error)}`); 437 } else { 438 console.log(`denormalizeUri success, data: ${JSON.stringify(data)}`); 439 } 440}); 441``` 442 443## DataAbilityHelper.denormalizeUri 444 445denormalizeUri(uri: string): Promise\<string> 446 447将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri。使用Promise异步回调。 448 449**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 450 451**模型约束**:此接口仅可在FA模型下使用。 452 453**参数:** 454 455| 参数名 | 类型 | 必填 | 说明 | 456| ---- | ------ | ---- | ----------------------- | 457| uri | string | 是 | 表示要规范化的uri对象。 | 458 459**返回值:** 460 461| 类型 | 说明 | 462| ---------------- | ----------------------------------------- | 463| Promise\<string> |Promise对象,返回反规范化uri对象。 | 464 465**示例:** 466 467<!--code_no_check_fa--> 468```ts 469import ability from '@ohos.ability.ability'; 470import featureAbility from '@ohos.ability.featureAbility'; 471 472let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 473 'dataability:///com.example.DataAbility' 474); 475DAHelper.denormalizeUri('dataability:///com.example.DataAbility').then((data) => { 476 console.info(`denormalizeUri data: ${JSON.stringify(data)}`); 477}); 478``` 479 480## DataAbilityHelper.notifyChange 481 482notifyChange(uri: string, callback: AsyncCallback\<void>): void 483 484通知注册的观察者,uri指定数据的数据变化。使用callback异步回调。 485 486**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 487 488**模型约束**:此接口仅可在FA模型下使用。 489 490**参数:** 491 492| 参数名 | 类型 | 必填 | 说明 | 493| -------- | -------------------- | ---- | ------------------------ | 494| uri | string | 是 | 表示数据变化的uri。 | 495| callback | AsyncCallback\<void> | 是 | 回调函数。当通知注册的观察者成功,err为undefined,否则为错误对象。 | 496 497**示例:** 498 499<!--code_no_check_fa--> 500```ts 501import ability from '@ohos.ability.ability'; 502import featureAbility from '@ohos.ability.featureAbility'; 503 504let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 505 'dataability:///com.example.DataAbility' 506); 507DAHelper.notifyChange('dataability:///com.example.DataAbility', (error) => { 508 if (error && error.code !== 0) { 509 console.error(`notifyChange fail, error: ${JSON.stringify(error)}`); 510 } else { 511 console.log('notifyChange success'); 512 } 513}); 514``` 515 516## DataAbilityHelper.notifyChange 517 518notifyChange(uri: string): Promise\<void> 519 520通知注册的观察者,uri指定数据的数据变化。使用Promise异步回调。 521 522**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 523 524**模型约束**:此接口仅可在FA模型下使用。 525 526**参数:** 527 528| 参数名 | 类型 | 必填 | 说明 | 529| ---- | ------ | ---- | ------------------------ | 530| uri | string | 是 | 表示数据变化的uri。 | 531 532**返回值:** 533 534| 类型 | 说明 | 535| -------------- | --------------------- | 536| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 537 538**示例:** 539 540<!--code_no_check_fa--> 541```ts 542import ability from '@ohos.ability.ability'; 543import featureAbility from '@ohos.ability.featureAbility'; 544 545let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 546 'dataability:///com.example.DataAbility' 547); 548DAHelper.notifyChange('dataability:///com.example.DataAbility').then(() => { 549 console.info('================>notifyChangeCallback================>'); 550}); 551``` 552 553## DataAbilityHelper.insert 554 555insert(uri: string, valuesBucket: [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket), callback: AsyncCallback\<number>): void 556 557将单个数据记录插入数据库。使用callback异步回调。 558 559**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 560 561**模型约束**:此接口仅可在FA模型下使用。 562 563**参数:** 564 565| 参数名 | 类型 | 必填 | 说明 | 566| ------------ | ---------------------- | ---- | ------------------------------------------------------ | 567| uri | string | 是 | 表示要插入数据的uri。 | 568| valuesBucket | [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket) | 是 | 表示要插入的数据记录。如果此参数为空,将插入一个空行。 | 569| callback | AsyncCallback\<number> | 是 | 回调函数,返回插入数据记录的索引。 | 570 571**示例:** 572 573<!--code_no_check_fa--> 574```ts 575import ability from '@ohos.ability.ability'; 576import featureAbility from '@ohos.ability.featureAbility'; 577import rdb from '@ohos.data.rdb'; 578 579let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 580 'dataability:///com.example.DataAbility' 581); 582const valueBucket: rdb.ValuesBucket = { 583 'name': 'rose', 584 'age': 22, 585 'salary': 200.5, 586 'blobType': 'u8', 587}; 588DAHelper.insert('dataability:///com.example.DataAbility', valueBucket, (error, data) => { 589 if (error && error.code !== 0) { 590 console.error(`insert fail, error: ${JSON.stringify(error)}`); 591 } else { 592 console.log(`insert success, data: ${JSON.stringify(data)}`); 593 } 594}); 595``` 596 597## DataAbilityHelper.insert 598 599insert(uri: string, valuesBucket: [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket)): Promise\<number> 600 601将单个数据记录插入数据库。使用Promise异步回调。 602 603**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 604 605**模型约束**:此接口仅可在FA模型下使用。 606 607**参数:** 608 609| 参数名 | 类型 | 必填 | 说明 | 610| ------------ | ---------------- | ---- | ------------------------------------------------------ | 611| uri | string | 是 | 表示要插入数据的uri。 | 612| valuesBucket | [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket) | 是 | 表示要插入的数据记录。如果此参数为空,将插入一个空行。 | 613 614**返回值:** 615 616| 类型 | 说明 | 617| ---------------- | ------------------------ | 618| Promise\<number> | Promise对象,返回插入数据记录的索引。 | 619 620**示例:** 621 622<!--code_no_check_fa--> 623```ts 624import ability from '@ohos.ability.ability'; 625import featureAbility from '@ohos.ability.featureAbility'; 626import rdb from '@ohos.data.rdb'; 627 628let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 629 'dataability:///com.example.DataAbility' 630); 631const valueBucket: rdb.ValuesBucket = { 632 'name': 'rose1', 633 'age': 221, 634 'salary': 20.5, 635 'blobType': 'u8', 636}; 637DAHelper.insert('dataability:///com.example.DataAbility', valueBucket).then((data) => { 638 console.info(`insert data: ${JSON.stringify(data)}`); 639}); 640``` 641 642## DataAbilityHelper.batchInsert 643 644batchInsert(uri: string, valuesBuckets: Array\<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void 645 646将多个数据记录插入数据库。使用callback异步回调。 647 648**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 649 650**模型约束**:此接口仅可在FA模型下使用。 651**参数:** 652 653| 参数名 | 类型 | 必填 | 说明 | 654| ------------ | ----------------------- | ---- | -------------------------------- | 655| uri | string | 是 | 表示要插入数据的uri。 | 656| valuesBuckets | Array\<[rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket)> | 是 | 表示要插入的数据记录数组。 | 657| callback | AsyncCallback\<number> | 是 | 回调函数,返回插入的数据记录数。 | 658 659**示例:** 660 661<!--code_no_check_fa--> 662```ts 663import ability from '@ohos.ability.ability'; 664import featureAbility from '@ohos.ability.featureAbility'; 665import rdb from '@ohos.data.rdb'; 666 667let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 668 'dataability:///com.example.DataAbility' 669); 670let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket, 671 {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket, 672 {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket); 673DAHelper.batchInsert('dataability:///com.example.DataAbility', cars, (error, data) => { 674 if (error && error.code !== 0) { 675 console.error(`batchInsert fail, error: ${JSON.stringify(error)}`); 676 } else { 677 console.log(`batchInsert success, data: ${JSON.stringify(data)}`); 678 } 679}); 680``` 681 682## DataAbilityHelper.batchInsert 683 684batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise\<number> 685 686将多个数据记录插入数据库。使用Promise异步回调。 687 688**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 689 690**模型约束**:此接口仅可在FA模型下使用。 691 692**参数:** 693 694| 参数名 | 类型 | 必填 | 说明 | 695| ------------ | ----------------------- | ---- | ------------------------ | 696| uri | string | 是 | 表示要插入数据的uri。 | 697| valuesBuckets | Array<[rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket)> | 是 | 表示要插入的数据记录数组。 | 698 699**返回值:** 700 701| 类型 | 说明 | 702| ---------------- | ---------------------- | 703| Promise\<number> | Promise对象,返回插入的数据记录数。 | 704 705**示例:** 706 707<!--code_no_check_fa--> 708```ts 709import ability from '@ohos.ability.ability'; 710import featureAbility from '@ohos.ability.featureAbility'; 711import rdb from '@ohos.data.rdb'; 712 713let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 714 'dataability:///com.example.DataAbility' 715); 716let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket, 717 {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket, 718 {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',} as rdb.ValuesBucket); 719DAHelper.batchInsert('dataability:///com.example.DataAbility', cars).then((data) => { 720 console.info(`batchInsert data: ${JSON.stringify(data)}`); 721}); 722``` 723 724## DataAbilityHelper.delete 725 726delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void 727 728从数据库中删除一个或多个数据记录。使用callback异步回调。 729 730**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 731 732**模型约束**:此接口仅可在FA模型下使用。 733 734**参数:** 735 736| 参数名 | 类型 | 必填 | 说明 | 737| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 738| uri | string | 是 | 表示要删除数据的uri。 | 739| predicates | dataAbility.DataAbilityPredicates | 是 | 表示筛选条件。当此参数为null时,应定义处理逻辑。 | 740| callback | AsyncCallback\<number> | 是 | 回调函数,返回已删除的数据记录数。 | 741 742**示例:** 743 744<!--code_no_check_fa--> 745```ts 746import ability from '@ohos.ability.ability'; 747import featureAbility from '@ohos.ability.featureAbility'; 748import ohos_data_ability from '@ohos.data.dataAbility'; 749 750let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 751 'dataability:///com.example.DataAbility' 752); 753let da = new ohos_data_ability.DataAbilityPredicates(); 754DAHelper.delete('dataability:///com.example.DataAbility', da, (error, data) => { 755 if (error && error.code !== 0) { 756 console.error(`delete fail, error: ${JSON.stringify(error)}`); 757 } else { 758 console.log(`delete success, data: ${JSON.stringify(data)}`); 759 } 760}); 761``` 762 763## DataAbilityHelper.delete 764 765delete(uri: string, predicates?: dataAbility.DataAbilityPredicates): Promise\<number> 766 767从数据库中删除一个或多个数据记录。使用Promise异步回调。 768 769**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 770 771**模型约束**:此接口仅可在FA模型下使用。 772 773**参数:** 774 775| 参数名 | 类型 | 必填 | 说明 | 776| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 777| uri | string | 是 | 表示要删除数据的uri。 | 778| predicates | dataAbility.DataAbilityPredicates | 否 | 表示筛选条件。当此参数为null时,应定义处理逻辑。 | 779 780**返回值:** 781 782| 类型 | 说明 | 783| ---------------- | ------------------------ | 784| Promise\<number> | Promise对象,返回已删除的数据记录数。 | 785 786**示例:** 787 788<!--code_no_check_fa--> 789```ts 790import ability from '@ohos.ability.ability'; 791import featureAbility from '@ohos.ability.featureAbility'; 792import ohos_data_ability from '@ohos.data.dataAbility'; 793 794let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 795 'dataability:///com.example.DataAbility' 796); 797let da = new ohos_data_ability.DataAbilityPredicates(); 798DAHelper.delete('dataability:///com.example.DataAbility', da).then((data) => { 799 console.info(`delete data: ${JSON.stringify(data)}`); 800}); 801``` 802 803## DataAbilityHelper.delete 804 805delete(uri: string, callback: AsyncCallback\<number>): void 806 807predicates筛选条件为空,自定义数据库删除数据记录的处理逻辑。使用callback异步回调。 808 809**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 810 811**模型约束**:此接口仅可在FA模型下使用。 812 813**参数:** 814 815| 参数名 | 类型 | 必填 | 说明 | 816| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 817| uri | string | 是 | 表示要删除数据的uri。 | 818| callback | AsyncCallback\<number> | 是 | 回调函数,返回已删除的数据记录数。 | 819 820**示例:** 821 822<!--code_no_check_fa--> 823```ts 824import ability from '@ohos.ability.ability'; 825import featureAbility from '@ohos.ability.featureAbility'; 826 827let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 828 'dataability:///com.example.DataAbility' 829); 830DAHelper.delete('dataability:///com.example.DataAbility', (error, data) => { 831 if (error && error.code !== 0) { 832 console.error(`delete fail, error: ${JSON.stringify(error)}`); 833 } else { 834 console.log(`delete success, data: ${JSON.stringify(data)}`); 835 } 836}); 837``` 838 839## DataAbilityHelper.update 840 841update(uri: string, valuesBucket: [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket), predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void 842 843更新数据库中的数据记录。使用callback异步回调。 844 845**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 846 847**模型约束**:此接口仅可在FA模型下使用。 848 849**参数:** 850 851| 参数名 | 类型 | 必填 | 说明 | 852| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 853| uri | string | 是 | 表示要更新数据的uri。 | 854| valuesBucket | [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket) | 是 | 表示要更新的数据。 | 855| predicates | dataAbility.DataAbilityPredicates | 是 | 表示筛选条件。当此参数为null时,应定义处理逻辑。 | 856| callback | AsyncCallback\<number> | 是 | 回调函数,返回更新的数据记录数。 | 857 858**示例:** 859 860<!--code_no_check_fa--> 861```ts 862import ability from '@ohos.ability.ability'; 863import featureAbility from '@ohos.ability.featureAbility'; 864import ohos_data_ability from '@ohos.data.dataAbility'; 865import rdb from '@ohos.data.rdb'; 866 867let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 868 'dataability:///com.example.DataAbility' 869); 870const va: rdb.ValuesBucket = { 871 'name': 'roe1', 872 'age': 21, 873 'salary': 20.5, 874 'blobType': 'u8', 875}; 876let da = new ohos_data_ability.DataAbilityPredicates(); 877DAHelper.update('dataability:///com.example.DataAbility', va, da, (error, data) => { 878 if (error && error.code !== 0) { 879 console.error(`update fail, error: ${JSON.stringify(error)}`); 880 } else { 881 console.log(`update success, data: ${JSON.stringify(data)}`); 882 } 883}); 884``` 885 886## DataAbilityHelper.update 887 888update(uri: string, valuesBucket: [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket), predicates?: dataAbility.DataAbilityPredicates): Promise\<number> 889 890更新数据库中的数据记录。使用Promise异步回调。 891 892**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 893 894**模型约束**:此接口仅可在FA模型下使用。 895 896**参数:** 897 898| 参数名 | 类型 | 必填 | 说明 | 899| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 900| uri | string | 是 | 表示要更新数据的uri。 | 901| valuesBucket | [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket) | 是 | 表示要更新的数据。 | 902| predicates | dataAbility.DataAbilityPredicates | 否 | 表示筛选条件。当此参数为null时,应定义处理逻辑。 | 903 904**返回值:** 905 906| 类型 | 说明 | 907| ---------------- | -------------------------------------------- | 908| Promise\<number> | Promise对象,返回更新的数据记录数。 | 909 910**示例:** 911 912<!--code_no_check_fa--> 913```ts 914import ability from '@ohos.ability.ability'; 915import featureAbility from '@ohos.ability.featureAbility'; 916import ohos_data_ability from '@ohos.data.dataAbility'; 917import rdb from '@ohos.data.rdb'; 918 919let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 920 'dataability:///com.example.DataAbility' 921); 922const va: rdb.ValuesBucket = { 923 'name': 'roe1', 924 'age': 21, 925 'salary': 20.5, 926 'blobType': 'u8', 927}; 928let da = new ohos_data_ability.DataAbilityPredicates(); 929DAHelper.update('dataability:///com.example.DataAbility', va, da).then((data) => { 930 console.info(`update data: ${JSON.stringify(data)}`); 931}); 932``` 933 934## DataAbilityHelper.update 935 936update(uri: string, valuesBucket: [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket), callback: AsyncCallback\<number>): void 937 938predicates筛选条件为空,自定义更新数据库的处理逻辑。使用callback异步回调。 939 940**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 941 942**模型约束**:此接口仅可在FA模型下使用。 943 944**参数:** 945 946| 参数名 | 类型 | 必填 | 说明 | 947| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 948| uri | string | 是 | 表示要更新数据的uri。 | 949| valuesBucket | [rdb.ValuesBucket](../apis-arkdata/js-apis-data-rdb.md#valuesbucket) | 是 | 表示要更新的数据。 | 950| callback | AsyncCallback\<number> | 是 | 回调函数,返回更新的数据记录数。 | 951 952**示例:** 953 954<!--code_no_check_fa--> 955```ts 956import ability from '@ohos.ability.ability'; 957import featureAbility from '@ohos.ability.featureAbility'; 958import rdb from '@ohos.data.rdb'; 959 960let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 961 'dataability:///com.example.DataAbility' 962); 963const va: rdb.ValuesBucket = { 964 'name': 'roe1', 965 'age': 21, 966 'salary': 20.5, 967 'blobType': 'u8', 968}; 969DAHelper.update('dataability:///com.example.DataAbility', va, (error, data) => { 970 if (error && error.code !== 0) { 971 console.error(`update fail, error: ${JSON.stringify(error)}`); 972 } else { 973 console.log(`update success, data: ${JSON.stringify(data)}`); 974 } 975}); 976``` 977 978## DataAbilityHelper.query 979 980query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void 981 982查询数据库中的数据。使用callback异步回调。 983 984**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 985 986**模型约束**:此接口仅可在FA模型下使用。 987 988**参数:** 989 990| 参数名 | 类型 | 必填 | 说明 | 991| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 992| uri | string | 是 | 表示要查询数据的uri。 | 993| columns | Array\<string> | 是 | 表示要查询的列。如果此参数为空,则查询所有列。 | 994| predicates | dataAbility.DataAbilityPredicates | 是 | 表示筛选条件。当此参数为null时,自定义查询数据库中数据的处理逻辑。 | 995| callback | AsyncCallback\<[ResultSet](../apis-arkdata/arkts-apis-data-relationalStore-ResultSet.md)> | 是 | 回调函数,返回查询结果。 | 996 997**示例:** 998 999<!--code_no_check_fa--> 1000```ts 1001import ability from '@ohos.ability.ability'; 1002import featureAbility from '@ohos.ability.featureAbility'; 1003import ohos_data_ability from '@ohos.data.dataAbility'; 1004 1005let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1006 'dataability:///com.example.DataAbility' 1007); 1008let cars=new Array('value1', 'value2', 'value3', 'value4'); 1009let da = new ohos_data_ability.DataAbilityPredicates(); 1010DAHelper.query('dataability:///com.example.DataAbility', cars, da, (error, data) => { 1011 if (error && error.code !== 0) { 1012 console.error(`query fail, error: ${JSON.stringify(error)}`); 1013 } else { 1014 console.log(`query success, data: ${JSON.stringify(data)}`); 1015 } 1016}); 1017``` 1018 1019## DataAbilityHelper.query 1020 1021query(uri: string, callback: AsyncCallback\<ResultSet>): void 1022 1023查询数据库中的数据。使用callback异步回调。 1024 1025**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1026 1027**模型约束**:此接口仅可在FA模型下使用。 1028 1029**参数:** 1030 1031| 参数名 | 类型 | 必填 | 说明 | 1032| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 1033| uri | string | 是 | 表示要查询数据的uri。 | 1034| callback | AsyncCallback\<[ResultSet](../apis-arkdata/arkts-apis-data-relationalStore-ResultSet.md)> | 是 | 回调函数,返回查询结果。 | 1035 1036**示例:** 1037 1038<!--code_no_check_fa--> 1039```ts 1040import ability from '@ohos.ability.ability'; 1041import featureAbility from '@ohos.ability.featureAbility'; 1042 1043let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1044 'dataability:///com.example.DataAbility' 1045); 1046DAHelper.query('dataability:///com.example.DataAbility', (error, data) => { 1047 if (error && error.code !== 0) { 1048 console.error(`query fail, error: ${JSON.stringify(error)}`); 1049 } else { 1050 console.log(`query success, data: ${JSON.stringify(data)}`); 1051 } 1052}); 1053``` 1054 1055## DataAbilityHelper.query 1056 1057query(uri: string, columns: Array\<string>, callback: AsyncCallback\<ResultSet>): void 1058 1059查询数据库中的数据。使用callback异步回调。 1060 1061**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1062 1063**模型约束**:此接口仅可在FA模型下使用。 1064 1065**参数:** 1066 1067| 参数名 | 类型 | 必填 | 说明 | 1068| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 1069| uri | string | 是 | 表示要查询数据的uri。 | 1070| columns | Array\<string> | 是 | 表示要查询的列。如果此参数为空,则查询所有列。 | 1071| callback | AsyncCallback\<[ResultSet](../apis-arkdata/arkts-apis-data-relationalStore-ResultSet.md)> | 是 | 回调函数,返回查询结果。 | 1072 1073**示例:** 1074 1075<!--code_no_check_fa--> 1076```ts 1077import ability from '@ohos.ability.ability'; 1078import featureAbility from '@ohos.ability.featureAbility'; 1079 1080let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1081 'dataability:///com.example.DataAbility' 1082); 1083let cars = new Array('value1', 'value2', 'value3', 'value4'); 1084DAHelper.query('dataability:///com.example.DataAbility', cars, (error, data) => { 1085 if (error && error.code !== 0) { 1086 console.error(`query fail, error: ${JSON.stringify(error)}`); 1087 } else { 1088 console.log(`query success, data: ${JSON.stringify(data)}`); 1089 } 1090}); 1091``` 1092 1093## DataAbilityHelper.query 1094 1095query(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void 1096 1097查询数据库中的数据。使用callback异步回调。 1098 1099**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1100 1101**模型约束**:此接口仅可在FA模型下使用。 1102 1103**参数:** 1104 1105| 参数名 | 类型 | 必填 | 说明 | 1106| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 1107| uri | string | 是 | 表示要查询数据的uri。 | 1108| predicates | dataAbility.DataAbilityPredicates | 是 | 表示筛选条件。当此参数为null时,自定义查询数据库中数据的处理逻辑。 | 1109| callback | AsyncCallback\<[ResultSet](../apis-arkdata/arkts-apis-data-relationalStore-ResultSet.md)> | 是 | 回调函数,返回查询结果。 | 1110 1111**示例:** 1112 1113<!--code_no_check_fa--> 1114```ts 1115import ability from '@ohos.ability.ability'; 1116import featureAbility from '@ohos.ability.featureAbility'; 1117import ohos_data_ability from '@ohos.data.dataAbility'; 1118 1119let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1120 'dataability:///com.example.DataAbility' 1121); 1122let da = new ohos_data_ability.DataAbilityPredicates(); 1123DAHelper.query('dataability:///com.example.DataAbility', da, (error, data) => { 1124 if (error && error.code !== 0) { 1125 console.error(`query fail, error: ${JSON.stringify(error)}`); 1126 } else { 1127 console.log(`query success, data: ${JSON.stringify(data)}`); 1128 } 1129}); 1130``` 1131 1132## DataAbilityHelper.query 1133 1134query(uri: string, columns?: Array\<string>, predicates?: dataAbility.DataAbilityPredicates): Promise\<ResultSet> 1135 1136查询数据库中的数据。使用Promise异步回调。 1137 1138**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1139 1140**模型约束**:此接口仅可在FA模型下使用。 1141 1142**参数:** 1143 1144| 参数名 | 类型 | 必填 | 说明 | 1145| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 1146| uri | string | 是 | 表示要查询数据的uri。 | 1147| columns | Array\<string> | 否 | 表示要查询的列。如果此参数为空,则查询所有列。 | 1148| predicates | dataAbility.DataAbilityPredicates | 否 | 表示筛选条件。当此参数为null时,自定义查询数据库中数据的处理逻辑。 | 1149 1150**返回值:** 1151 1152| 类型 | 说明 | 1153| ------------------- | -------------- | 1154| Promise\<[ResultSet](../apis-arkdata/arkts-apis-data-relationalStore-ResultSet.md)> | Promise对象,返回查询结果。 | 1155 1156**示例:** 1157 1158<!--code_no_check_fa--> 1159```ts 1160import ability from '@ohos.ability.ability'; 1161import featureAbility from '@ohos.ability.featureAbility'; 1162import ohos_data_ability from '@ohos.data.dataAbility'; 1163 1164let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1165 'dataability:///com.example.DataAbility' 1166); 1167let cars = new Array('value1', 'value2', 'value3', 'value4'); 1168let da = new ohos_data_ability.DataAbilityPredicates(); 1169DAHelper.query('dataability:///com.example.DataAbility', cars, da).then((data) => { 1170 console.info(`query data: ${JSON.stringify(data)}`); 1171}); 1172``` 1173 1174## DataAbilityHelper.call 1175 1176call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback\<PacMap>): void 1177 1178调用DataAbility的扩展接口。使用callback异步回调。 1179 1180**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1181 1182**模型约束**:此接口仅可在FA模型下使用。 1183 1184**参数:** 1185 1186| 参数名 | 类型 | 必填 | 说明 | 1187| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 1188| uri | string | 是 | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | 1189| method | string | 是 | 表示被调用的方法名。 | 1190| arg | string | 是 | 表示需传入的参数。 | 1191| extras | [PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap) | 是 | 表示扩展的键值对参数。 | 1192| callback | AsyncCallback\<[PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap)> | 是 | 回调函数,返回扩展的键值对参数。 | 1193 1194**示例:** 1195 1196<!--code_no_check_fa--> 1197```ts 1198import ability from '@ohos.ability.ability'; 1199import featureAbility from '@ohos.ability.featureAbility'; 1200 1201let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1202 'dataability:///com.example.jsapidemo.UserDataAbility' 1203); 1204dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', 1205 'method', 'arg', {'key1':'value1'}, (error, data) => { 1206 if (error && error.code !== 0) { 1207 console.error(`call fail, error: ${JSON.stringify(error)}`); 1208 } else { 1209 console.log(`call success, data: ${JSON.stringify(data)}`); 1210 } 1211}); 1212``` 1213 1214## DataAbilityHelper.call 1215 1216call(uri: string, method: string, arg: string, extras: PacMap): Promise\<PacMap> 1217 1218调用DataAbility的扩展接口。使用Promise异步回调。 1219 1220**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1221 1222**模型约束**:此接口仅可在FA模型下使用。 1223 1224**参数:** 1225 1226| 参数名 | 类型 | 必填 | 说明 | 1227| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 1228| uri | string | 是 | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | 1229| method | string | 是 | 表示被调用的方法名。 | 1230| arg | string | 是 | 表示需传入的参数。 | 1231| extras | [PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap) | 是 | 表示扩展的键值对参数。 | 1232 1233**返回值:** 1234 1235| 类型 | 说明 | 1236|------ | ------- | 1237|Promise\<[PacMap](js-apis-inner-ability-dataAbilityHelper.md#pacmap)> | Promise对象,返回扩展的键值对参数。 | 1238 1239**示例:** 1240 1241<!--code_no_check_fa--> 1242```ts 1243import ability from '@ohos.ability.ability'; 1244import featureAbility from '@ohos.ability.featureAbility'; 1245import { BusinessError } from '@ohos.base'; 1246 1247let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1248 'dataability:///com.example.jsapidemo.UserDataAbility' 1249); 1250dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', 1251 'method', 'arg', {'key1':'value1'}).then((data) => { 1252 console.info('call success, data: ${data}'); 1253}).catch((error: BusinessError) => { 1254 console.error('call failed, error: ${error}'); 1255}); 1256``` 1257 1258## DataAbilityHelper.executeBatch 1259 1260executeBatch(uri: string, operations: Array\<DataAbilityOperation>, callback: AsyncCallback\<Array\<DataAbilityResult>>): void 1261 1262批量操作数据库中的数据。使用callback异步回调。 1263 1264**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1265 1266**模型约束**:此接口仅可在FA模型下使用。 1267 1268**参数:** 1269 1270| 参数名 | 类型 | 必填 | 说明 | 1271| ----------| ---------------------------------| ---- | ------------------------------------------------ | 1272| uri | string | 是 | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。| 1273| operations | Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)> | 是 | 表示数据操作数组,其中可以包含对数据库的多个不同操作。 | 1274| callback | AsyncCallback\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | 是 | 回调函数,在DataAbilityResult数组中返回每个操作的结果。 | 1275 1276**示例:** 1277 1278<!--code_no_check_fa--> 1279```ts 1280import ability from '@ohos.ability.ability'; 1281import featureAbility from '@ohos.ability.featureAbility'; 1282 1283// 根据DataAbilityOperation列表选择要对数据库做的操作 1284let op: Array<ability.DataAbilityOperation> = new Array(); 1285let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1286 'dataability:///com.example.jsapidemo.UserDataAbility' 1287); 1288dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op, (error, data) => { 1289 if (error && error.code !== 0) { 1290 console.error(`executeBatch fail, error: ${JSON.stringify(error)}`); 1291 } else { 1292 console.log(`executeBatch success, data: ${JSON.stringify(data)}`); 1293 } 1294}); 1295``` 1296 1297## DataAbilityHelper.executeBatch 1298 1299executeBatch(uri: string, operations: Array\<DataAbilityOperation>): Promise\<Array\<DataAbilityResult>> 1300 1301批量操作数据库中的数据。使用Promise异步回调。 1302 1303**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1304 1305**模型约束**:此接口仅可在FA模型下使用。 1306 1307**参数:** 1308 1309| 参数名 | 类型 | 必填 | 说明 | 1310| ---------- | -------------------------------| ---- | ------------------------------------------------ | 1311| uri | string | 是 | 表示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。| 1312| operations | Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)> | 是 | 表示数据操作数组,其中可以包含对数据库的多个不同操作。 | 1313 1314**返回值:** 1315 1316| 类型 | 说明 | 1317|------ | ------- | 1318|Promise\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | Promise对象,在DataAbilityResult数组中返回每个操作的结果。 | 1319 1320**示例:** 1321 1322<!--code_no_check_fa--> 1323```ts 1324import ability from '@ohos.ability.ability'; 1325import featureAbility from '@ohos.ability.featureAbility'; 1326import { BusinessError } from '@ohos.base'; 1327 1328// 根据DataAbilityOperation列表选择要对数据库做的操作 1329let op: Array<ability.DataAbilityOperation> = new Array(); 1330let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 1331 'dataability:///com.example.jsapidemo.UserDataAbility' 1332); 1333dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op).then((data) => { 1334 console.info('executeBatch success, data: ${data}'); 1335}).catch((error: BusinessError) => { 1336 console.error('executeBatch failed, error: ${error}'); 1337}); 1338 1339``` 1340 1341## PacMap 1342 1343用于存储数据的PacMap类型。 1344 1345**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1346 1347| 名称 | 类型 | 只读 | 可选 | 说明 | 1348| ----- | ---- | ---- | ---- | ---- | 1349| [key: string] | number \| string \| boolean \| Array\<string \| number \| boolean> \| null | 否 | 否 | 数据存储在键值对中。 | 1350