1# DataAbilityHelper 2 3可以通过[acquireDataAbilityHelper](js-apis-ability-featureAbility.md#featureabilityacquiredataabilityhelper7)接口获取DataAbilityHelper对象。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 本模块接口仅可在FA模型下使用。 9 10## 使用说明 11 12使用前根据具体情况引入如下模块 13```ts 14import ohos_data_ability from '@ohos.data.dataAbility'; 15import ohos_data_rdb from '@ohos.data.rdb'; 16``` 17 18## DataAbilityHelper.openFile 19 20openFile(uri: string, mode: string, callback: AsyncCallback\<number>): void 21 22在指定的远程路径中打开文件(callback形式)。 23 24**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 25 26**参数:** 27 28| 参数名 | 类型 | 必填 | 说明 | 29| -------- | ---------------------- | ---- | ---------------------------------- | 30| uri | string | 是 | 指示要打开的文件的路径。 | 31| mode | string | 是 | 指示文件打开模式‘rwt’。 | 32| callback | AsyncCallback\<number> | 是 | 被指定的回调方法,返回文件说明符。 | 33 34**示例:** 35 36```ts 37import featureAbility from '@ohos.ability.featureAbility'; 38let DAHelper = featureAbility.acquireDataAbilityHelper( 39 'dataability:///com.example.DataAbility' 40); 41let mode = 'rwt'; 42DAHelper.openFile('dataability:///com.example.DataAbility', mode, (err) => { 43 console.info('==========================>Called=======================>'); 44}); 45``` 46 47## DataAbilityHelper.openFile 48 49openFile(uri: string, mode: string): Promise\<number> 50 51在指定的远程路径中打开文件(promise形式)。 52 53**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 54 55**参数:** 56 57| 参数名 | 类型 | 必填 | 说明 | 58| ---- | ------ | ---- | ------------------------ | 59| uri | string | 是 | 指示要打开的文件的路径。 | 60| mode | string | 是 | 指示文件打开模式‘rwt’。 | 61 62**返回值:** 63 64| 类型 | 说明 | 65| ---------------- | ---------------- | 66| Promise\<number> | 返回文件说明符。 | 67 68**示例:** 69 70```ts 71import featureAbility from '@ohos.ability.featureAbility'; 72let DAHelper = featureAbility.acquireDataAbilityHelper( 73 'dataability:///com.example.DataAbility' 74); 75let mode = 'rwt'; 76DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => { 77 console.info('==========================>openFileCallback=======================>'); 78}); 79``` 80 81## DataAbilityHelper.on 82 83on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void 84 85注册观察者以观察给定uri指定的数据callback通知。 86 87**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 88 89**参数:** 90 91| 参数名 | 类型 | 必填 | 说明 | 92| -------- | -------------------- | ---- | ------------------------ | 93| type | string | 是 | 数据更改。 | 94| uri | string | 是 | 指示要操作的数据的路径。 | 95| callback | AsyncCallback\<void> | 是 | 指示数据更改时的回调。 | 96 97**示例:** 98 99```ts 100import featureAbility from '@ohos.ability.featureAbility'; 101let helper = featureAbility.acquireDataAbilityHelper( 102 'dataability:///com.example.DataAbility' 103); 104function onChangeNotify() { 105 console.info('==========================>onChangeNotify=======================>'); 106}; 107helper.on( 108 'dataChange', 109 'dataability:///com.example.DataAbility', 110 onChangeNotify 111); 112``` 113 114## DataAbilityHelper.off 115 116off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void 117 118注消观察者以停止观察给定uri指定的数据callback通知。 119 120**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 121 122**参数:** 123 124| 参数名 | 类型 | 必填 | 说明 | 125| -------- | -------------------- | ---- | ------------------------ | 126| type | string | 是 | 数据更改。 | 127| uri | string | 是 | 指示要操作的数据的路径。 | 128| callback | AsyncCallback\<void> | 否 | 指示已注册的回调。 | 129 130**示例:** 131 132```ts 133import featureAbility from '@ohos.ability.featureAbility'; 134let helper = featureAbility.acquireDataAbilityHelper( 135 'dataability:///com.example.DataAbility' 136); 137function onChangeNotify() { 138 console.info('==========================>onChangeNotify=======================>'); 139}; 140helper.off( 141 'dataChange', 142 'dataability:///com.example.DataAbility', 143); 144helper.off( 145 'dataChange', 146 'dataability:///com.example.DataAbility', 147 onChangeNotify 148); 149``` 150 151## DataAbilityHelper.getType 152 153getType(uri: string, callback: AsyncCallback\<string>): void 154 155获取给定URI指定数据的MIME类型(callback形式)。 156 157**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 158 159**参数:** 160 161| 参数名 | 类型 | 必填 | 说明 | 162| -------- | ---------------------- | ---- | --------------------------------------------- | 163| uri | string | 是 | 指示要操作的数据的路径。 | 164| callback | AsyncCallback\<string> | 是 | 回调方法,返回与uri指定的数据匹配的MIME类型。 | 165 166**示例:** 167 168```ts 169import featureAbility from '@ohos.ability.featureAbility'; 170let DAHelper = featureAbility.acquireDataAbilityHelper( 171 'dataability:///com.example.DataAbility' 172); 173DAHelper.getType('dataability:///com.example.DataAbility', (err, data) => { 174 console.info('==========================>Called=======================>'); 175}); 176``` 177 178## DataAbilityHelper.getType 179 180getType(uri: string): Promise\<string> 181 182获取给定URI指定数据的MIME类型(Promise形式)。 183 184**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 185 186**参数:** 187 188| 参数名 | 类型 | 必填 | 说明 | 189| ---- | ------ | ---- | ------------------------ | 190| uri | string | 是 | 指示要操作的数据的路径。 | 191 192**返回值:** 193 194| 类型 | 说明 | 195| ---------------- | ----------------------------------- | 196| Promise\<string> | 返回与uri指定的数据匹配的MIME类型。 | 197 198**示例:** 199 200```ts 201import featureAbility from '@ohos.ability.featureAbility'; 202let DAHelper = featureAbility.acquireDataAbilityHelper( 203 'dataability:///com.example.DataAbility' 204); 205DAHelper.getType('dataability:///com.example.DataAbility').then((data) => { 206 console.info('==========================>getTypeCallback=======================>'); 207}); 208``` 209 210## DataAbilityHelper.getFileTypes 211 212getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void 213 214获取支持的文件的MIME类型(callback形式)。 215 216**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 217 218**参数:** 219 220| 参数名 | 类型 | 必填 | 说明 | 221| -------------- | ------------------------------ | ---- | ---------------------------------- | 222| uri | string | 是 | 指示要获取的文件的路径。 | 223| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 | 224| callback | AsyncCallback\<Array\<string>> | 是 | 回调方法,返回匹配的MIME类型数组。 | 225 226**示例:** 227 228```ts 229import featureAbility from '@ohos.ability.featureAbility'; 230let DAHelper = featureAbility.acquireDataAbilityHelper( 231 'dataability:///com.example.DataAbility' 232); 233DAHelper.getFileTypes( 'dataability:///com.example.DataAbility', 234 'image/*', (err, data) => { 235 console.info('==========================>Called=======================>'); 236}); 237``` 238 239 240 241## DataAbilityHelper.getFileTypes 242 243getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>> 244 245获取支持的文件的MIME类型(Promise形式)。 246 247**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 248 249**参数:** 250 251| 参数名 | 类型 | 必填 | 说明 | 252| -------------- | ------ | ---- | ---------------------------- | 253| uri | string | 是 | 指示要获取的文件的路径。 | 254| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 | 255 256**返回值:** 257 258| 类型 | 说明 | 259| ------------------------ | ------------------------ | 260| Promise\<Array\<string>> | 返回匹配的MIME类型数组。 | 261 262**示例:** 263 264```ts 265import featureAbility from '@ohos.ability.featureAbility'; 266let DAHelper = featureAbility.acquireDataAbilityHelper( 267 'dataability:///com.example.DataAbility' 268); 269DAHelper.getFileTypes('dataability:///com.example.DataAbility', 270 'image/*').then((data) => { 271 console.info('===================>getFileTypesCallback================>'); 272}); 273``` 274 275## DataAbilityHelper.normalizeUri 276 277normalizeUri(uri: string, callback: AsyncCallback\<string>): void 278 279将引用数据功能的给定uri转换为规范化uri(callback形式)。 280 281**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 282 283**参数:** 284 285| 参数名 | 类型 | 必填 | 说明 | 286| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 287| uri | string | 是 | 指示要规范化的uri对象。 | 288| callback | AsyncCallback\<string> | 是 | 回调方法。如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 | 289 290**示例:** 291 292```ts 293import featureAbility from '@ohos.ability.featureAbility'; 294let DAHelper = featureAbility.acquireDataAbilityHelper( 295 'dataability:///com.example.DataAbility' 296); 297DAHelper.normalizeUri('dataability:///com.example.DataAbility', (err, data) => { 298 console.info('==========================>Called=======================>'); 299}); 300``` 301 302## DataAbilityHelper.normalizeUri 303 304normalizeUri(uri: string): Promise\<string> 305 306将引用数据功能的给定uri转换为规范化uri(Promise形式)。 307 308**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 309 310**参数:** 311 312| 参数名 | 类型 | 必填 | 说明 | 313| ---- | ------ | ---- | ----------------------- | 314| uri | string | 是 | 指示要规范化的uri对象。 | 315 316**返回值:** 317 318| 类型 | 说明 | 319| ---------------- | ------------------------------------------------------ | 320| Promise\<string> | 如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 | 321 322**示例:** 323 324```ts 325import featureAbility from '@ohos.ability.featureAbility'; 326let DAHelper = featureAbility.acquireDataAbilityHelper( 327 'dataability:///com.example.DataAbility' 328); 329DAHelper.normalizeUri('dataability:///com.example.DataAbility',).then((data) => { 330 console.info('=================>normalizeUriCallback=======================>'); 331}); 332``` 333 334## DataAbilityHelper.denormalizeUri 335 336denormalizeUri(uri: string, callback: AsyncCallback\<string>): void 337 338将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。 339 340**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 341 342**参数:** 343 344| 参数名 | 类型 | 必填 | 说明 | 345| -------- | ---------------------- | ---- | --------------------------------------------------- | 346| uri | string | 是 | 指示要规范化的uri对象。 | 347| callback | AsyncCallback\<string> | 是 | 回调方法。如果反规范化成功,则返回反规范化uri对象。 | 348 349**示例:** 350 351```ts 352import featureAbility from '@ohos.ability.featureAbility'; 353let DAHelper = featureAbility.acquireDataAbilityHelper( 354 'dataability:///com.example.DataAbility' 355); 356DAHelper.denormalizeUri('dataability:///com.example.DataAbility', (err, data) => { 357 console.info('==========================>Called=======================>'); 358}); 359``` 360 361 362 363## DataAbilityHelper.denormalizeUri 364 365denormalizeUri(uri: string): Promise\<string> 366 367将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。 368 369**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 370 371**参数:** 372 373| 参数名 | 类型 | 必填 | 说明 | 374| ---- | ------ | ---- | ----------------------- | 375| uri | string | 是 | 指示要规范化的uri对象。 | 376 377**返回值:** 378 379| 类型 | 说明 | 380| ---------------- | ----------------------------------------- | 381| Promise\<string> | 如果反规范化成功,则返回反规范化uri对象。 | 382 383**示例:** 384 385```ts 386import featureAbility from '@ohos.ability.featureAbility'; 387let DAHelper = featureAbility.acquireDataAbilityHelper( 388 'dataability:///com.example.DataAbility' 389); 390DAHelper.denormalizeUri('dataability:///com.example.DataAbility',).then((data) => { 391 console.info('===============>denormalizeUriCallback=======================>'); 392}); 393``` 394 395## DataAbilityHelper.notifyChange 396 397notifyChange(uri: string, callback: AsyncCallback\<void>): void 398 399通知已注册的观察者uri指定的数据资源的更改(callback形式)。 400 401**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 402 403**参数:** 404 405| 参数名 | 类型 | 必填 | 说明 | 406| -------- | -------------------- | ---- | ------------------------ | 407| uri | string | 是 | 指示要操作的数据的路径。 | 408| callback | AsyncCallback\<void> | 是 | 回调方法。 | 409 410**示例:** 411 412```ts 413import featureAbility from '@ohos.ability.featureAbility'; 414let helper = featureAbility.acquireDataAbilityHelper( 415 'dataability:///com.example.DataAbility' 416); 417helper.notifyChange('dataability:///com.example.DataAbility', (err) => { 418 console.info('==========================>Called=======================>'); 419}); 420``` 421 422## DataAbilityHelper.notifyChange 423 424notifyChange(uri: string): Promise\<void> 425 426通知已注册的观察者uri指定的数据资源的更改(Promise形式)。 427 428**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 429 430**参数:** 431 432| 参数名 | 类型 | 必填 | 说明 | 433| ---- | ------ | ---- | ------------------------ | 434| uri | string | 是 | 指示要操作的数据的路径。 | 435 436**返回值:** 437 438| 类型 | 说明 | 439| -------------- | --------------------- | 440| Promise\<void> | 返回值为Promise对象。 | 441 442**示例:** 443 444```ts 445import featureAbility from '@ohos.ability.featureAbility'; 446let DAHelper = featureAbility.acquireDataAbilityHelper( 447 'dataability:///com.example.DataAbility' 448); 449DAHelper.notifyChange('dataability:///com.example.DataAbility').then(() => { 450 console.info('================>notifyChangeCallback================>'); 451}); 452``` 453 454## DataAbilityHelper.insert 455 456insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void 457 458将单个数据记录插入数据库(callback形式)。 459 460**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 461 462**参数:** 463 464| 参数名 | 类型 | 必填 | 说明 | 465| ------------ | ---------------------- | ---- | ------------------------------------------------------ | 466| uri | string | 是 | 指示要插入的数据的路径。 | 467| valuesBucket | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | 468| callback | AsyncCallback\<number> | 是 | 回调方法,返回插入数据记录的索引。 | 469 470**示例:** 471 472```ts 473import featureAbility from '@ohos.ability.featureAbility'; 474let DAHelper = featureAbility.acquireDataAbilityHelper( 475 'dataability:///com.example.DataAbility' 476); 477const valueBucket = { 478 'name': 'rose', 479 'age': 22, 480 'salary': 200.5, 481 'blobType': 'u8', 482}; 483DAHelper.insert('dataability:///com.example.DataAbility', valueBucket, 484 (err, data) => { 485 console.info('==========================>Called=======================>'); 486}); 487``` 488 489## DataAbilityHelper.insert 490 491insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise\<number> 492 493将单个数据记录插入数据库(Promise形式)。 494 495**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 496 497**参数:** 498 499| 参数名 | 类型 | 必填 | 说明 | 500| ------------ | ---------------- | ---- | ------------------------------------------------------ | 501| uri | string | 是 | 指示要插入的数据的路径。 | 502| valuesBucket | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | 503 504**返回值:** 505 506| 类型 | 说明 | 507| ---------------- | ------------------------ | 508| Promise\<number> | 返回插入数据记录的索引。 | 509 510**示例:** 511 512```ts 513import featureAbility from '@ohos.ability.featureAbility'; 514let DAHelper = featureAbility.acquireDataAbilityHelper( 515 'dataability:///com.example.DataAbility' 516); 517const valueBucket = { 518 'name': 'rose1', 519 'age': 221, 520 'salary': 20.5, 521 'blobType': 'u8', 522}; 523DAHelper.insert('dataability:///com.example.DataAbility', valueBucket).then((data) => { 524 console.info('====================>insertCallback=======================>'); 525}); 526``` 527 528## DataAbilityHelper.batchInsert 529 530batchInsert(uri: string, valuesBuckets: Array\<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void 531 532插入数据库(callback形式)。 533 534**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 535 536**参数:** 537 538| 参数名 | 类型 | 必填 | 说明 | 539| ------------ | ----------------------- | ---- | -------------------------------- | 540| uri | string | 是 | 指示要插入的数据的路径。 | 541| valuesBucket | Array\<rdb.ValuesBucket> | 是 | 指示要插入的数据记录。 | 542| callback | AsyncCallback\<number> | 是 | 回调方法。返回插入的数据记录数。 | 543 544**示例:** 545 546```ts 547import featureAbility from '@ohos.ability.featureAbility'; 548let DAHelper = featureAbility.acquireDataAbilityHelper( 549 'dataability:///com.example.DataAbility' 550); 551let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 552 {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 553 {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}); 554DAHelper.batchInsert('dataability:///com.example.DataAbility', cars, 555 (err, data) => { 556 console.info('==========================>Called=======================>'); 557}); 558``` 559 560## DataAbilityHelper.batchInsert 561 562batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise\<number> 563 564将多个数据记录插入数据库(Promise形式)。 565 566**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 567 568**参数:** 569 570| 参数名 | 类型 | 必填 | 说明 | 571| ------------ | ----------------------- | ---- | ------------------------ | 572| uri | string | 是 | 指示要插入的数据的路径。 | 573| valuesBucket | Array<rdb.ValuesBucket> | 是 | 指示要插入的数据记录。 | 574 575**返回值:** 576 577| 类型 | 说明 | 578| ---------------- | ---------------------- | 579| Promise\<number> | 返回插入的数据记录数。 | 580 581**示例:** 582 583```ts 584import featureAbility from '@ohos.ability.featureAbility'; 585let DAHelper = featureAbility.acquireDataAbilityHelper( 586 'dataability:///com.example.DataAbility' 587); 588let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 589 {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 590 {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}); 591DAHelper.batchInsert('dataability:///com.example.DataAbility', cars).then((data) => { 592 console.info('==================>batchInsertCallback=======================>'); 593}); 594``` 595 596## DataAbilityHelper.delete 597 598delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void 599 600从数据库中删除一个或多个数据记录(callback形式)。 601 602**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 603 604**参数:** 605 606| 参数名 | 类型 | 必填 | 说明 | 607| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 608| uri | string | 是 | 指示要删除的数据的路径。 | 609| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 610| callback | AsyncCallback\<number> | 是 | 回调方法。返回已删除的数据记录数。 | 611 612**示例:** 613 614```ts 615import featureAbility from '@ohos.ability.featureAbility'; 616import ohos_data_ability from '@ohos.data.dataAbility'; 617let DAHelper = featureAbility.acquireDataAbilityHelper( 618 'dataability:///com.example.DataAbility' 619); 620let da = new ohos_data_ability.DataAbilityPredicates(); 621DAHelper.delete('dataability:///com.example.DataAbility', da, 622 (err, data) => { 623 console.info('==========================>Called=======================>'); 624}); 625``` 626 627## DataAbilityHelper.delete 628 629delete(uri: string, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>; 630 631从数据库中删除一个或多个数据记录(Promise形式)。 632 633**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 634 635**参数:** 636 637| 参数名 | 类型 | 必填 | 说明 | 638| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 639| uri | string | 是 | 指示要删除的数据的路径。 | 640| predicates | dataAbility.DataAbilityPredicates | 否 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 641 642**返回值:** 643 644| 类型 | 说明 | 645| ---------------- | ------------------------ | 646| Promise\<number> | 返回已删除的数据记录数。 | 647 648**示例:** 649 650```ts 651import featureAbility from '@ohos.ability.featureAbility'; 652import ohos_data_ability from '@ohos.data.dataAbility'; 653let DAHelper = featureAbility.acquireDataAbilityHelper( 654 'dataability:///com.example.DataAbility' 655); 656let da = new ohos_data_ability.DataAbilityPredicates(); 657DAHelper.delete('dataability:///com.example.DataAbility', da).then((data) => { 658 console.info('==========================>deleteCallback=======================>'); 659}); 660``` 661 662## DataAbilityHelper.update 663 664update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void 665 666更新数据库中的数据记录(callback形式)。 667 668**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 669 670**参数:** 671 672| 参数名 | 类型 | 必填 | 说明 | 673| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 674| uri | string | 是 | 指示要更新的数据的路径。 | 675| valuesBucket | rdb.ValuesBucket | 是 | 指示要更新的数据。 | 676| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 677| callback | AsyncCallback\<number> | 是 | 回调方法,返回更新的数据记录数。 | 678 679**示例:** 680 681```ts 682import featureAbility from '@ohos.ability.featureAbility'; 683import ohos_data_ability from '@ohos.data.dataAbility'; 684let DAHelper = featureAbility.acquireDataAbilityHelper( 685 'dataability:///com.example.DataAbility' 686); 687const va = { 688 'name': 'roe1', 689 'age': 21, 690 'salary': 20.5, 691 'blobType': 'u8', 692}; 693let da = new ohos_data_ability.DataAbilityPredicates(); 694DAHelper.update('dataability:///com.example.DataAbility', va, da, (err, data) => { 695 console.info('==========================>Called=======================>'); 696}); 697``` 698 699## DataAbilityHelper.update 700 701update(uri: string, valuesBucket: rdb.ValuesBucket, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>; 702 703更新数据库中的数据记录(Promise形式)。 704 705**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 706 707**参数:** 708 709| 参数名 | 类型 | 必填 | 说明 | 710| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 711| uri | string | 是 | 指示要更新的数据的路径。 | 712| valuesBucket | rdb.ValuesBucket | 是 | 指示要更新的数据。 | 713| predicates | dataAbility.DataAbilityPredicates | 否 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 714 715**返回值:** 716 717| 类型 | 说明 | 718| ---------------- | -------------------------------------------- | 719| Promise\<number> | Promise中包含更新的数据记录数。 。 | 720 721**示例:** 722 723```ts 724import featureAbility from '@ohos.ability.featureAbility'; 725import ohos_data_ability from '@ohos.data.dataAbility'; 726let DAHelper = featureAbility.acquireDataAbilityHelper( 727 'dataability:///com.example.DataAbility' 728); 729const va = { 730 'name': 'roe1', 731 'age': 21, 732 'salary': 20.5, 733 'blobType': 'u8', 734}; 735let da = new ohos_data_ability.DataAbilityPredicates(); 736DAHelper.update('dataability:///com.example.DataAbility', va, da).then((data) => { 737 console.info('==========================>updateCallback=======================>'); 738}); 739``` 740 741## DataAbilityHelper.query 742 743query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void 744 745查询数据库中的数据(callback形式)。 746 747**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 748 749**参数:** 750 751| 参数名 | 类型 | 必填 | 说明 | 752| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 753| uri | string | 是 | 指示要查询的数据的路径。 | 754| columns | Array\<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | 755| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 756| callback | AsyncCallback\<ResultSet> | 是 | 回调方法,返回查询结果。 | 757 758**示例:** 759 760```ts 761import featureAbility from '@ohos.ability.featureAbility'; 762import ohos_data_ability from '@ohos.data.dataAbility'; 763let DAHelper = featureAbility.acquireDataAbilityHelper( 764 'dataability:///com.example.DataAbility' 765); 766let cars=new Array('value1', 'value2', 'value3', 'value4'); 767let da = new ohos_data_ability.DataAbilityPredicates(); 768DAHelper.query('dataability:///com.example.DataAbility', cars, da, (err, data) => { 769 console.info('==========================>Called=======================>'); 770}); 771``` 772 773 774 775## DataAbilityHelper.query 776 777query(uri: string, columns?: Array\<string>, predicates?: dataAbility.DataAbilityPredicates): Promise\<ResultSet>; 778 779查询数据库中的数据(Promise形式)。 780 781**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 782 783**参数:** 784 785| 参数名 | 类型 | 必填 | 说明 | 786| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 787| uri | string | 是 | 指示要查询的数据的路径。 | 788| columns | Array\<string> | 否 | 指示要查询的列。如果此参数为空,则查询所有列。 | 789| predicates | dataAbility.DataAbilityPredicates | 否 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 790 791**返回值:** 792 793| 类型 | 说明 | 794| ------------------- | -------------- | 795| Promise\<ResultSet> | 返回查询结果。 | 796 797**示例:** 798 799```ts 800import featureAbility from '@ohos.ability.featureAbility'; 801import ohos_data_ability from '@ohos.data.dataAbility'; 802let DAHelper = featureAbility.acquireDataAbilityHelper( 803 'dataability:///com.example.DataAbility' 804); 805let cars = new Array('value1', 'value2', 'value3', 'value4'); 806let da = new ohos_data_ability.DataAbilityPredicates(); 807DAHelper.query('dataability:///com.example.DataAbility', cars, da).then((data) => { 808 console.info('==========================>queryCallback=======================>'); 809}); 810``` 811 812## DataAbilityHelper.call 813 814call(uri: string, method: string, arg: string, extras: PacMap): Promise\<PacMap> 815 816调用DataAbility的扩展接口,使用Promise方式作为异步方法。 817 818**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 819 820**参数:** 821 822| 参数名 | 类型 | 必填 | 说明 | 823| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 824| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | 825| method | string | 是 | 被调用的方法名。 | 826| arg | string | 是 |需传入的参数。 | 827| extras | [PacMap](#pacmap) | 是 | 键值对参数。 | 828 829**返回值:** 830 831| 类型 | 说明 | 832|------ | ------- | 833|Promise\<[PacMap](#pacmap)> | 调用的返回值。 | 834 835**示例:** 836 837```ts 838import featureAbility from '@ohos.ability.featureAbility'; 839 840let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( 841 'dataability:///com.example.jsapidemo.UserDataAbility'); 842dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', 843 'method', 'arg', {'key1':'value1'}).then((data) => { 844 console.info('Operation succeeded: ' + data); 845}).catch((error) => { 846 console.error('Operation failed. Cause: ' + error); 847}); 848``` 849 850## DataAbilityHelper.call 851 852call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback\<PacMap>): void 853 854调用DataAbility的扩展接口,使用callback方式作为异步方法。 855 856**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 857 858**参数:** 859 860| 参数名 | 类型 | 必填 | 说明 | 861| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 862| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | 863| method | string | 是 | 被调用的方法名。 | 864| arg | string | 是 |需传入的参数。 | 865| extras | [PacMap](#pacmap) | 是 | 键值对参数。 | 866| callback | AsyncCallback\<[PacMap](#pacmap)> | 是 | 返回值。 | 867 868**示例:** 869 870```ts 871import featureAbility from '@ohos.ability.featureAbility'; 872 873let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( 874 'dataability:///com.example.jsapidemo.UserDataAbility'); 875dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', 876 'method', 'arg', {'key1':'value1'}, (err, data) => { 877 if (err) { 878 console.error('Operation failed. Cause: ' + err); 879 return; 880 } 881 console.info('Operation succeeded: ' + data); 882}); 883``` 884 885## DataAbilityHelper.executeBatch 886 887executeBatch(uri: string, operations: Array\<DataAbilityOperation>, callback: AsyncCallback\<Array\<DataAbilityResult>>): void; 888 889查询数据库中的数据。 890 891**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 892 893**参数:** 894 895| 参数名 | 类型 | 必填 | 说明 | 896| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 897| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。| 898| operations | Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)> | 是 | 指示数据操作列表,其中可以包含对数据库的多个操作。 | 899| callback | AsyncCallback\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | 是 |在数组 DataAbilityResult中返回每个操作的结果。 | 900 901**示例:** 902 903```ts 904import featureAbility from '@ohos.ability.featureAbility'; 905 906// 根据DataAbilityOperation列表选择要对数据库做的操作 907let op=new Array(); 908let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( 909 'dataability:///com.example.jsapidemo.UserDataAbility'); 910dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', 911 op, (err, data) => { 912 if (err) { 913 console.error('Operation failed. Cause: ' + err); 914 return; 915 } 916 console.info('Operation succeeded: ' + data); 917}); 918``` 919 920## DataAbilityHelper.executeBatch 921 922executeBatch(uri: string, operations: Array\<DataAbilityOperation>): Promise\<Array\<DataAbilityResult>>; 923 924查询数据库中的数据。 925 926**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 927 928**参数:** 929 930| 参数名 | 类型 | 必填 | 说明 | 931| ---------- | -------------------------------| ---- | ------------------------------------------------ | 932| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。| 933| operations | Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)> | 是 | 指示数据操作列表,其中可以包含对数据库的多个操作。 | 934 935**返回值:** 936 937| 类型 | 说明 | 938|------ | ------- | 939|Promise\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | 在数组 DataAbilityResult中返回每个操作的结果。 | 940 941**示例:** 942 943```ts 944import featureAbility from '@ohos.ability.featureAbility'; 945 946// 根据DataAbilityOperation列表选择要对数据库做的操作 947let op=new Array(); 948let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( 949 'dataability:///com.example.jsapidemo.UserDataAbility'); 950dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', 951 op).then((data) => { 952 console.info('Operation succeeded: ' + data); 953}).catch((error) => { 954 console.error('Operation failed. Cause: ' + error); 955}); 956 957``` 958 959## PacMap 960 961[key: string]: number | string | boolean | Array\<string | number | boolean> | null; 962 963**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 964 965| 参数名 | 参数类型 | 必填 | 说明 | 966| ------ | ------ | ------ | ------ | 967| [key: string] | number \| string \| boolean \| Array\<string \| number \| boolean\> \| null | Yes| 数据存储在键值对中。|