1e41f4b71Sopenharmony_ci# @ohos.data.rdb (关系型数据库) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。不支持Worker线程。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci该模块提供以下关系型数据库相关的常用功能: 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci- [RdbPredicates](#rdbpredicates): 数据库中用来代表数据实体的性质、特征或者数据实体之间关系的词项,主要用来定义数据库的操作条件。 8e41f4b71Sopenharmony_ci- [RdbStore](#rdbstore):提供管理关系数据库(RDB)方法的接口。 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci> **说明:** 11e41f4b71Sopenharmony_ci> 12e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 13e41f4b71Sopenharmony_ci> 14e41f4b71Sopenharmony_ci> - 从API version 9开始,该接口不再维护,推荐使用新接口[@ohos.data.relationalStore](js-apis-data-relationalStore.md)。 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci## 导入模块 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci```ts 20e41f4b71Sopenharmony_ciimport data_rdb from '@ohos.data.rdb'; 21e41f4b71Sopenharmony_ci``` 22e41f4b71Sopenharmony_ci## data_rdb.getRdbStore 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_cigetRdbStore(context: Context, config: StoreConfig, version: number, callback: AsyncCallback<RdbStore>): void 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,使用callback异步回调。 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci**参数:** 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 33e41f4b71Sopenharmony_ci| -------- | ------------------------------------------ | ---- | ------------------------------------------------------------ | 34e41f4b71Sopenharmony_ci| context | Context | 是 | 应用的上下文。 <br>FA模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。<br>Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。 | 35e41f4b71Sopenharmony_ci| config | [StoreConfig](#storeconfig) | 是 | 与此RDB存储相关的数据库配置。 | 36e41f4b71Sopenharmony_ci| version | number | 是 | 数据库版本。<br>目前暂不支持通过version自动识别数据库升级降级操作,只能由开发者自行维护。 | 37e41f4b71Sopenharmony_ci| callback | AsyncCallback<[RdbStore](#rdbstore)> | 是 | 指定callback回调函数,返回RdbStore对象。 | 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**示例:** 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ciFA模型示例: 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci```js 44e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility'; 45e41f4b71Sopenharmony_ciimport relationalStore from '@ohos.data.relationalStore'; 46e41f4b71Sopenharmony_ciimport window from '@ohos.window'; 47e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ciconst STORE_CONFIG: data_rdb.StoreConfig = { name: "RdbTest.db"} 50e41f4b71Sopenharmony_cidata_rdb.getRdbStore(this.context, STORE_CONFIG, 1, (err, rdbStore) => { 51e41f4b71Sopenharmony_ci if (err) { 52e41f4b71Sopenharmony_ci console.info("Get RdbStore failed, err: " + err) 53e41f4b71Sopenharmony_ci return 54e41f4b71Sopenharmony_ci } 55e41f4b71Sopenharmony_ci console.log("Get RdbStore successfully.") 56e41f4b71Sopenharmony_ci}) 57e41f4b71Sopenharmony_ci``` 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ciStage模型示例: 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci```ts 62e41f4b71Sopenharmony_ciimport UIAbility from '@ohos.app.ability.UIAbility'; 63e41f4b71Sopenharmony_ciimport { BusinessError } from "@ohos.base"; 64e41f4b71Sopenharmony_ciimport window from '@ohos.window'; 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ciconst STORE_CONFIG: data_rdb.StoreConfig = { name: "RdbTest.db"} 67e41f4b71Sopenharmony_ciclass EntryAbility extends UIAbility { 68e41f4b71Sopenharmony_ci onWindowStageCreate(windowStage: window.WindowStage){ 69e41f4b71Sopenharmony_ci data_rdb.getRdbStore(this.context, STORE_CONFIG, 1, (err: BusinessError, rdbStore: data_rdb.RdbStore) => { 70e41f4b71Sopenharmony_ci if (err) { 71e41f4b71Sopenharmony_ci console.info("Get RdbStore failed, err: " + err) 72e41f4b71Sopenharmony_ci return 73e41f4b71Sopenharmony_ci } 74e41f4b71Sopenharmony_ci console.log("Get RdbStore successfully.") 75e41f4b71Sopenharmony_ci }) 76e41f4b71Sopenharmony_ci } 77e41f4b71Sopenharmony_ci} 78e41f4b71Sopenharmony_ci``` 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci## data_rdb.getRdbStore 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_cigetRdbStore(context: Context, config: StoreConfig, version: number): Promise<RdbStore> 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,使用Promise异步回调。 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci**参数:** 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 91e41f4b71Sopenharmony_ci| ------- | --------------------------- | ---- | ------------------------------------------------------------ | 92e41f4b71Sopenharmony_ci| context | Context | 是 | 应用的上下文。 <br>FA模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。<br>Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。 | 93e41f4b71Sopenharmony_ci| config | [StoreConfig](#storeconfig) | 是 | 与此RDB存储相关的数据库配置。 | 94e41f4b71Sopenharmony_ci| version | number | 是 | 数据库版本。<br>目前暂不支持通过version自动识别数据库升级降级操作,只能由开发者自行维护。 | 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci**返回值**: 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci| 类型 | 说明 | 99e41f4b71Sopenharmony_ci| ------------------------------------ | ------------------------------- | 100e41f4b71Sopenharmony_ci| Promise<[RdbStore](#rdbstore)> | Promise对象。返回RdbStore对象。 | 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci**示例:** 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ciFA模型示例: 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci```js 107e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility'; 108e41f4b71Sopenharmony_ci 109e41f4b71Sopenharmony_ciconst STORE_CONFIG: data_rdb.StoreConfig = { name: "RdbTest.db"} 110e41f4b71Sopenharmony_cilet promise = data_rdb.getRdbStore(this.context, STORE_CONFIG, 1); 111e41f4b71Sopenharmony_cipromise.then(async (rdbStore) => { 112e41f4b71Sopenharmony_ci console.log("Get RdbStore successfully.") 113e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 114e41f4b71Sopenharmony_ci console.log("Get RdbStore failed, err: " + err) 115e41f4b71Sopenharmony_ci}) 116e41f4b71Sopenharmony_ci``` 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ciStage模型示例: 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci```ts 121e41f4b71Sopenharmony_ciimport UIAbility from '@ohos.app.ability.UIAbility'; 122e41f4b71Sopenharmony_ciimport { BusinessError } from "@ohos.base"; 123e41f4b71Sopenharmony_ciimport window from '@ohos.window'; 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ciconst STORE_CONFIG: data_rdb.StoreConfig = { name: "RdbTest.db"} 126e41f4b71Sopenharmony_ciclass EntryAbility extends UIAbility { 127e41f4b71Sopenharmony_ci onWindowStageCreate(windowStage: window.WindowStage){ 128e41f4b71Sopenharmony_ci context = this.context 129e41f4b71Sopenharmony_ci } 130e41f4b71Sopenharmony_ci} 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci// 获取context后调用getRdbStore 133e41f4b71Sopenharmony_cilet promise = data_rdb.getRdbStore(this.context, STORE_CONFIG, 1); 134e41f4b71Sopenharmony_cipromise.then(async (rdbStore: data_rdb.RdbStore) => { 135e41f4b71Sopenharmony_ci console.log("Get RdbStore successfully.") 136e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 137e41f4b71Sopenharmony_ci console.log("Get RdbStore failed, err: " + err) 138e41f4b71Sopenharmony_ci}) 139e41f4b71Sopenharmony_ci``` 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci## data_rdb.deleteRdbStore 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_cideleteRdbStore(context: Context, name: string, callback: AsyncCallback<void>): void 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci删除数据库,使用callback异步回调。 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci**参数:** 150e41f4b71Sopenharmony_ci 151e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 152e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ------------------------------------------------------------ | 153e41f4b71Sopenharmony_ci| context | Context | 是 | 应用的上下文。 <br>FA模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。<br>Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。 | 154e41f4b71Sopenharmony_ci| name | string | 是 | 数据库名称。 | 155e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci**示例:** 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ciFA模型示例: 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci```js 162e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility'; 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_cidata_rdb.deleteRdbStore(this.context, "RdbTest.db", (err) => { 165e41f4b71Sopenharmony_ci if (err) { 166e41f4b71Sopenharmony_ci console.info("Delete RdbStore failed, err: " + err) 167e41f4b71Sopenharmony_ci return 168e41f4b71Sopenharmony_ci } 169e41f4b71Sopenharmony_ci console.log("Delete RdbStore successfully.") 170e41f4b71Sopenharmony_ci}) 171e41f4b71Sopenharmony_ci``` 172e41f4b71Sopenharmony_ci 173e41f4b71Sopenharmony_ciStage模型示例: 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci```ts 176e41f4b71Sopenharmony_ciimport UIAbility from '@ohos.app.ability.UIAbility'; 177e41f4b71Sopenharmony_ciimport window from '@ohos.window'; 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ciclass EntryAbility extends UIAbility { 180e41f4b71Sopenharmony_ci onWindowStageCreate(windowStage: window.WindowStage){ 181e41f4b71Sopenharmony_ci context = this.context 182e41f4b71Sopenharmony_ci } 183e41f4b71Sopenharmony_ci} 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci// 获取context后调用deleteRdbStore 186e41f4b71Sopenharmony_cidata_rdb.deleteRdbStore(this.context, "RdbTest.db", (err) => { 187e41f4b71Sopenharmony_ci if (err) { 188e41f4b71Sopenharmony_ci console.info("Delete RdbStore failed, err: " + err) 189e41f4b71Sopenharmony_ci return 190e41f4b71Sopenharmony_ci } 191e41f4b71Sopenharmony_ci console.log("Delete RdbStore successfully.") 192e41f4b71Sopenharmony_ci}) 193e41f4b71Sopenharmony_ci``` 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci## data_rdb.deleteRdbStore 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_cideleteRdbStore(context: Context, name: string): Promise<void> 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci使用指定的数据库文件配置删除数据库,使用Promise异步回调。 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 202e41f4b71Sopenharmony_ci 203e41f4b71Sopenharmony_ci**参数** 204e41f4b71Sopenharmony_ci 205e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 206e41f4b71Sopenharmony_ci| ------- | ------- | ---- | ------------------------------------------------------------ | 207e41f4b71Sopenharmony_ci| context | Context | 是 | 应用的上下文。 <br>FA模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。<br>Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-app-context.md)。 | 208e41f4b71Sopenharmony_ci| name | string | 是 | 数据库名称。 | 209e41f4b71Sopenharmony_ci 210e41f4b71Sopenharmony_ci**返回值**: 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci| 类型 | 说明 | 213e41f4b71Sopenharmony_ci| ------------------- | ------------------------- | 214e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。 | 215e41f4b71Sopenharmony_ci 216e41f4b71Sopenharmony_ci**示例:** 217e41f4b71Sopenharmony_ci 218e41f4b71Sopenharmony_ciFA模型示例: 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ci```js 221e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility'; 222e41f4b71Sopenharmony_ci 223e41f4b71Sopenharmony_cilet promise = data_rdb.deleteRdbStore(this.context, "RdbTest.db") 224e41f4b71Sopenharmony_cipromise.then(() => { 225e41f4b71Sopenharmony_ci console.log("Delete RdbStore successfully.") 226e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 227e41f4b71Sopenharmony_ci console.info("Delete RdbStore failed, err: " + err) 228e41f4b71Sopenharmony_ci}) 229e41f4b71Sopenharmony_ci``` 230e41f4b71Sopenharmony_ci 231e41f4b71Sopenharmony_ciStage模型示例: 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci```ts 234e41f4b71Sopenharmony_ciimport UIAbility from '@ohos.app.ability.UIAbility'; 235e41f4b71Sopenharmony_ciimport { BusinessError } from "@ohos.base"; 236e41f4b71Sopenharmony_ciimport window from '@ohos.window'; 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ciclass EntryAbility extends UIAbility { 239e41f4b71Sopenharmony_ci onWindowStageCreate(windowStage: window.WindowStage){ 240e41f4b71Sopenharmony_ci context = this.context 241e41f4b71Sopenharmony_ci } 242e41f4b71Sopenharmony_ci} 243e41f4b71Sopenharmony_ci 244e41f4b71Sopenharmony_ci// 获取context后调用deleteRdbStore 245e41f4b71Sopenharmony_cilet promise = data_rdb.deleteRdbStore(this.context, "RdbTest.db") 246e41f4b71Sopenharmony_cipromise.then(()=>{ 247e41f4b71Sopenharmony_ci console.log("Delete RdbStore successfully.") 248e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 249e41f4b71Sopenharmony_ci console.info("Delete RdbStore failed, err: " + err) 250e41f4b71Sopenharmony_ci}) 251e41f4b71Sopenharmony_ci``` 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci## ValueType 254e41f4b71Sopenharmony_ci 255e41f4b71Sopenharmony_citype ValueType = number | string | boolean 256e41f4b71Sopenharmony_ci 257e41f4b71Sopenharmony_ci用于表示允许的数据字段类型。 258e41f4b71Sopenharmony_ci 259e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ci| 类型 | 说明 | 262e41f4b71Sopenharmony_ci| ------- | -------------------- | 263e41f4b71Sopenharmony_ci| number | 表示值类型为数字。 | 264e41f4b71Sopenharmony_ci| string | 表示值类型为字符。 | 265e41f4b71Sopenharmony_ci| boolean | 表示值类型为布尔值。 | 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_ci## ValuesBucket 269e41f4b71Sopenharmony_ci 270e41f4b71Sopenharmony_citype ValuesBucket = { [key: string]: ValueType | Uint8Array | null } 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci用于存储键值对的类型。 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci| 键类型 | 值类型 | 277e41f4b71Sopenharmony_ci| ------ | ----------------------------------------------------------- | 278e41f4b71Sopenharmony_ci| string | [ValueType](#valuetype)\| Uint8Array \| null | 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci## SyncMode<sup>8+</sup> 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci指数据库同步模式。 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 287e41f4b71Sopenharmony_ci| -------------- | ---- | ---------------------------------- | 288e41f4b71Sopenharmony_ci| SYNC_MODE_PUSH | 0 | 表示数据从本地设备推送到远程设备。 | 289e41f4b71Sopenharmony_ci| SYNC_MODE_PULL | 1 | 表示数据从远程设备拉至本地设备。 | 290e41f4b71Sopenharmony_ci 291e41f4b71Sopenharmony_ci## SubscribeType<sup>8+</sup> 292e41f4b71Sopenharmony_ci 293e41f4b71Sopenharmony_ci描述订阅类型。 294e41f4b71Sopenharmony_ci 295e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 298e41f4b71Sopenharmony_ci 299e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 300e41f4b71Sopenharmony_ci| --------------------- | ---- | ------------------ | 301e41f4b71Sopenharmony_ci| SUBSCRIBE_TYPE_REMOTE | 0 | 订阅远程数据更改。 | 302e41f4b71Sopenharmony_ci 303e41f4b71Sopenharmony_ci## StoreConfig 304e41f4b71Sopenharmony_ci 305e41f4b71Sopenharmony_ci管理关系数据库配置。 306e41f4b71Sopenharmony_ci 307e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 308e41f4b71Sopenharmony_ci 309e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 310e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 311e41f4b71Sopenharmony_ci| name | string | 是 | 数据库文件名。 | 312e41f4b71Sopenharmony_ci 313e41f4b71Sopenharmony_ci## RdbPredicates 314e41f4b71Sopenharmony_ci 315e41f4b71Sopenharmony_ci表示关系型数据库(RDB)的谓词。该类确定RDB中条件表达式的值是true还是false。 316e41f4b71Sopenharmony_ci 317e41f4b71Sopenharmony_ci### constructor 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ciconstructor(name: string) 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_ci构造函数。 322e41f4b71Sopenharmony_ci 323e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 324e41f4b71Sopenharmony_ci 325e41f4b71Sopenharmony_ci**参数:** 326e41f4b71Sopenharmony_ci 327e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 328e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 329e41f4b71Sopenharmony_ci| name | string | 是 | 数据库表名。 | 330e41f4b71Sopenharmony_ci 331e41f4b71Sopenharmony_ci**示例:** 332e41f4b71Sopenharmony_ci 333e41f4b71Sopenharmony_ci```ts 334e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 335e41f4b71Sopenharmony_ci``` 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci### inDevices<sup>8+</sup> 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ciinDevices(devices: Array<string>): RdbPredicates 340e41f4b71Sopenharmony_ci 341e41f4b71Sopenharmony_ci同步分布式数据库时连接到组网内指定的远程设备。 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci> **说明:** 344e41f4b71Sopenharmony_ci> 345e41f4b71Sopenharmony_ci> 其中devices通过调用<!--RP2-->[deviceManager.getTrustedDeviceListSync](../apis-distributedservice-kit/js-apis-device-manager-sys.md#gettrusteddevicelistsync)方法得到。<!--RP2End-->deviceManager模块的接口均为系统接口,仅系统应用可用。 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci**参数:** 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 352e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 353e41f4b71Sopenharmony_ci| devices | Array<string> | 是 | 指定的组网内的远程设备ID。 | 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci**返回值**: 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci| 类型 | 说明 | 358e41f4b71Sopenharmony_ci| -------- | -------- | 359e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 360e41f4b71Sopenharmony_ci 361e41f4b71Sopenharmony_ci**示例:** 362e41f4b71Sopenharmony_ci 363e41f4b71Sopenharmony_ci```ts 364e41f4b71Sopenharmony_ciimport deviceManager from '@ohos.distributedHardware.deviceManager'; 365e41f4b71Sopenharmony_ci 366e41f4b71Sopenharmony_cilet dmInstance: deviceManager.DeviceManager; 367e41f4b71Sopenharmony_cilet deviceIds: Array<string> = []; 368e41f4b71Sopenharmony_cilet devices: Array<string> = []; 369e41f4b71Sopenharmony_ci 370e41f4b71Sopenharmony_cideviceManager.createDeviceManager("com.example.appdatamgrverify", (err: BusinessError, manager: void) => { 371e41f4b71Sopenharmony_ci if (err) { 372e41f4b71Sopenharmony_ci console.log("create device manager failed, err=" + err); 373e41f4b71Sopenharmony_ci return; 374e41f4b71Sopenharmony_ci } 375e41f4b71Sopenharmony_ci dmInstance = manager; 376e41f4b71Sopenharmony_ci devices = dmInstance.getTrustedDeviceListSync(); 377e41f4b71Sopenharmony_ci for (let i = 0; i < devices.length; i++) { 378e41f4b71Sopenharmony_ci deviceIds[i] = devices[i].deviceId; 379e41f4b71Sopenharmony_ci } 380e41f4b71Sopenharmony_ci}) 381e41f4b71Sopenharmony_ci 382e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE"); 383e41f4b71Sopenharmony_cipredicates.inDevices(deviceIds); 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE"); 386e41f4b71Sopenharmony_cipredicates.inDevices(deviceIds); 387e41f4b71Sopenharmony_ci``` 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci### inAllDevices<sup>8+</sup> 390e41f4b71Sopenharmony_ci 391e41f4b71Sopenharmony_ciinAllDevices(): RdbPredicates 392e41f4b71Sopenharmony_ci 393e41f4b71Sopenharmony_ci同步分布式数据库时连接到组网内所有的远程设备。 394e41f4b71Sopenharmony_ci 395e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_ci**返回值**: 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci| 类型 | 说明 | 400e41f4b71Sopenharmony_ci| -------- | -------- | 401e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 402e41f4b71Sopenharmony_ci 403e41f4b71Sopenharmony_ci**示例:** 404e41f4b71Sopenharmony_ci 405e41f4b71Sopenharmony_ci```ts 406e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 407e41f4b71Sopenharmony_cipredicates.inAllDevices() 408e41f4b71Sopenharmony_ci``` 409e41f4b71Sopenharmony_ci 410e41f4b71Sopenharmony_ci### equalTo 411e41f4b71Sopenharmony_ci 412e41f4b71Sopenharmony_ciequalTo(field: string, value: ValueType): RdbPredicates 413e41f4b71Sopenharmony_ci 414e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为ValueType且值等于指定值的字段。 415e41f4b71Sopenharmony_ci 416e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 417e41f4b71Sopenharmony_ci 418e41f4b71Sopenharmony_ci**参数:** 419e41f4b71Sopenharmony_ci 420e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 421e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 422e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 423e41f4b71Sopenharmony_ci| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 | 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci**返回值**: 426e41f4b71Sopenharmony_ci 427e41f4b71Sopenharmony_ci| 类型 | 说明 | 428e41f4b71Sopenharmony_ci| -------- | -------- | 429e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 430e41f4b71Sopenharmony_ci 431e41f4b71Sopenharmony_ci**示例:** 432e41f4b71Sopenharmony_ci 433e41f4b71Sopenharmony_ci```ts 434e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 435e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "lisi") 436e41f4b71Sopenharmony_ci``` 437e41f4b71Sopenharmony_ci 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci### notEqualTo 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_cinotEqualTo(field: string, value: ValueType): RdbPredicates 442e41f4b71Sopenharmony_ci 443e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为ValueType且值不等于指定值的字段。 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci**参数:** 448e41f4b71Sopenharmony_ci 449e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 450e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 451e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 452e41f4b71Sopenharmony_ci| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 | 453e41f4b71Sopenharmony_ci 454e41f4b71Sopenharmony_ci**返回值**: 455e41f4b71Sopenharmony_ci 456e41f4b71Sopenharmony_ci| 类型 | 说明 | 457e41f4b71Sopenharmony_ci| -------- | -------- | 458e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 459e41f4b71Sopenharmony_ci 460e41f4b71Sopenharmony_ci**示例:** 461e41f4b71Sopenharmony_ci 462e41f4b71Sopenharmony_ci```ts 463e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 464e41f4b71Sopenharmony_cipredicates.notEqualTo("NAME", "lisi") 465e41f4b71Sopenharmony_ci``` 466e41f4b71Sopenharmony_ci 467e41f4b71Sopenharmony_ci 468e41f4b71Sopenharmony_ci### beginWrap 469e41f4b71Sopenharmony_ci 470e41f4b71Sopenharmony_cibeginWrap(): RdbPredicates 471e41f4b71Sopenharmony_ci 472e41f4b71Sopenharmony_ci向谓词添加左括号。 473e41f4b71Sopenharmony_ci 474e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 475e41f4b71Sopenharmony_ci 476e41f4b71Sopenharmony_ci**返回值**: 477e41f4b71Sopenharmony_ci 478e41f4b71Sopenharmony_ci| 类型 | 说明 | 479e41f4b71Sopenharmony_ci| -------- | -------- | 480e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回带有左括号的Rdb谓词。 | 481e41f4b71Sopenharmony_ci 482e41f4b71Sopenharmony_ci**示例:** 483e41f4b71Sopenharmony_ci 484e41f4b71Sopenharmony_ci```ts 485e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 486e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "lisi") 487e41f4b71Sopenharmony_ci .beginWrap() 488e41f4b71Sopenharmony_ci .equalTo("AGE", 18) 489e41f4b71Sopenharmony_ci .or() 490e41f4b71Sopenharmony_ci .equalTo("SALARY", 200.5) 491e41f4b71Sopenharmony_ci .endWrap() 492e41f4b71Sopenharmony_ci``` 493e41f4b71Sopenharmony_ci 494e41f4b71Sopenharmony_ci### endWrap 495e41f4b71Sopenharmony_ci 496e41f4b71Sopenharmony_ciendWrap(): RdbPredicates 497e41f4b71Sopenharmony_ci 498e41f4b71Sopenharmony_ci向谓词添加右括号。 499e41f4b71Sopenharmony_ci 500e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 501e41f4b71Sopenharmony_ci 502e41f4b71Sopenharmony_ci**返回值**: 503e41f4b71Sopenharmony_ci 504e41f4b71Sopenharmony_ci| 类型 | 说明 | 505e41f4b71Sopenharmony_ci| -------- | -------- | 506e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回带有右括号的Rdb谓词。 | 507e41f4b71Sopenharmony_ci 508e41f4b71Sopenharmony_ci**示例:** 509e41f4b71Sopenharmony_ci 510e41f4b71Sopenharmony_ci```ts 511e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 512e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "lisi") 513e41f4b71Sopenharmony_ci .beginWrap() 514e41f4b71Sopenharmony_ci .equalTo("AGE", 18) 515e41f4b71Sopenharmony_ci .or() 516e41f4b71Sopenharmony_ci .equalTo("SALARY", 200.5) 517e41f4b71Sopenharmony_ci .endWrap() 518e41f4b71Sopenharmony_ci``` 519e41f4b71Sopenharmony_ci 520e41f4b71Sopenharmony_ci### or 521e41f4b71Sopenharmony_ci 522e41f4b71Sopenharmony_cior(): RdbPredicates 523e41f4b71Sopenharmony_ci 524e41f4b71Sopenharmony_ci将或条件添加到谓词中。 525e41f4b71Sopenharmony_ci 526e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 527e41f4b71Sopenharmony_ci 528e41f4b71Sopenharmony_ci**返回值**: 529e41f4b71Sopenharmony_ci 530e41f4b71Sopenharmony_ci| 类型 | 说明 | 531e41f4b71Sopenharmony_ci| -------- | -------- | 532e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回带有或条件的Rdb谓词。 | 533e41f4b71Sopenharmony_ci 534e41f4b71Sopenharmony_ci**示例:** 535e41f4b71Sopenharmony_ci 536e41f4b71Sopenharmony_ci```ts 537e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 538e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Lisa") 539e41f4b71Sopenharmony_ci .or() 540e41f4b71Sopenharmony_ci .equalTo("NAME", "Rose") 541e41f4b71Sopenharmony_ci``` 542e41f4b71Sopenharmony_ci 543e41f4b71Sopenharmony_ci### and 544e41f4b71Sopenharmony_ci 545e41f4b71Sopenharmony_ciand(): RdbPredicates 546e41f4b71Sopenharmony_ci 547e41f4b71Sopenharmony_ci向谓词添加和条件。 548e41f4b71Sopenharmony_ci 549e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 550e41f4b71Sopenharmony_ci 551e41f4b71Sopenharmony_ci**返回值**: 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci| 类型 | 说明 | 554e41f4b71Sopenharmony_ci| -------- | -------- | 555e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回带有和条件的Rdb谓词。 | 556e41f4b71Sopenharmony_ci 557e41f4b71Sopenharmony_ci**示例:** 558e41f4b71Sopenharmony_ci 559e41f4b71Sopenharmony_ci```ts 560e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 561e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Lisa") 562e41f4b71Sopenharmony_ci .and() 563e41f4b71Sopenharmony_ci .equalTo("SALARY", 200.5) 564e41f4b71Sopenharmony_ci``` 565e41f4b71Sopenharmony_ci 566e41f4b71Sopenharmony_ci### contains 567e41f4b71Sopenharmony_ci 568e41f4b71Sopenharmony_cicontains(field: string, value: string): RdbPredicates 569e41f4b71Sopenharmony_ci 570e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为string且value包含指定值的字段。 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 573e41f4b71Sopenharmony_ci 574e41f4b71Sopenharmony_ci**参数:** 575e41f4b71Sopenharmony_ci 576e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 577e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 578e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 579e41f4b71Sopenharmony_ci| value | string | 是 | 指示要与谓词匹配的值。 | 580e41f4b71Sopenharmony_ci 581e41f4b71Sopenharmony_ci**返回值**: 582e41f4b71Sopenharmony_ci 583e41f4b71Sopenharmony_ci| 类型 | 说明 | 584e41f4b71Sopenharmony_ci| -------- | -------- | 585e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 586e41f4b71Sopenharmony_ci 587e41f4b71Sopenharmony_ci**示例:** 588e41f4b71Sopenharmony_ci 589e41f4b71Sopenharmony_ci```ts 590e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 591e41f4b71Sopenharmony_cipredicates.contains("NAME", "os") 592e41f4b71Sopenharmony_ci``` 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_ci### beginsWith 595e41f4b71Sopenharmony_ci 596e41f4b71Sopenharmony_cibeginsWith(field: string, value: string): RdbPredicates 597e41f4b71Sopenharmony_ci 598e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为string且值以指定字符串开头的字段。 599e41f4b71Sopenharmony_ci 600e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 601e41f4b71Sopenharmony_ci 602e41f4b71Sopenharmony_ci**参数:** 603e41f4b71Sopenharmony_ci 604e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 605e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 606e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 607e41f4b71Sopenharmony_ci| value | string | 是 | 指示要与谓词匹配的值。 | 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_ci**返回值**: 610e41f4b71Sopenharmony_ci 611e41f4b71Sopenharmony_ci| 类型 | 说明 | 612e41f4b71Sopenharmony_ci| -------- | -------- | 613e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 614e41f4b71Sopenharmony_ci 615e41f4b71Sopenharmony_ci**示例:** 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_ci```ts 618e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 619e41f4b71Sopenharmony_cipredicates.beginsWith("NAME", "os") 620e41f4b71Sopenharmony_ci``` 621e41f4b71Sopenharmony_ci 622e41f4b71Sopenharmony_ci### endsWith 623e41f4b71Sopenharmony_ci 624e41f4b71Sopenharmony_ciendsWith(field: string, value: string): RdbPredicates 625e41f4b71Sopenharmony_ci 626e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为string且值以指定字符串结尾的字段。 627e41f4b71Sopenharmony_ci 628e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 629e41f4b71Sopenharmony_ci 630e41f4b71Sopenharmony_ci**参数:** 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 633e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 634e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 635e41f4b71Sopenharmony_ci| value | string | 是 | 指示要与谓词匹配的值。 | 636e41f4b71Sopenharmony_ci 637e41f4b71Sopenharmony_ci**返回值**: 638e41f4b71Sopenharmony_ci 639e41f4b71Sopenharmony_ci| 类型 | 说明 | 640e41f4b71Sopenharmony_ci| -------- | -------- | 641e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci**示例:** 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ci```ts 646e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 647e41f4b71Sopenharmony_cipredicates.endsWith("NAME", "se") 648e41f4b71Sopenharmony_ci``` 649e41f4b71Sopenharmony_ci 650e41f4b71Sopenharmony_ci### isNull 651e41f4b71Sopenharmony_ci 652e41f4b71Sopenharmony_ciisNull(field: string): RdbPredicates 653e41f4b71Sopenharmony_ci 654e41f4b71Sopenharmony_ci配置谓词以匹配值为null的字段。 655e41f4b71Sopenharmony_ci 656e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 657e41f4b71Sopenharmony_ci 658e41f4b71Sopenharmony_ci**参数:** 659e41f4b71Sopenharmony_ci 660e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 661e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 662e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 663e41f4b71Sopenharmony_ci 664e41f4b71Sopenharmony_ci**返回值**: 665e41f4b71Sopenharmony_ci 666e41f4b71Sopenharmony_ci| 类型 | 说明 | 667e41f4b71Sopenharmony_ci| -------- | -------- | 668e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 669e41f4b71Sopenharmony_ci 670e41f4b71Sopenharmony_ci**示例**: 671e41f4b71Sopenharmony_ci```ts 672e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 673e41f4b71Sopenharmony_cipredicates.isNull("NAME") 674e41f4b71Sopenharmony_ci``` 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci### isNotNull 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ciisNotNull(field: string): RdbPredicates 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci配置谓词以匹配值不为null的指定字段。 681e41f4b71Sopenharmony_ci 682e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci**参数:** 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 687e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 688e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 689e41f4b71Sopenharmony_ci 690e41f4b71Sopenharmony_ci**返回值**: 691e41f4b71Sopenharmony_ci 692e41f4b71Sopenharmony_ci| 类型 | 说明 | 693e41f4b71Sopenharmony_ci| -------- | -------- | 694e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 695e41f4b71Sopenharmony_ci 696e41f4b71Sopenharmony_ci**错误码:** 697e41f4b71Sopenharmony_ci 698e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 699e41f4b71Sopenharmony_ci 700e41f4b71Sopenharmony_ci| **错误码ID** | **错误信息** | 701e41f4b71Sopenharmony_ci| --------- |----------------------------------------------------------------------------------------------------------------| 702e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 703e41f4b71Sopenharmony_ci 704e41f4b71Sopenharmony_ci**示例:** 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci```ts 707e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 708e41f4b71Sopenharmony_cipredicates.isNotNull("NAME") 709e41f4b71Sopenharmony_ci``` 710e41f4b71Sopenharmony_ci 711e41f4b71Sopenharmony_ci### like 712e41f4b71Sopenharmony_ci 713e41f4b71Sopenharmony_cilike(field: string, value: string): RdbPredicates 714e41f4b71Sopenharmony_ci 715e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为string且值类似于指定字符串的字段。 716e41f4b71Sopenharmony_ci 717e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 718e41f4b71Sopenharmony_ci 719e41f4b71Sopenharmony_ci**参数:** 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 722e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 723e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 724e41f4b71Sopenharmony_ci| value | string | 是 | 指示要与谓词匹配的值。 | 725e41f4b71Sopenharmony_ci 726e41f4b71Sopenharmony_ci**返回值**: 727e41f4b71Sopenharmony_ci 728e41f4b71Sopenharmony_ci| 类型 | 说明 | 729e41f4b71Sopenharmony_ci| -------- | -------- | 730e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 731e41f4b71Sopenharmony_ci 732e41f4b71Sopenharmony_ci**示例:** 733e41f4b71Sopenharmony_ci 734e41f4b71Sopenharmony_ci```ts 735e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 736e41f4b71Sopenharmony_cipredicates.like("NAME", "%os%") 737e41f4b71Sopenharmony_ci``` 738e41f4b71Sopenharmony_ci 739e41f4b71Sopenharmony_ci### glob 740e41f4b71Sopenharmony_ci 741e41f4b71Sopenharmony_ciglob(field: string, value: string): RdbPredicates 742e41f4b71Sopenharmony_ci 743e41f4b71Sopenharmony_ci配置RdbPredicates匹配数据字段为string的指定字段。 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 746e41f4b71Sopenharmony_ci 747e41f4b71Sopenharmony_ci**参数:** 748e41f4b71Sopenharmony_ci 749e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 750e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 751e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 752e41f4b71Sopenharmony_ci| value | string | 是 | 指示要与谓词匹配的值。<br>支持通配符,*表示0个、1个或多个数字或字符,?表示1个数字或字符。 | 753e41f4b71Sopenharmony_ci 754e41f4b71Sopenharmony_ci**返回值**: 755e41f4b71Sopenharmony_ci 756e41f4b71Sopenharmony_ci| 类型 | 说明 | 757e41f4b71Sopenharmony_ci| -------- | -------- | 758e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 759e41f4b71Sopenharmony_ci 760e41f4b71Sopenharmony_ci**示例:** 761e41f4b71Sopenharmony_ci 762e41f4b71Sopenharmony_ci```ts 763e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 764e41f4b71Sopenharmony_cipredicates.glob("NAME", "?h*g") 765e41f4b71Sopenharmony_ci``` 766e41f4b71Sopenharmony_ci 767e41f4b71Sopenharmony_ci### between 768e41f4b71Sopenharmony_ci 769e41f4b71Sopenharmony_cibetween(field: string, low: ValueType, high: ValueType): RdbPredicates 770e41f4b71Sopenharmony_ci 771e41f4b71Sopenharmony_ci将谓词配置为匹配数据字段为ValueType且value在给定范围内的指定字段。 772e41f4b71Sopenharmony_ci 773e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 774e41f4b71Sopenharmony_ci 775e41f4b71Sopenharmony_ci**参数:** 776e41f4b71Sopenharmony_ci 777e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 778e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 779e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 780e41f4b71Sopenharmony_ci| low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 | 781e41f4b71Sopenharmony_ci| high | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的最大值。 | 782e41f4b71Sopenharmony_ci 783e41f4b71Sopenharmony_ci**返回值**: 784e41f4b71Sopenharmony_ci 785e41f4b71Sopenharmony_ci| 类型 | 说明 | 786e41f4b71Sopenharmony_ci| -------- | -------- | 787e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 788e41f4b71Sopenharmony_ci 789e41f4b71Sopenharmony_ci**示例:** 790e41f4b71Sopenharmony_ci 791e41f4b71Sopenharmony_ci```ts 792e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 793e41f4b71Sopenharmony_cipredicates.between("AGE", 10, 50) 794e41f4b71Sopenharmony_ci``` 795e41f4b71Sopenharmony_ci 796e41f4b71Sopenharmony_ci### notBetween 797e41f4b71Sopenharmony_ci 798e41f4b71Sopenharmony_cinotBetween(field: string, low: ValueType, high: ValueType): RdbPredicates 799e41f4b71Sopenharmony_ci 800e41f4b71Sopenharmony_ci配置RdbPredicates以匹配数据字段为ValueType且value超出给定范围的指定字段。 801e41f4b71Sopenharmony_ci 802e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 803e41f4b71Sopenharmony_ci 804e41f4b71Sopenharmony_ci**参数:** 805e41f4b71Sopenharmony_ci 806e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 807e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 808e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 809e41f4b71Sopenharmony_ci| low | [ValueType](#valuetype) | 是 | 指示与谓词匹配的最小值。 | 810e41f4b71Sopenharmony_ci| high | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的最大值。 | 811e41f4b71Sopenharmony_ci 812e41f4b71Sopenharmony_ci**返回值**: 813e41f4b71Sopenharmony_ci 814e41f4b71Sopenharmony_ci| 类型 | 说明 | 815e41f4b71Sopenharmony_ci| -------- | -------- | 816e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 817e41f4b71Sopenharmony_ci 818e41f4b71Sopenharmony_ci**示例:** 819e41f4b71Sopenharmony_ci 820e41f4b71Sopenharmony_ci```ts 821e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 822e41f4b71Sopenharmony_cipredicates.notBetween("AGE", 10, 50) 823e41f4b71Sopenharmony_ci``` 824e41f4b71Sopenharmony_ci 825e41f4b71Sopenharmony_ci### greaterThan 826e41f4b71Sopenharmony_ci 827e41f4b71Sopenharmony_cigreaterThan(field: string, value: ValueType): RdbPredicates 828e41f4b71Sopenharmony_ci 829e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为ValueType且值大于指定值的字段。 830e41f4b71Sopenharmony_ci 831e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 832e41f4b71Sopenharmony_ci 833e41f4b71Sopenharmony_ci**参数:** 834e41f4b71Sopenharmony_ci 835e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 836e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 837e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 838e41f4b71Sopenharmony_ci| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 | 839e41f4b71Sopenharmony_ci 840e41f4b71Sopenharmony_ci**返回值**: 841e41f4b71Sopenharmony_ci 842e41f4b71Sopenharmony_ci| 类型 | 说明 | 843e41f4b71Sopenharmony_ci| -------- | -------- | 844e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 845e41f4b71Sopenharmony_ci 846e41f4b71Sopenharmony_ci**示例:** 847e41f4b71Sopenharmony_ci 848e41f4b71Sopenharmony_ci```ts 849e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 850e41f4b71Sopenharmony_cipredicates.greaterThan("AGE", 18) 851e41f4b71Sopenharmony_ci``` 852e41f4b71Sopenharmony_ci 853e41f4b71Sopenharmony_ci### lessThan 854e41f4b71Sopenharmony_ci 855e41f4b71Sopenharmony_cilessThan(field: string, value: ValueType): RdbPredicates 856e41f4b71Sopenharmony_ci 857e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为valueType且value小于指定值的字段。 858e41f4b71Sopenharmony_ci 859e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 860e41f4b71Sopenharmony_ci 861e41f4b71Sopenharmony_ci**参数:** 862e41f4b71Sopenharmony_ci 863e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 864e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 865e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 866e41f4b71Sopenharmony_ci| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 | 867e41f4b71Sopenharmony_ci 868e41f4b71Sopenharmony_ci**返回值**: 869e41f4b71Sopenharmony_ci 870e41f4b71Sopenharmony_ci| 类型 | 说明 | 871e41f4b71Sopenharmony_ci| -------- | -------- | 872e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_ci**示例:** 875e41f4b71Sopenharmony_ci 876e41f4b71Sopenharmony_ci```ts 877e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 878e41f4b71Sopenharmony_cipredicates.lessThan("AGE", 20) 879e41f4b71Sopenharmony_ci``` 880e41f4b71Sopenharmony_ci 881e41f4b71Sopenharmony_ci### greaterThanOrEqualTo 882e41f4b71Sopenharmony_ci 883e41f4b71Sopenharmony_cigreaterThanOrEqualTo(field: string, value: ValueType): RdbPredicates 884e41f4b71Sopenharmony_ci 885e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为ValueType且value大于或等于指定值的字段。 886e41f4b71Sopenharmony_ci 887e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 888e41f4b71Sopenharmony_ci 889e41f4b71Sopenharmony_ci**参数:** 890e41f4b71Sopenharmony_ci 891e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 892e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 893e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 894e41f4b71Sopenharmony_ci| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 | 895e41f4b71Sopenharmony_ci 896e41f4b71Sopenharmony_ci**返回值**: 897e41f4b71Sopenharmony_ci 898e41f4b71Sopenharmony_ci| 类型 | 说明 | 899e41f4b71Sopenharmony_ci| -------- | -------- | 900e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 901e41f4b71Sopenharmony_ci 902e41f4b71Sopenharmony_ci**示例:** 903e41f4b71Sopenharmony_ci 904e41f4b71Sopenharmony_ci```ts 905e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 906e41f4b71Sopenharmony_cipredicates.greaterThanOrEqualTo("AGE", 18) 907e41f4b71Sopenharmony_ci``` 908e41f4b71Sopenharmony_ci 909e41f4b71Sopenharmony_ci### lessThanOrEqualTo 910e41f4b71Sopenharmony_ci 911e41f4b71Sopenharmony_cilessThanOrEqualTo(field: string, value: ValueType): RdbPredicates 912e41f4b71Sopenharmony_ci 913e41f4b71Sopenharmony_ci配置谓词以匹配数据字段为ValueType且value小于或等于指定值的字段。 914e41f4b71Sopenharmony_ci 915e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 916e41f4b71Sopenharmony_ci 917e41f4b71Sopenharmony_ci**参数:** 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 920e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 921e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 922e41f4b71Sopenharmony_ci| value | [ValueType](#valuetype) | 是 | 指示要与谓词匹配的值。 | 923e41f4b71Sopenharmony_ci 924e41f4b71Sopenharmony_ci**返回值**: 925e41f4b71Sopenharmony_ci 926e41f4b71Sopenharmony_ci| 类型 | 说明 | 927e41f4b71Sopenharmony_ci| -------- | -------- | 928e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 929e41f4b71Sopenharmony_ci 930e41f4b71Sopenharmony_ci**示例:** 931e41f4b71Sopenharmony_ci 932e41f4b71Sopenharmony_ci```ts 933e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 934e41f4b71Sopenharmony_cipredicates.lessThanOrEqualTo("AGE", 20) 935e41f4b71Sopenharmony_ci``` 936e41f4b71Sopenharmony_ci 937e41f4b71Sopenharmony_ci### orderByAsc 938e41f4b71Sopenharmony_ci 939e41f4b71Sopenharmony_ciorderByAsc(field: string): RdbPredicates 940e41f4b71Sopenharmony_ci 941e41f4b71Sopenharmony_ci配置谓词以匹配其值按升序排序的列。 942e41f4b71Sopenharmony_ci 943e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 944e41f4b71Sopenharmony_ci 945e41f4b71Sopenharmony_ci**参数:** 946e41f4b71Sopenharmony_ci 947e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 948e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 949e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 950e41f4b71Sopenharmony_ci 951e41f4b71Sopenharmony_ci**返回值**: 952e41f4b71Sopenharmony_ci 953e41f4b71Sopenharmony_ci| 类型 | 说明 | 954e41f4b71Sopenharmony_ci| -------- | -------- | 955e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 956e41f4b71Sopenharmony_ci 957e41f4b71Sopenharmony_ci**示例:** 958e41f4b71Sopenharmony_ci 959e41f4b71Sopenharmony_ci```ts 960e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 961e41f4b71Sopenharmony_cipredicates.orderByAsc("NAME") 962e41f4b71Sopenharmony_ci``` 963e41f4b71Sopenharmony_ci 964e41f4b71Sopenharmony_ci### orderByDesc 965e41f4b71Sopenharmony_ci 966e41f4b71Sopenharmony_ciorderByDesc(field: string): RdbPredicates 967e41f4b71Sopenharmony_ci 968e41f4b71Sopenharmony_ci配置谓词以匹配其值按降序排序的列。 969e41f4b71Sopenharmony_ci 970e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 971e41f4b71Sopenharmony_ci 972e41f4b71Sopenharmony_ci**参数:** 973e41f4b71Sopenharmony_ci 974e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 975e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 976e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 977e41f4b71Sopenharmony_ci 978e41f4b71Sopenharmony_ci**返回值**: 979e41f4b71Sopenharmony_ci 980e41f4b71Sopenharmony_ci| 类型 | 说明 | 981e41f4b71Sopenharmony_ci| -------- | -------- | 982e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 983e41f4b71Sopenharmony_ci 984e41f4b71Sopenharmony_ci**示例:** 985e41f4b71Sopenharmony_ci 986e41f4b71Sopenharmony_ci```ts 987e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 988e41f4b71Sopenharmony_cipredicates.orderByDesc("AGE") 989e41f4b71Sopenharmony_ci``` 990e41f4b71Sopenharmony_ci 991e41f4b71Sopenharmony_ci### distinct 992e41f4b71Sopenharmony_ci 993e41f4b71Sopenharmony_cidistinct(): RdbPredicates 994e41f4b71Sopenharmony_ci 995e41f4b71Sopenharmony_ci配置谓词以过滤重复记录并仅保留其中一个。 996e41f4b71Sopenharmony_ci 997e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 998e41f4b71Sopenharmony_ci 999e41f4b71Sopenharmony_ci**返回值**: 1000e41f4b71Sopenharmony_ci 1001e41f4b71Sopenharmony_ci| 类型 | 说明 | 1002e41f4b71Sopenharmony_ci| -------- | -------- | 1003e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回可用于过滤重复记录的谓词。 | 1004e41f4b71Sopenharmony_ci 1005e41f4b71Sopenharmony_ci**示例:** 1006e41f4b71Sopenharmony_ci 1007e41f4b71Sopenharmony_ci```ts 1008e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1009e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Rose").distinct() 1010e41f4b71Sopenharmony_ci``` 1011e41f4b71Sopenharmony_ci 1012e41f4b71Sopenharmony_ci### limitAs 1013e41f4b71Sopenharmony_ci 1014e41f4b71Sopenharmony_cilimitAs(value: number): RdbPredicates 1015e41f4b71Sopenharmony_ci 1016e41f4b71Sopenharmony_ci设置最大数据记录数的谓词。 1017e41f4b71Sopenharmony_ci 1018e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1019e41f4b71Sopenharmony_ci 1020e41f4b71Sopenharmony_ci**参数:** 1021e41f4b71Sopenharmony_ci 1022e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1023e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1024e41f4b71Sopenharmony_ci| value | number | 是 | 最大数据记录数。 | 1025e41f4b71Sopenharmony_ci 1026e41f4b71Sopenharmony_ci**返回值**: 1027e41f4b71Sopenharmony_ci 1028e41f4b71Sopenharmony_ci| 类型 | 说明 | 1029e41f4b71Sopenharmony_ci| -------- | -------- | 1030e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回可用于设置最大数据记录数的谓词。 | 1031e41f4b71Sopenharmony_ci 1032e41f4b71Sopenharmony_ci**示例:** 1033e41f4b71Sopenharmony_ci 1034e41f4b71Sopenharmony_ci```ts 1035e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1036e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Rose").limitAs(3) 1037e41f4b71Sopenharmony_ci``` 1038e41f4b71Sopenharmony_ci 1039e41f4b71Sopenharmony_ci### offsetAs 1040e41f4b71Sopenharmony_ci 1041e41f4b71Sopenharmony_cioffsetAs(rowOffset: number): RdbPredicates 1042e41f4b71Sopenharmony_ci 1043e41f4b71Sopenharmony_ci配置RdbPredicates以指定返回结果的起始位置。 1044e41f4b71Sopenharmony_ci 1045e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1046e41f4b71Sopenharmony_ci 1047e41f4b71Sopenharmony_ci**参数:** 1048e41f4b71Sopenharmony_ci 1049e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1050e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1051e41f4b71Sopenharmony_ci| rowOffset | number | 是 | 返回结果的起始位置,取值为正整数。 | 1052e41f4b71Sopenharmony_ci 1053e41f4b71Sopenharmony_ci**返回值**: 1054e41f4b71Sopenharmony_ci 1055e41f4b71Sopenharmony_ci| 类型 | 说明 | 1056e41f4b71Sopenharmony_ci| -------- | -------- | 1057e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回具有指定返回结果起始位置的谓词。 | 1058e41f4b71Sopenharmony_ci 1059e41f4b71Sopenharmony_ci**示例:** 1060e41f4b71Sopenharmony_ci 1061e41f4b71Sopenharmony_ci```ts 1062e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1063e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Rose").offsetAs(3) 1064e41f4b71Sopenharmony_ci``` 1065e41f4b71Sopenharmony_ci 1066e41f4b71Sopenharmony_ci### groupBy 1067e41f4b71Sopenharmony_ci 1068e41f4b71Sopenharmony_cigroupBy(fields: Array<string>): RdbPredicates 1069e41f4b71Sopenharmony_ci 1070e41f4b71Sopenharmony_ci配置RdbPredicates按指定列分组查询结果。 1071e41f4b71Sopenharmony_ci 1072e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1073e41f4b71Sopenharmony_ci 1074e41f4b71Sopenharmony_ci**参数:** 1075e41f4b71Sopenharmony_ci 1076e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1077e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1078e41f4b71Sopenharmony_ci| fields | Array<string> | 是 | 指定分组依赖的列名。 | 1079e41f4b71Sopenharmony_ci 1080e41f4b71Sopenharmony_ci**返回值**: 1081e41f4b71Sopenharmony_ci 1082e41f4b71Sopenharmony_ci| 类型 | 说明 | 1083e41f4b71Sopenharmony_ci| -------- | -------- | 1084e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回分组查询列的谓词。 | 1085e41f4b71Sopenharmony_ci 1086e41f4b71Sopenharmony_ci**示例:** 1087e41f4b71Sopenharmony_ci 1088e41f4b71Sopenharmony_ci```ts 1089e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1090e41f4b71Sopenharmony_cipredicates.groupBy(["AGE", "NAME"]) 1091e41f4b71Sopenharmony_ci``` 1092e41f4b71Sopenharmony_ci 1093e41f4b71Sopenharmony_ci### indexedBy 1094e41f4b71Sopenharmony_ci 1095e41f4b71Sopenharmony_ciindexedBy(field: string): RdbPredicates 1096e41f4b71Sopenharmony_ci 1097e41f4b71Sopenharmony_ci配置RdbPredicates以指定索引列。 1098e41f4b71Sopenharmony_ci 1099e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1100e41f4b71Sopenharmony_ci 1101e41f4b71Sopenharmony_ci**参数:** 1102e41f4b71Sopenharmony_ci 1103e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1104e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1105e41f4b71Sopenharmony_ci| field | string | 是 | 索引列的名称。 | 1106e41f4b71Sopenharmony_ci 1107e41f4b71Sopenharmony_ci**返回值**: 1108e41f4b71Sopenharmony_ci 1109e41f4b71Sopenharmony_ci 1110e41f4b71Sopenharmony_ci| 类型 | 说明 | 1111e41f4b71Sopenharmony_ci| -------- | -------- | 1112e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回具有指定索引列的RdbPredicates。 | 1113e41f4b71Sopenharmony_ci 1114e41f4b71Sopenharmony_ci**示例:** 1115e41f4b71Sopenharmony_ci 1116e41f4b71Sopenharmony_ci```ts 1117e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1118e41f4b71Sopenharmony_cipredicates.indexedBy("SALARY_INDEX") 1119e41f4b71Sopenharmony_ci``` 1120e41f4b71Sopenharmony_ci 1121e41f4b71Sopenharmony_ci### in 1122e41f4b71Sopenharmony_ci 1123e41f4b71Sopenharmony_ciin(field: string, value: Array<ValueType>): RdbPredicates 1124e41f4b71Sopenharmony_ci 1125e41f4b71Sopenharmony_ci配置RdbPredicates以匹配数据字段为ValueType数组且值在给定范围内的指定字段。 1126e41f4b71Sopenharmony_ci 1127e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1128e41f4b71Sopenharmony_ci 1129e41f4b71Sopenharmony_ci**参数:** 1130e41f4b71Sopenharmony_ci 1131e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1132e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1133e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 1134e41f4b71Sopenharmony_ci| value | Array<[ValueType](#valuetype)> | 是 | 以ValueType型数组形式指定的要匹配的值。 | 1135e41f4b71Sopenharmony_ci 1136e41f4b71Sopenharmony_ci**返回值**: 1137e41f4b71Sopenharmony_ci 1138e41f4b71Sopenharmony_ci| 类型 | 说明 | 1139e41f4b71Sopenharmony_ci| -------- | -------- | 1140e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 1141e41f4b71Sopenharmony_ci 1142e41f4b71Sopenharmony_ci**示例:** 1143e41f4b71Sopenharmony_ci 1144e41f4b71Sopenharmony_ci```ts 1145e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1146e41f4b71Sopenharmony_cipredicates.in("AGE", [18, 20]) 1147e41f4b71Sopenharmony_ci``` 1148e41f4b71Sopenharmony_ci 1149e41f4b71Sopenharmony_ci### notIn 1150e41f4b71Sopenharmony_ci 1151e41f4b71Sopenharmony_cinotIn(field: string, value: Array<ValueType>): RdbPredicates 1152e41f4b71Sopenharmony_ci 1153e41f4b71Sopenharmony_ci将RdbPredicates配置为匹配数据字段为ValueType且值超出给定范围的指定字段。 1154e41f4b71Sopenharmony_ci 1155e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1156e41f4b71Sopenharmony_ci 1157e41f4b71Sopenharmony_ci**参数:** 1158e41f4b71Sopenharmony_ci 1159e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1160e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1161e41f4b71Sopenharmony_ci| field | string | 是 | 数据库表中的列名。 | 1162e41f4b71Sopenharmony_ci| value | Array<[ValueType](#valuetype)> | 是 | 以ValueType数组形式指定的要匹配的值。 | 1163e41f4b71Sopenharmony_ci 1164e41f4b71Sopenharmony_ci**返回值**: 1165e41f4b71Sopenharmony_ci 1166e41f4b71Sopenharmony_ci| 类型 | 说明 | 1167e41f4b71Sopenharmony_ci| -------- | -------- | 1168e41f4b71Sopenharmony_ci| [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | 1169e41f4b71Sopenharmony_ci 1170e41f4b71Sopenharmony_ci**示例:** 1171e41f4b71Sopenharmony_ci 1172e41f4b71Sopenharmony_ci```ts 1173e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1174e41f4b71Sopenharmony_cipredicates.notIn("NAME", ["Lisa", "Rose"]) 1175e41f4b71Sopenharmony_ci``` 1176e41f4b71Sopenharmony_ci 1177e41f4b71Sopenharmony_ci## RdbStore 1178e41f4b71Sopenharmony_ci 1179e41f4b71Sopenharmony_ci提供管理关系数据库(RDB)方法的接口。 1180e41f4b71Sopenharmony_ci 1181e41f4b71Sopenharmony_ci在使用以下相关接口前,请使用[executeSql](#executesql8)接口初始化数据库表结构和相关数据。 1182e41f4b71Sopenharmony_ci 1183e41f4b71Sopenharmony_ci### insert 1184e41f4b71Sopenharmony_ci 1185e41f4b71Sopenharmony_ciinsert(table: string, values: ValuesBucket, callback: AsyncCallback<number>):void 1186e41f4b71Sopenharmony_ci 1187e41f4b71Sopenharmony_ci向目标表中插入一行数据,使用callback异步回调。 1188e41f4b71Sopenharmony_ci 1189e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1190e41f4b71Sopenharmony_ci 1191e41f4b71Sopenharmony_ci**参数:** 1192e41f4b71Sopenharmony_ci 1193e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1194e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1195e41f4b71Sopenharmony_ci| table | string | 是 | 指定的目标表名。 | 1196e41f4b71Sopenharmony_ci| values | [ValuesBucket](#valuesbucket) | 是 | 表示要插入到表中的数据行。 | 1197e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 指定callback回调函数。如果操作成功,返回行ID;否则返回-1。 | 1198e41f4b71Sopenharmony_ci 1199e41f4b71Sopenharmony_ci**示例:** 1200e41f4b71Sopenharmony_ci 1201e41f4b71Sopenharmony_ci```ts 1202e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1203e41f4b71Sopenharmony_ci 1204e41f4b71Sopenharmony_cilet key1 = "NAME"; 1205e41f4b71Sopenharmony_cilet key2 = "AGE"; 1206e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1207e41f4b71Sopenharmony_cilet key4 = "CODES"; 1208e41f4b71Sopenharmony_cilet value1 = "Lisi"; 1209e41f4b71Sopenharmony_cilet value2 = 18; 1210e41f4b71Sopenharmony_cilet value3 = 100.5; 1211e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3, 4, 5]); 1212e41f4b71Sopenharmony_ciconst valueBucket: ValuesBucket = { 1213e41f4b71Sopenharmony_ci key1: value1, 1214e41f4b71Sopenharmony_ci key2: value2, 1215e41f4b71Sopenharmony_ci key3: value3, 1216e41f4b71Sopenharmony_ci key4: value4, 1217e41f4b71Sopenharmony_ci}; 1218e41f4b71Sopenharmony_ci 1219e41f4b71Sopenharmony_cirdbStore.insert("EMPLOYEE", valueBucket, (status: number, rowId: number) => { 1220e41f4b71Sopenharmony_ci if (status) { 1221e41f4b71Sopenharmony_ci console.log("Insert is failed"); 1222e41f4b71Sopenharmony_ci return; 1223e41f4b71Sopenharmony_ci } 1224e41f4b71Sopenharmony_ci console.log("Insert is successful, rowId = " + rowId); 1225e41f4b71Sopenharmony_ci}) 1226e41f4b71Sopenharmony_ci``` 1227e41f4b71Sopenharmony_ci 1228e41f4b71Sopenharmony_ci### insert 1229e41f4b71Sopenharmony_ci 1230e41f4b71Sopenharmony_ciinsert(table: string, values: ValuesBucket):Promise<number> 1231e41f4b71Sopenharmony_ci 1232e41f4b71Sopenharmony_ci向目标表中插入一行数据,使用Promise异步回调。 1233e41f4b71Sopenharmony_ci 1234e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1235e41f4b71Sopenharmony_ci 1236e41f4b71Sopenharmony_ci**参数:** 1237e41f4b71Sopenharmony_ci 1238e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1239e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1240e41f4b71Sopenharmony_ci| table | string | 是 | 指定的目标表名。 | 1241e41f4b71Sopenharmony_ci| values | [ValuesBucket](#valuesbucket) | 是 | 表示要插入到表中的数据行。 | 1242e41f4b71Sopenharmony_ci 1243e41f4b71Sopenharmony_ci**返回值**: 1244e41f4b71Sopenharmony_ci 1245e41f4b71Sopenharmony_ci| 类型 | 说明 | 1246e41f4b71Sopenharmony_ci| -------- | -------- | 1247e41f4b71Sopenharmony_ci| Promise<number> | Promise对象。如果操作成功,返回行ID;否则返回-1。 | 1248e41f4b71Sopenharmony_ci 1249e41f4b71Sopenharmony_ci**示例:** 1250e41f4b71Sopenharmony_ci 1251e41f4b71Sopenharmony_ci```ts 1252e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1253e41f4b71Sopenharmony_ci 1254e41f4b71Sopenharmony_cilet key1 = "NAME"; 1255e41f4b71Sopenharmony_cilet key2 = "AGE"; 1256e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1257e41f4b71Sopenharmony_cilet key4 = "CODES"; 1258e41f4b71Sopenharmony_cilet value1 = "Lisi"; 1259e41f4b71Sopenharmony_cilet value2 = 18; 1260e41f4b71Sopenharmony_cilet value3 = 100.5; 1261e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3, 4, 5]); 1262e41f4b71Sopenharmony_ciconst valueBucket: ValuesBucket = { 1263e41f4b71Sopenharmony_ci key1: value1, 1264e41f4b71Sopenharmony_ci key2: value2, 1265e41f4b71Sopenharmony_ci key3: value3, 1266e41f4b71Sopenharmony_ci key4: value4, 1267e41f4b71Sopenharmony_ci}; 1268e41f4b71Sopenharmony_ci 1269e41f4b71Sopenharmony_cilet promise: void = rdbStore.insert("EMPLOYEE", valueBucket) 1270e41f4b71Sopenharmony_cipromise.then((rowId: BusinessError) => { 1271e41f4b71Sopenharmony_ci console.log("Insert is successful, rowId = " + rowId); 1272e41f4b71Sopenharmony_ci}).catch((status: number) => { 1273e41f4b71Sopenharmony_ci console.log("Insert is failed"); 1274e41f4b71Sopenharmony_ci}) 1275e41f4b71Sopenharmony_ci``` 1276e41f4b71Sopenharmony_ci 1277e41f4b71Sopenharmony_ci### batchInsert 1278e41f4b71Sopenharmony_ci 1279e41f4b71Sopenharmony_cibatchInsert(table: string, values: Array<ValuesBucket>, callback: AsyncCallback<number>):void 1280e41f4b71Sopenharmony_ci 1281e41f4b71Sopenharmony_ci向目标表中插入一组数据,使用callback异步回调。 1282e41f4b71Sopenharmony_ci 1283e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1284e41f4b71Sopenharmony_ci 1285e41f4b71Sopenharmony_ci**参数:** 1286e41f4b71Sopenharmony_ci 1287e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1288e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1289e41f4b71Sopenharmony_ci| table | string | 是 | 指定的目标表名。 | 1290e41f4b71Sopenharmony_ci| values | Array<[ValuesBucket](#valuesbucket)> | 是 | 表示要插入到表中的一组数据。 | 1291e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 指定callback回调函数。如果操作成功,返回插入的数据个数,否则返回-1。 | 1292e41f4b71Sopenharmony_ci 1293e41f4b71Sopenharmony_ci**示例:** 1294e41f4b71Sopenharmony_ci 1295e41f4b71Sopenharmony_ci```ts 1296e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1297e41f4b71Sopenharmony_ci 1298e41f4b71Sopenharmony_cilet key1 = "NAME"; 1299e41f4b71Sopenharmony_cilet key2 = "AGE"; 1300e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1301e41f4b71Sopenharmony_cilet key4 = "CODES"; 1302e41f4b71Sopenharmony_cilet value1 = "Lisa"; 1303e41f4b71Sopenharmony_cilet value2 = 18; 1304e41f4b71Sopenharmony_cilet value3 = 100.5; 1305e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3, 4, 5]); 1306e41f4b71Sopenharmony_cilet value5 = "Jack"; 1307e41f4b71Sopenharmony_cilet value6 = 19; 1308e41f4b71Sopenharmony_cilet value7 = 101.5; 1309e41f4b71Sopenharmony_cilet value8 = new Uint8Array([6, 7, 8, 9, 10]); 1310e41f4b71Sopenharmony_cilet value9 = "Tom"; 1311e41f4b71Sopenharmony_cilet value10 = 20; 1312e41f4b71Sopenharmony_cilet value11 = 102.5; 1313e41f4b71Sopenharmony_cilet value12 = new Uint8Array([11, 12, 13, 14, 15]); 1314e41f4b71Sopenharmony_ciconst valueBucket1: ValuesBucket = { 1315e41f4b71Sopenharmony_ci key1: value1, 1316e41f4b71Sopenharmony_ci key2: value2, 1317e41f4b71Sopenharmony_ci key3: value3, 1318e41f4b71Sopenharmony_ci key4: value4, 1319e41f4b71Sopenharmony_ci}; 1320e41f4b71Sopenharmony_ciconst valueBucket2: ValuesBucket = { 1321e41f4b71Sopenharmony_ci key1: value5, 1322e41f4b71Sopenharmony_ci key2: value6, 1323e41f4b71Sopenharmony_ci key3: value7, 1324e41f4b71Sopenharmony_ci key4: value8, 1325e41f4b71Sopenharmony_ci}; 1326e41f4b71Sopenharmony_ciconst valueBucket3: ValuesBucket = { 1327e41f4b71Sopenharmony_ci key1: value9, 1328e41f4b71Sopenharmony_ci key2: value10, 1329e41f4b71Sopenharmony_ci key3: value11, 1330e41f4b71Sopenharmony_ci key4: value12, 1331e41f4b71Sopenharmony_ci}; 1332e41f4b71Sopenharmony_ci 1333e41f4b71Sopenharmony_cilet valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); 1334e41f4b71Sopenharmony_cirdbStore.batchInsert("EMPLOYEE", valueBuckets, (status: number, insertNum: number) => { 1335e41f4b71Sopenharmony_ci if (status) { 1336e41f4b71Sopenharmony_ci console.log("batchInsert is failed, status = " + status); 1337e41f4b71Sopenharmony_ci return; 1338e41f4b71Sopenharmony_ci } 1339e41f4b71Sopenharmony_ci console.log("batchInsert is successful, the number of values that were inserted = " + insertNum); 1340e41f4b71Sopenharmony_ci}) 1341e41f4b71Sopenharmony_ci``` 1342e41f4b71Sopenharmony_ci 1343e41f4b71Sopenharmony_ci### batchInsert 1344e41f4b71Sopenharmony_ci 1345e41f4b71Sopenharmony_cibatchInsert(table: string, values: Array<ValuesBucket>):Promise<number> 1346e41f4b71Sopenharmony_ci 1347e41f4b71Sopenharmony_ci向目标表中插入一组数据,使用Promise异步回调。 1348e41f4b71Sopenharmony_ci 1349e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1350e41f4b71Sopenharmony_ci 1351e41f4b71Sopenharmony_ci**参数:** 1352e41f4b71Sopenharmony_ci 1353e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1354e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1355e41f4b71Sopenharmony_ci| table | string | 是 | 指定的目标表名。 | 1356e41f4b71Sopenharmony_ci| values | Array<[ValuesBucket](#valuesbucket)> | 是 | 表示要插入到表中的一组数据。 | 1357e41f4b71Sopenharmony_ci 1358e41f4b71Sopenharmony_ci**返回值**: 1359e41f4b71Sopenharmony_ci 1360e41f4b71Sopenharmony_ci| 类型 | 说明 | 1361e41f4b71Sopenharmony_ci| -------- | -------- | 1362e41f4b71Sopenharmony_ci| Promise<number> | Promise对象。如果操作成功,返回插入的数据个数,否则返回-1。 | 1363e41f4b71Sopenharmony_ci 1364e41f4b71Sopenharmony_ci**示例:** 1365e41f4b71Sopenharmony_ci 1366e41f4b71Sopenharmony_ci```ts 1367e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1368e41f4b71Sopenharmony_ci 1369e41f4b71Sopenharmony_cilet key1 = "NAME"; 1370e41f4b71Sopenharmony_cilet key2 = "AGE"; 1371e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1372e41f4b71Sopenharmony_cilet key4 = "CODES"; 1373e41f4b71Sopenharmony_cilet value1 = "Lisa"; 1374e41f4b71Sopenharmony_cilet value2 = 18; 1375e41f4b71Sopenharmony_cilet value3 = 100.5; 1376e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3, 4, 5]); 1377e41f4b71Sopenharmony_cilet value5 = "Jack"; 1378e41f4b71Sopenharmony_cilet value6 = 19; 1379e41f4b71Sopenharmony_cilet value7 = 101.5; 1380e41f4b71Sopenharmony_cilet value8 = new Uint8Array([6, 7, 8, 9, 10]); 1381e41f4b71Sopenharmony_cilet value9 = "Tom"; 1382e41f4b71Sopenharmony_cilet value10 = 20; 1383e41f4b71Sopenharmony_cilet value11 = 102.5; 1384e41f4b71Sopenharmony_cilet value12 = new Uint8Array([11, 12, 13, 14, 15]); 1385e41f4b71Sopenharmony_ciconst valueBucket1: ValuesBucket = { 1386e41f4b71Sopenharmony_ci key1: value1, 1387e41f4b71Sopenharmony_ci key2: value2, 1388e41f4b71Sopenharmony_ci key3: value3, 1389e41f4b71Sopenharmony_ci key4: value4, 1390e41f4b71Sopenharmony_ci}; 1391e41f4b71Sopenharmony_ciconst valueBucket2: ValuesBucket = { 1392e41f4b71Sopenharmony_ci key1: value5, 1393e41f4b71Sopenharmony_ci key2: value6, 1394e41f4b71Sopenharmony_ci key3: value7, 1395e41f4b71Sopenharmony_ci key4: value8, 1396e41f4b71Sopenharmony_ci}; 1397e41f4b71Sopenharmony_ciconst valueBucket3: ValuesBucket = { 1398e41f4b71Sopenharmony_ci key1: value9, 1399e41f4b71Sopenharmony_ci key2: value10, 1400e41f4b71Sopenharmony_ci key3: value11, 1401e41f4b71Sopenharmony_ci key4: value12, 1402e41f4b71Sopenharmony_ci}; 1403e41f4b71Sopenharmony_ci 1404e41f4b71Sopenharmony_cilet valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); 1405e41f4b71Sopenharmony_cilet promise: void = rdbStore.batchInsert("EMPLOYEE", valueBuckets); 1406e41f4b71Sopenharmony_cipromise.then((insertNum: number) => { 1407e41f4b71Sopenharmony_ci console.log("batchInsert is successful, the number of values that were inserted = " + insertNum); 1408e41f4b71Sopenharmony_ci}).catch((status: number) => { 1409e41f4b71Sopenharmony_ci console.log("batchInsert is failed, status = " + status); 1410e41f4b71Sopenharmony_ci}) 1411e41f4b71Sopenharmony_ci``` 1412e41f4b71Sopenharmony_ci 1413e41f4b71Sopenharmony_ci### update 1414e41f4b71Sopenharmony_ci 1415e41f4b71Sopenharmony_ciupdate(values: ValuesBucket, predicates: RdbPredicates, callback: AsyncCallback<number>):void 1416e41f4b71Sopenharmony_ci 1417e41f4b71Sopenharmony_ci根据RdbPredicates的指定实例对象更新数据库中的数据,使用callback异步回调。 1418e41f4b71Sopenharmony_ci 1419e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1420e41f4b71Sopenharmony_ci 1421e41f4b71Sopenharmony_ci**参数:** 1422e41f4b71Sopenharmony_ci 1423e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1424e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1425e41f4b71Sopenharmony_ci| values | [ValuesBucket](#valuesbucket) | 是 | values指示数据库中要更新的数据行。键值对与数据库表的列名相关联。 | 1426e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象指定的更新条件。 | 1427e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 指定的callback回调方法。返回受影响的行数。 | 1428e41f4b71Sopenharmony_ci 1429e41f4b71Sopenharmony_ci**示例:** 1430e41f4b71Sopenharmony_ci 1431e41f4b71Sopenharmony_ci```ts 1432e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1433e41f4b71Sopenharmony_ci 1434e41f4b71Sopenharmony_cilet key1 = "NAME"; 1435e41f4b71Sopenharmony_cilet key2 = "AGE"; 1436e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1437e41f4b71Sopenharmony_cilet key4 = "CODES"; 1438e41f4b71Sopenharmony_cilet value1 = "Lisa"; 1439e41f4b71Sopenharmony_cilet value2 = 18; 1440e41f4b71Sopenharmony_cilet value3 = 100.5; 1441e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3, 4, 5]); 1442e41f4b71Sopenharmony_ci 1443e41f4b71Sopenharmony_ciconst valueBucket: ValuesBucket = { 1444e41f4b71Sopenharmony_ci key1: value1, 1445e41f4b71Sopenharmony_ci key2: value2, 1446e41f4b71Sopenharmony_ci key3: value3, 1447e41f4b71Sopenharmony_ci key4: value4, 1448e41f4b71Sopenharmony_ci}; 1449e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1450e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Lisa") 1451e41f4b71Sopenharmony_cirdbStore.update(valueBucket, predicates, (err: BusinessError, rows: number) => { 1452e41f4b71Sopenharmony_ci if (err) { 1453e41f4b71Sopenharmony_ci console.info("Updated failed, err: " + err) 1454e41f4b71Sopenharmony_ci return 1455e41f4b71Sopenharmony_ci } 1456e41f4b71Sopenharmony_ci console.log("Updated row count: " + rows) 1457e41f4b71Sopenharmony_ci}) 1458e41f4b71Sopenharmony_ci``` 1459e41f4b71Sopenharmony_ci 1460e41f4b71Sopenharmony_ci### update 1461e41f4b71Sopenharmony_ci 1462e41f4b71Sopenharmony_ciupdate(values: ValuesBucket, predicates: RdbPredicates):Promise<number> 1463e41f4b71Sopenharmony_ci 1464e41f4b71Sopenharmony_ci根据RdbPredicates的指定实例对象更新数据库中的数据,使用Promise异步回调。 1465e41f4b71Sopenharmony_ci 1466e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1467e41f4b71Sopenharmony_ci 1468e41f4b71Sopenharmony_ci**参数:** 1469e41f4b71Sopenharmony_ci 1470e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1471e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1472e41f4b71Sopenharmony_ci| values | [ValuesBucket](#valuesbucket) | 是 | values指示数据库中要更新的数据行。键值对与数据库表的列名相关联。 | 1473e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象指定的更新条件。 | 1474e41f4b71Sopenharmony_ci 1475e41f4b71Sopenharmony_ci**返回值**: 1476e41f4b71Sopenharmony_ci 1477e41f4b71Sopenharmony_ci| 类型 | 说明 | 1478e41f4b71Sopenharmony_ci| -------- | -------- | 1479e41f4b71Sopenharmony_ci| Promise<number> | 指定的Promise回调方法。返回受影响的行数。 | 1480e41f4b71Sopenharmony_ci 1481e41f4b71Sopenharmony_ci**示例:** 1482e41f4b71Sopenharmony_ci 1483e41f4b71Sopenharmony_ci```ts 1484e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1485e41f4b71Sopenharmony_ci 1486e41f4b71Sopenharmony_cilet key1 = "NAME"; 1487e41f4b71Sopenharmony_cilet key2 = "AGE"; 1488e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1489e41f4b71Sopenharmony_cilet key4 = "CODES"; 1490e41f4b71Sopenharmony_cilet value1 = "Lisa"; 1491e41f4b71Sopenharmony_cilet value2 = 18; 1492e41f4b71Sopenharmony_cilet value3 = 100.5; 1493e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3, 4, 5]); 1494e41f4b71Sopenharmony_ci 1495e41f4b71Sopenharmony_ciconst valueBucket: ValuesBucket = { 1496e41f4b71Sopenharmony_ci key1: value1, 1497e41f4b71Sopenharmony_ci key2: value2, 1498e41f4b71Sopenharmony_ci key3: value3, 1499e41f4b71Sopenharmony_ci key4: value4, 1500e41f4b71Sopenharmony_ci}; 1501e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1502e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Lisa") 1503e41f4b71Sopenharmony_cilet promise: void = rdbStore.update(valueBucket, predicates) 1504e41f4b71Sopenharmony_cipromise.then(async (rows: number) => { 1505e41f4b71Sopenharmony_ci console.log("Updated row count: " + rows) 1506e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 1507e41f4b71Sopenharmony_ci console.info("Updated failed, err: " + err) 1508e41f4b71Sopenharmony_ci}) 1509e41f4b71Sopenharmony_ci``` 1510e41f4b71Sopenharmony_ci 1511e41f4b71Sopenharmony_ci### delete 1512e41f4b71Sopenharmony_ci 1513e41f4b71Sopenharmony_cidelete(predicates: RdbPredicates, callback: AsyncCallback<number>):void 1514e41f4b71Sopenharmony_ci 1515e41f4b71Sopenharmony_ci根据RdbPredicates的指定实例对象从数据库中删除数据,使用callback异步回调。 1516e41f4b71Sopenharmony_ci 1517e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1518e41f4b71Sopenharmony_ci 1519e41f4b71Sopenharmony_ci**参数:** 1520e41f4b71Sopenharmony_ci 1521e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1522e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1523e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象指定的删除条件。 | 1524e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 指定callback回调函数。返回受影响的行数。 | 1525e41f4b71Sopenharmony_ci 1526e41f4b71Sopenharmony_ci**示例:** 1527e41f4b71Sopenharmony_ci 1528e41f4b71Sopenharmony_ci```ts 1529e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1530e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Lisa") 1531e41f4b71Sopenharmony_cirdbStore.delete(predicates, (err: BusinessError, rows: number) => { 1532e41f4b71Sopenharmony_ci if (err) { 1533e41f4b71Sopenharmony_ci console.info("Delete failed, err: " + err) 1534e41f4b71Sopenharmony_ci return 1535e41f4b71Sopenharmony_ci } 1536e41f4b71Sopenharmony_ci console.log("Delete rows: " + rows) 1537e41f4b71Sopenharmony_ci}) 1538e41f4b71Sopenharmony_ci``` 1539e41f4b71Sopenharmony_ci 1540e41f4b71Sopenharmony_ci### delete 1541e41f4b71Sopenharmony_ci 1542e41f4b71Sopenharmony_cidelete(predicates: RdbPredicates):Promise<number> 1543e41f4b71Sopenharmony_ci 1544e41f4b71Sopenharmony_ci根据RdbPredicates的指定实例对象从数据库中删除数据,使用Promise异步回调。 1545e41f4b71Sopenharmony_ci 1546e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1547e41f4b71Sopenharmony_ci 1548e41f4b71Sopenharmony_ci**参数:** 1549e41f4b71Sopenharmony_ci 1550e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1551e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1552e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象指定的删除条件。 | 1553e41f4b71Sopenharmony_ci 1554e41f4b71Sopenharmony_ci**返回值**: 1555e41f4b71Sopenharmony_ci 1556e41f4b71Sopenharmony_ci| 类型 | 说明 | 1557e41f4b71Sopenharmony_ci| -------- | -------- | 1558e41f4b71Sopenharmony_ci| Promise<number> | Promise对象。返回受影响的行数。 | 1559e41f4b71Sopenharmony_ci 1560e41f4b71Sopenharmony_ci**示例:** 1561e41f4b71Sopenharmony_ci 1562e41f4b71Sopenharmony_ci```ts 1563e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1564e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Lisa") 1565e41f4b71Sopenharmony_cilet promise: void = rdbStore.delete(predicates) 1566e41f4b71Sopenharmony_cipromise.then((rows: number) => { 1567e41f4b71Sopenharmony_ci console.log("Delete rows: " + rows) 1568e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 1569e41f4b71Sopenharmony_ci console.info("Delete failed, err: " + err) 1570e41f4b71Sopenharmony_ci}) 1571e41f4b71Sopenharmony_ci``` 1572e41f4b71Sopenharmony_ci 1573e41f4b71Sopenharmony_ci### query 1574e41f4b71Sopenharmony_ci 1575e41f4b71Sopenharmony_ciquery(predicates: RdbPredicates, columns: Array<string>, callback: AsyncCallback<ResultSet>):void 1576e41f4b71Sopenharmony_ci 1577e41f4b71Sopenharmony_ci根据指定条件查询数据库中的数据,使用callback异步回调。 1578e41f4b71Sopenharmony_ci 1579e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1580e41f4b71Sopenharmony_ci 1581e41f4b71Sopenharmony_ci**参数:** 1582e41f4b71Sopenharmony_ci 1583e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1584e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1585e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象指定的查询条件。 | 1586e41f4b71Sopenharmony_ci| columns | Array<string> | 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 | 1587e41f4b71Sopenharmony_ci| callback | AsyncCallback<[ResultSet](js-apis-data-resultset.md)> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 | 1588e41f4b71Sopenharmony_ci 1589e41f4b71Sopenharmony_ci**示例:** 1590e41f4b71Sopenharmony_ci 1591e41f4b71Sopenharmony_ci```ts 1592e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1593e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Rose") 1594e41f4b71Sopenharmony_cirdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], (err: BusinessError, resultSet: void) => { 1595e41f4b71Sopenharmony_ci if (err) { 1596e41f4b71Sopenharmony_ci console.info("Query failed, err: " + err) 1597e41f4b71Sopenharmony_ci return 1598e41f4b71Sopenharmony_ci } 1599e41f4b71Sopenharmony_ci console.log("ResultSet column names: " + resultSet.columnNames) 1600e41f4b71Sopenharmony_ci console.log("ResultSet column count: " + resultSet.columnCount) 1601e41f4b71Sopenharmony_ci}) 1602e41f4b71Sopenharmony_ci``` 1603e41f4b71Sopenharmony_ci 1604e41f4b71Sopenharmony_ci### query 1605e41f4b71Sopenharmony_ci 1606e41f4b71Sopenharmony_ciquery(predicates: RdbPredicates, columns?: Array<string>):Promise<ResultSet> 1607e41f4b71Sopenharmony_ci 1608e41f4b71Sopenharmony_ci根据指定条件查询数据库中的数据,使用Promise异步回调。 1609e41f4b71Sopenharmony_ci 1610e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1611e41f4b71Sopenharmony_ci 1612e41f4b71Sopenharmony_ci**参数:** 1613e41f4b71Sopenharmony_ci 1614e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1615e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1616e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象指定的查询条件。 | 1617e41f4b71Sopenharmony_ci| columns | Array<string> | 否 | 表示要查询的列。如果值为空,则查询应用于所有列。 | 1618e41f4b71Sopenharmony_ci 1619e41f4b71Sopenharmony_ci**返回值**: 1620e41f4b71Sopenharmony_ci 1621e41f4b71Sopenharmony_ci| 类型 | 说明 | 1622e41f4b71Sopenharmony_ci| -------- | -------- | 1623e41f4b71Sopenharmony_ci| Promise<[ResultSet](js-apis-data-resultset.md)> | Promise对象。如果操作成功,则返回ResultSet对象。 | 1624e41f4b71Sopenharmony_ci 1625e41f4b71Sopenharmony_ci**示例:** 1626e41f4b71Sopenharmony_ci 1627e41f4b71Sopenharmony_ci```ts 1628e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates("EMPLOYEE") 1629e41f4b71Sopenharmony_cipredicates.equalTo("NAME", "Rose") 1630e41f4b71Sopenharmony_cilet promise: void = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]) 1631e41f4b71Sopenharmony_cipromise.then((resultSet: void) => { 1632e41f4b71Sopenharmony_ci console.log("ResultSet column names: " + resultSet.columnNames) 1633e41f4b71Sopenharmony_ci console.log("ResultSet column count: " + resultSet.columnCount) 1634e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 1635e41f4b71Sopenharmony_ci console.info("Query failed, err: " + err) 1636e41f4b71Sopenharmony_ci}) 1637e41f4b71Sopenharmony_ci``` 1638e41f4b71Sopenharmony_ci 1639e41f4b71Sopenharmony_ci### querySql<sup>8+</sup> 1640e41f4b71Sopenharmony_ci 1641e41f4b71Sopenharmony_ciquerySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<ResultSet>):void 1642e41f4b71Sopenharmony_ci 1643e41f4b71Sopenharmony_ci根据指定SQL语句查询数据库中的数据,使用callback异步回调。 1644e41f4b71Sopenharmony_ci 1645e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1646e41f4b71Sopenharmony_ci 1647e41f4b71Sopenharmony_ci**参数:** 1648e41f4b71Sopenharmony_ci 1649e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1650e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1651e41f4b71Sopenharmony_ci| sql | string | 是 | 指定要执行的SQL语句。 | 1652e41f4b71Sopenharmony_ci| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数需为空数组。 | 1653e41f4b71Sopenharmony_ci| callback | AsyncCallback<[ResultSet](js-apis-data-resultset.md)> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 | 1654e41f4b71Sopenharmony_ci 1655e41f4b71Sopenharmony_ci**示例:** 1656e41f4b71Sopenharmony_ci 1657e41f4b71Sopenharmony_ci```ts 1658e41f4b71Sopenharmony_cirdbStore.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo'], (err: BusinessError, resultSet: void) => { 1659e41f4b71Sopenharmony_ci if (err) { 1660e41f4b71Sopenharmony_ci console.info("Query failed, err: " + err) 1661e41f4b71Sopenharmony_ci return 1662e41f4b71Sopenharmony_ci } 1663e41f4b71Sopenharmony_ci console.log("ResultSet column names: " + resultSet.columnNames) 1664e41f4b71Sopenharmony_ci console.log("ResultSet column count: " + resultSet.columnCount) 1665e41f4b71Sopenharmony_ci}) 1666e41f4b71Sopenharmony_ci``` 1667e41f4b71Sopenharmony_ci 1668e41f4b71Sopenharmony_ci### querySql<sup>8+</sup> 1669e41f4b71Sopenharmony_ci 1670e41f4b71Sopenharmony_ciquerySql(sql: string, bindArgs?: Array<ValueType>):Promise<ResultSet> 1671e41f4b71Sopenharmony_ci 1672e41f4b71Sopenharmony_ci根据指定SQL语句查询数据库中的数据,使用Promise异步回调。 1673e41f4b71Sopenharmony_ci 1674e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1675e41f4b71Sopenharmony_ci 1676e41f4b71Sopenharmony_ci**参数:** 1677e41f4b71Sopenharmony_ci 1678e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1679e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1680e41f4b71Sopenharmony_ci| sql | string | 是 | 指定要执行的SQL语句。 | 1681e41f4b71Sopenharmony_ci| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数不填。 | 1682e41f4b71Sopenharmony_ci 1683e41f4b71Sopenharmony_ci**返回值**: 1684e41f4b71Sopenharmony_ci 1685e41f4b71Sopenharmony_ci| 类型 | 说明 | 1686e41f4b71Sopenharmony_ci| -------- | -------- | 1687e41f4b71Sopenharmony_ci| Promise<[ResultSet](js-apis-data-resultset.md)> | Promise对象。如果操作成功,则返回ResultSet对象。 | 1688e41f4b71Sopenharmony_ci 1689e41f4b71Sopenharmony_ci**示例:** 1690e41f4b71Sopenharmony_ci 1691e41f4b71Sopenharmony_ci```ts 1692e41f4b71Sopenharmony_cilet promise: void = rdbStore.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'") 1693e41f4b71Sopenharmony_cipromise.then((resultSet: void) => { 1694e41f4b71Sopenharmony_ci console.log("ResultSet column names: " + resultSet.columnNames) 1695e41f4b71Sopenharmony_ci console.log("ResultSet column count: " + resultSet.columnCount) 1696e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 1697e41f4b71Sopenharmony_ci console.info("Query failed, err: " + err) 1698e41f4b71Sopenharmony_ci}) 1699e41f4b71Sopenharmony_ci``` 1700e41f4b71Sopenharmony_ci 1701e41f4b71Sopenharmony_ci### executeSql<sup>8+</sup> 1702e41f4b71Sopenharmony_ci 1703e41f4b71Sopenharmony_ciexecuteSql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<void>):void 1704e41f4b71Sopenharmony_ci 1705e41f4b71Sopenharmony_ci执行包含指定参数但不返回值的SQL语句,使用callback异步回调。 1706e41f4b71Sopenharmony_ci 1707e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1708e41f4b71Sopenharmony_ci 1709e41f4b71Sopenharmony_ci**参数:** 1710e41f4b71Sopenharmony_ci 1711e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1712e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1713e41f4b71Sopenharmony_ci| sql | string | 是 | 指定要执行的SQL语句。 | 1714e41f4b71Sopenharmony_ci| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数需为空数组。 | 1715e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | 1716e41f4b71Sopenharmony_ci 1717e41f4b71Sopenharmony_ci**示例:** 1718e41f4b71Sopenharmony_ci 1719e41f4b71Sopenharmony_ci```ts 1720e41f4b71Sopenharmony_ciconst SQL_DELETE_TABLE = "DELETE FROM test WHERE name = ?" 1721e41f4b71Sopenharmony_cirdbStore.executeSql(SQL_DELETE_TABLE, ['zhangsan'], (err: BusinessError) => { 1722e41f4b71Sopenharmony_ci if (err) { 1723e41f4b71Sopenharmony_ci console.info("ExecuteSql failed, err: " + err) 1724e41f4b71Sopenharmony_ci return 1725e41f4b71Sopenharmony_ci } 1726e41f4b71Sopenharmony_ci console.info('Delete table done.') 1727e41f4b71Sopenharmony_ci}) 1728e41f4b71Sopenharmony_ci``` 1729e41f4b71Sopenharmony_ci 1730e41f4b71Sopenharmony_ci### executeSql<sup>8+</sup> 1731e41f4b71Sopenharmony_ci 1732e41f4b71Sopenharmony_ciexecuteSql(sql: string, bindArgs?: Array<ValueType>):Promise<void> 1733e41f4b71Sopenharmony_ci 1734e41f4b71Sopenharmony_ci执行包含指定参数但不返回值的SQL语句,使用Promise异步回调。 1735e41f4b71Sopenharmony_ci 1736e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1737e41f4b71Sopenharmony_ci 1738e41f4b71Sopenharmony_ci**参数:** 1739e41f4b71Sopenharmony_ci 1740e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1741e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1742e41f4b71Sopenharmony_ci| sql | string | 是 | 指定要执行的SQL语句。 | 1743e41f4b71Sopenharmony_ci| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数不填。 | 1744e41f4b71Sopenharmony_ci 1745e41f4b71Sopenharmony_ci**返回值**: 1746e41f4b71Sopenharmony_ci 1747e41f4b71Sopenharmony_ci| 类型 | 说明 | 1748e41f4b71Sopenharmony_ci| -------- | -------- | 1749e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。 | 1750e41f4b71Sopenharmony_ci 1751e41f4b71Sopenharmony_ci**示例:** 1752e41f4b71Sopenharmony_ci 1753e41f4b71Sopenharmony_ci```ts 1754e41f4b71Sopenharmony_ciconst SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'" 1755e41f4b71Sopenharmony_cilet promise = rdbStore.executeSql(SQL_DELETE_TABLE) 1756e41f4b71Sopenharmony_cipromise.then(() => { 1757e41f4b71Sopenharmony_ci console.info('Delete table done.') 1758e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 1759e41f4b71Sopenharmony_ci console.info("ExecuteSql failed, err: " + err) 1760e41f4b71Sopenharmony_ci}) 1761e41f4b71Sopenharmony_ci``` 1762e41f4b71Sopenharmony_ci 1763e41f4b71Sopenharmony_ci### beginTransaction<sup>8+</sup> 1764e41f4b71Sopenharmony_ci 1765e41f4b71Sopenharmony_cibeginTransaction():void 1766e41f4b71Sopenharmony_ci 1767e41f4b71Sopenharmony_ci在开始执行SQL语句之前,开始事务。 1768e41f4b71Sopenharmony_ci 1769e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1770e41f4b71Sopenharmony_ci 1771e41f4b71Sopenharmony_ci**示例:** 1772e41f4b71Sopenharmony_ci 1773e41f4b71Sopenharmony_ci```ts 1774e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility'; 1775e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1776e41f4b71Sopenharmony_ci 1777e41f4b71Sopenharmony_cilet key1 = "NAME"; 1778e41f4b71Sopenharmony_cilet key2 = "AGE"; 1779e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1780e41f4b71Sopenharmony_cilet key4 = "blobType"; 1781e41f4b71Sopenharmony_cilet value1 = "Lisa"; 1782e41f4b71Sopenharmony_cilet value2 = 18; 1783e41f4b71Sopenharmony_cilet value3 = 100.5; 1784e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3]); 1785e41f4b71Sopenharmony_ci 1786e41f4b71Sopenharmony_ciconst valueBucket: ValuesBucket = { 1787e41f4b71Sopenharmony_ci key1: value1, 1788e41f4b71Sopenharmony_ci key2: value2, 1789e41f4b71Sopenharmony_ci key3: value3, 1790e41f4b71Sopenharmony_ci key4: value4, 1791e41f4b71Sopenharmony_ci}; 1792e41f4b71Sopenharmony_ci 1793e41f4b71Sopenharmony_cidata_rdb.getRdbStore(this.context, "RdbTest.db", 1, async (err: BusinessError, rdbStore) => { 1794e41f4b71Sopenharmony_ci rdbStore.beginTransaction() 1795e41f4b71Sopenharmony_ci await rdbStore.insert("test", valueBucket) 1796e41f4b71Sopenharmony_ci rdbStore.commit() 1797e41f4b71Sopenharmony_ci}) 1798e41f4b71Sopenharmony_ci``` 1799e41f4b71Sopenharmony_ci 1800e41f4b71Sopenharmony_ci### commit<sup>8+</sup> 1801e41f4b71Sopenharmony_ci 1802e41f4b71Sopenharmony_cicommit():void 1803e41f4b71Sopenharmony_ci 1804e41f4b71Sopenharmony_ci提交已执行的SQL语句。 1805e41f4b71Sopenharmony_ci 1806e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1807e41f4b71Sopenharmony_ci 1808e41f4b71Sopenharmony_ci**示例:** 1809e41f4b71Sopenharmony_ci 1810e41f4b71Sopenharmony_ci```ts 1811e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1812e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility'; 1813e41f4b71Sopenharmony_ci 1814e41f4b71Sopenharmony_cilet key1 = "NAME"; 1815e41f4b71Sopenharmony_cilet key2 = "AGE"; 1816e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1817e41f4b71Sopenharmony_cilet key4 = "blobType"; 1818e41f4b71Sopenharmony_cilet value1 = "Lisa"; 1819e41f4b71Sopenharmony_cilet value2 = 18; 1820e41f4b71Sopenharmony_cilet value3 = 100.5; 1821e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3]); 1822e41f4b71Sopenharmony_ci 1823e41f4b71Sopenharmony_ciconst valueBucket: ValuesBucket = { 1824e41f4b71Sopenharmony_ci key1: value1, 1825e41f4b71Sopenharmony_ci key2: value2, 1826e41f4b71Sopenharmony_ci key3: value3, 1827e41f4b71Sopenharmony_ci key4: value4, 1828e41f4b71Sopenharmony_ci}; 1829e41f4b71Sopenharmony_ci 1830e41f4b71Sopenharmony_cidata_rdb.getRdbStore(this.context, "RdbTest.db", 1, async (err: BusinessError, rdbStore) => { 1831e41f4b71Sopenharmony_ci rdbStore.beginTransaction() 1832e41f4b71Sopenharmony_ci await rdbStore.insert("test", valueBucket) 1833e41f4b71Sopenharmony_ci rdbStore.commit() 1834e41f4b71Sopenharmony_ci}) 1835e41f4b71Sopenharmony_ci``` 1836e41f4b71Sopenharmony_ci 1837e41f4b71Sopenharmony_ci### rollBack<sup>8+</sup> 1838e41f4b71Sopenharmony_ci 1839e41f4b71Sopenharmony_cirollBack():void 1840e41f4b71Sopenharmony_ci 1841e41f4b71Sopenharmony_ci回滚已经执行的SQL语句。 1842e41f4b71Sopenharmony_ci 1843e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1844e41f4b71Sopenharmony_ci 1845e41f4b71Sopenharmony_ci**示例:** 1846e41f4b71Sopenharmony_ci 1847e41f4b71Sopenharmony_ci```ts 1848e41f4b71Sopenharmony_ciimport { ValuesBucket } from '@ohos.data.ValuesBucket'; 1849e41f4b71Sopenharmony_ciimport featureAbility from '@ohos.ability.featureAbility'; 1850e41f4b71Sopenharmony_ci 1851e41f4b71Sopenharmony_cilet key1 = "NAME"; 1852e41f4b71Sopenharmony_cilet key2 = "AGE"; 1853e41f4b71Sopenharmony_cilet key3 = "SALARY"; 1854e41f4b71Sopenharmony_cilet key4 = "blobType"; 1855e41f4b71Sopenharmony_cilet value1 = "Lisa"; 1856e41f4b71Sopenharmony_cilet value2 = 18; 1857e41f4b71Sopenharmony_cilet value3 = 100.5; 1858e41f4b71Sopenharmony_cilet value4 = new Uint8Array([1, 2, 3]); 1859e41f4b71Sopenharmony_ci 1860e41f4b71Sopenharmony_ciconst valueBucket: ValuesBucket = { 1861e41f4b71Sopenharmony_ci key1: value1, 1862e41f4b71Sopenharmony_ci key2: value2, 1863e41f4b71Sopenharmony_ci key3: value3, 1864e41f4b71Sopenharmony_ci key4: value4, 1865e41f4b71Sopenharmony_ci}; 1866e41f4b71Sopenharmony_ci 1867e41f4b71Sopenharmony_ciconst STORE_CONFIG = { name: "RdbTest.db"} 1868e41f4b71Sopenharmony_cidata_rdb.getRdbStore(this,context, "RdbTest.db", 1, async (err: BusinessError, rdbStore) => { 1869e41f4b71Sopenharmony_ci try { 1870e41f4b71Sopenharmony_ci rdbStore.beginTransaction() 1871e41f4b71Sopenharmony_ci await rdbStore.insert("test", valueBucket) 1872e41f4b71Sopenharmony_ci rdbStore.commit() 1873e41f4b71Sopenharmony_ci } catch (e) { 1874e41f4b71Sopenharmony_ci rdbStore.rollBack() 1875e41f4b71Sopenharmony_ci } 1876e41f4b71Sopenharmony_ci}) 1877e41f4b71Sopenharmony_ci``` 1878e41f4b71Sopenharmony_ci 1879e41f4b71Sopenharmony_ci### setDistributedTables<sup>8+</sup> 1880e41f4b71Sopenharmony_ci 1881e41f4b71Sopenharmony_cisetDistributedTables(tables: Array<string>, callback: AsyncCallback<void>): void 1882e41f4b71Sopenharmony_ci 1883e41f4b71Sopenharmony_ci设置分布式列表,使用callback异步回调。 1884e41f4b71Sopenharmony_ci 1885e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 1886e41f4b71Sopenharmony_ci 1887e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1888e41f4b71Sopenharmony_ci 1889e41f4b71Sopenharmony_ci**参数:** 1890e41f4b71Sopenharmony_ci 1891e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1892e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1893e41f4b71Sopenharmony_ci| tables | Array<string> | 是 | 要设置的分布式列表表名 | 1894e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | 1895e41f4b71Sopenharmony_ci 1896e41f4b71Sopenharmony_ci**示例:** 1897e41f4b71Sopenharmony_ci 1898e41f4b71Sopenharmony_ci```ts 1899e41f4b71Sopenharmony_cirdbStore.setDistributedTables(["EMPLOYEE"], (err: BusinessError) => { 1900e41f4b71Sopenharmony_ci if (err) { 1901e41f4b71Sopenharmony_ci console.info('SetDistributedTables failed, err: ' + err) 1902e41f4b71Sopenharmony_ci return 1903e41f4b71Sopenharmony_ci } 1904e41f4b71Sopenharmony_ci console.info('SetDistributedTables successfully.') 1905e41f4b71Sopenharmony_ci}) 1906e41f4b71Sopenharmony_ci``` 1907e41f4b71Sopenharmony_ci 1908e41f4b71Sopenharmony_ci### setDistributedTables<sup>8+</sup> 1909e41f4b71Sopenharmony_ci 1910e41f4b71Sopenharmony_ci setDistributedTables(tables: Array<string>): Promise<void> 1911e41f4b71Sopenharmony_ci 1912e41f4b71Sopenharmony_ci设置分布式列表,使用Promise异步回调。 1913e41f4b71Sopenharmony_ci 1914e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 1915e41f4b71Sopenharmony_ci 1916e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1917e41f4b71Sopenharmony_ci 1918e41f4b71Sopenharmony_ci**参数:** 1919e41f4b71Sopenharmony_ci 1920e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1921e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1922e41f4b71Sopenharmony_ci| tables | Array<string> | 是 | 要设置的分布式列表表名。 | 1923e41f4b71Sopenharmony_ci 1924e41f4b71Sopenharmony_ci**返回值**: 1925e41f4b71Sopenharmony_ci 1926e41f4b71Sopenharmony_ci| 类型 | 说明 | 1927e41f4b71Sopenharmony_ci| -------- | -------- | 1928e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。 | 1929e41f4b71Sopenharmony_ci 1930e41f4b71Sopenharmony_ci**示例:** 1931e41f4b71Sopenharmony_ci 1932e41f4b71Sopenharmony_ci```ts 1933e41f4b71Sopenharmony_cilet promise: void = rdbStore.setDistributedTables(["EMPLOYEE"]) 1934e41f4b71Sopenharmony_cipromise.then(() => { 1935e41f4b71Sopenharmony_ci console.info("SetDistributedTables successfully.") 1936e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 1937e41f4b71Sopenharmony_ci console.info("SetDistributedTables failed, err: " + err) 1938e41f4b71Sopenharmony_ci}) 1939e41f4b71Sopenharmony_ci``` 1940e41f4b71Sopenharmony_ci 1941e41f4b71Sopenharmony_ci### obtainDistributedTableName<sup>8+</sup> 1942e41f4b71Sopenharmony_ci 1943e41f4b71Sopenharmony_ciobtainDistributedTableName(device: string, table: string, callback: AsyncCallback<string>): void 1944e41f4b71Sopenharmony_ci 1945e41f4b71Sopenharmony_ci根据远程设备的本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 使用callback异步回调。 1946e41f4b71Sopenharmony_ci 1947e41f4b71Sopenharmony_ci> **说明:** 1948e41f4b71Sopenharmony_ci> 1949e41f4b71Sopenharmony_ci> 其中device通过调用<!--RP1-->[deviceManager.getTrustedDeviceListSync](../apis-distributedservice-kit/js-apis-device-manager-sys.md#gettrusteddevicelistsync)方法得到。<!--RP1End-->deviceManager模块的接口均为系统接口,仅系统应用可用。 1950e41f4b71Sopenharmony_ci 1951e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 1952e41f4b71Sopenharmony_ci 1953e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 1954e41f4b71Sopenharmony_ci 1955e41f4b71Sopenharmony_ci**参数:** 1956e41f4b71Sopenharmony_ci 1957e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1958e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1959e41f4b71Sopenharmony_ci| device | string | 是 | 远程设备ID 。 | 1960e41f4b71Sopenharmony_ci| table | string | 是 | 远程设备的本地表名 | 1961e41f4b71Sopenharmony_ci| callback | AsyncCallback<string> | 是 | 指定的callback回调函数。如果操作成功,返回远程设备的分布式表名。 | 1962e41f4b71Sopenharmony_ci 1963e41f4b71Sopenharmony_ci**示例:** 1964e41f4b71Sopenharmony_ci 1965e41f4b71Sopenharmony_ci```ts 1966e41f4b71Sopenharmony_ciimport deviceManager from '@ohos.distributedHardware.deviceManager'; 1967e41f4b71Sopenharmony_ci 1968e41f4b71Sopenharmony_cilet dmInstance: Array<string>; 1969e41f4b71Sopenharmony_ci 1970e41f4b71Sopenharmony_cideviceManager.createDeviceManager("com.example.appdatamgrverify", (err: BusinessError, manager: void) => { 1971e41f4b71Sopenharmony_ci if (err) { 1972e41f4b71Sopenharmony_ci console.log("create device manager failed, err=" + err); 1973e41f4b71Sopenharmony_ci return; 1974e41f4b71Sopenharmony_ci } 1975e41f4b71Sopenharmony_ci dmInstance = manager; 1976e41f4b71Sopenharmony_ci let devices: Array<string> = dmInstance.getTrustedDeviceListSync(); 1977e41f4b71Sopenharmony_ci let deviceId: Array<string> = devices[0].deviceId; 1978e41f4b71Sopenharmony_ci}) 1979e41f4b71Sopenharmony_ci 1980e41f4b71Sopenharmony_cirdbStore.obtainDistributedTableName(deviceId, "EMPLOYEE", (err: BusinessError, tableName: String) { 1981e41f4b71Sopenharmony_ci if (err) { 1982e41f4b71Sopenharmony_ci console.info('ObtainDistributedTableName failed, err: ' + err) 1983e41f4b71Sopenharmony_ci return 1984e41f4b71Sopenharmony_ci } 1985e41f4b71Sopenharmony_ci console.info('ObtainDistributedTableName successfully, tableName=.' + tableName) 1986e41f4b71Sopenharmony_ci}) 1987e41f4b71Sopenharmony_ci``` 1988e41f4b71Sopenharmony_ci 1989e41f4b71Sopenharmony_ci### obtainDistributedTableName<sup>8+</sup> 1990e41f4b71Sopenharmony_ci 1991e41f4b71Sopenharmony_ci obtainDistributedTableName(device: string, table: string): Promise<string> 1992e41f4b71Sopenharmony_ci 1993e41f4b71Sopenharmony_ci根据远程设备的本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,使用Promise异步回调。 1994e41f4b71Sopenharmony_ci 1995e41f4b71Sopenharmony_ci> **说明:** 1996e41f4b71Sopenharmony_ci> 1997e41f4b71Sopenharmony_ci> 其中device通过调用<!--RP1-->[deviceManager.getTrustedDeviceListSync](../apis-distributedservice-kit/js-apis-device-manager-sys.md#gettrusteddevicelistsync)方法得到。<!--RP1End-->deviceManager模块的接口均为系统接口,仅系统应用可用。 1998e41f4b71Sopenharmony_ci 1999e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 2000e41f4b71Sopenharmony_ci 2001e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 2002e41f4b71Sopenharmony_ci 2003e41f4b71Sopenharmony_ci**参数:** 2004e41f4b71Sopenharmony_ci 2005e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2006e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2007e41f4b71Sopenharmony_ci| device | string | 是 | 远程设备ID。 | 2008e41f4b71Sopenharmony_ci| table | string | 是 | 远程设备的本地表名。 | 2009e41f4b71Sopenharmony_ci 2010e41f4b71Sopenharmony_ci**返回值**: 2011e41f4b71Sopenharmony_ci 2012e41f4b71Sopenharmony_ci| 类型 | 说明 | 2013e41f4b71Sopenharmony_ci| -------- | -------- | 2014e41f4b71Sopenharmony_ci| Promise<string> | Promise对象。如果操作成功,返回远程设备的分布式表名。 | 2015e41f4b71Sopenharmony_ci 2016e41f4b71Sopenharmony_ci**示例:** 2017e41f4b71Sopenharmony_ci 2018e41f4b71Sopenharmony_ci```ts 2019e41f4b71Sopenharmony_ciimport deviceManager from '@ohos.distributedHardware.deviceManager'; 2020e41f4b71Sopenharmony_ci 2021e41f4b71Sopenharmony_cilet dmInstance: Array<string>; 2022e41f4b71Sopenharmony_ci 2023e41f4b71Sopenharmony_cideviceManager.createDeviceManager("com.example.appdatamgrverify", (err: BusinessError, manager: void) => { 2024e41f4b71Sopenharmony_ci if (err) { 2025e41f4b71Sopenharmony_ci console.log("create device manager failed, err=" + err); 2026e41f4b71Sopenharmony_ci return; 2027e41f4b71Sopenharmony_ci } 2028e41f4b71Sopenharmony_ci dmInstance = manager; 2029e41f4b71Sopenharmony_ci let devices: Array<string> = dmInstance.getTrustedDeviceListSync(); 2030e41f4b71Sopenharmony_ci let deviceId: Array<string> = devices[0].deviceId; 2031e41f4b71Sopenharmony_ci}) 2032e41f4b71Sopenharmony_ci 2033e41f4b71Sopenharmony_cilet promise: void = rdbStore.obtainDistributedTableName(deviceId, "EMPLOYEE") 2034e41f4b71Sopenharmony_cipromise.then((tableName: String) => { 2035e41f4b71Sopenharmony_ci console.info('ObtainDistributedTableName successfully, tableName= ' + tableName) 2036e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 2037e41f4b71Sopenharmony_ci console.info('ObtainDistributedTableName failed, err: ' + err) 2038e41f4b71Sopenharmony_ci}) 2039e41f4b71Sopenharmony_ci``` 2040e41f4b71Sopenharmony_ci 2041e41f4b71Sopenharmony_ci### sync<sup>8+</sup> 2042e41f4b71Sopenharmony_ci 2043e41f4b71Sopenharmony_cisync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array<[string, number]>>): void 2044e41f4b71Sopenharmony_ci 2045e41f4b71Sopenharmony_ci在设备之间同步数据, 使用callback异步回调。 2046e41f4b71Sopenharmony_ci 2047e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 2048e41f4b71Sopenharmony_ci 2049e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 2050e41f4b71Sopenharmony_ci 2051e41f4b71Sopenharmony_ci**参数:** 2052e41f4b71Sopenharmony_ci 2053e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2054e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2055e41f4b71Sopenharmony_ci| mode | [SyncMode](#syncmode8) | 是 | 指同步模式。该值可以是推、拉。 | 2056e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | 约束同步数据和设备。 | 2057e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array<[string, number]>> | 是 | 指定的callback回调函数,用于向调用者发送同步结果。string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。| 2058e41f4b71Sopenharmony_ci 2059e41f4b71Sopenharmony_ci**示例:** 2060e41f4b71Sopenharmony_ci 2061e41f4b71Sopenharmony_ci```ts 2062e41f4b71Sopenharmony_ciimport deviceManager from '@ohos.distributedHardware.deviceManager'; 2063e41f4b71Sopenharmony_ci 2064e41f4b71Sopenharmony_cilet dmInstance: Array<string>; 2065e41f4b71Sopenharmony_ci 2066e41f4b71Sopenharmony_cideviceManager.createDeviceManager("com.example.appdatamgrverify", (err: BusinessError, manager: void) => { 2067e41f4b71Sopenharmony_ci if (err) { 2068e41f4b71Sopenharmony_ci console.log("create device manager failed, err=" + err); 2069e41f4b71Sopenharmony_ci return; 2070e41f4b71Sopenharmony_ci } 2071e41f4b71Sopenharmony_ci dmInstance = manager; 2072e41f4b71Sopenharmony_ci let devices: Array<string> = dmInstance.getTrustedDeviceListSync(); 2073e41f4b71Sopenharmony_ci for (let i = 0; i < devices.length; i++) { 2074e41f4b71Sopenharmony_ci let deviceIds: Array<string> = devices[i].deviceId; 2075e41f4b71Sopenharmony_ci } 2076e41f4b71Sopenharmony_ci}) 2077e41f4b71Sopenharmony_ci 2078e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates('EMPLOYEE') 2079e41f4b71Sopenharmony_cipredicates.inDevices(deviceIds) 2080e41f4b71Sopenharmony_cirdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates, (err: BusinessError, result: void) { 2081e41f4b71Sopenharmony_ci if (err) { 2082e41f4b71Sopenharmony_ci console.log('Sync failed, err: ' + err) 2083e41f4b71Sopenharmony_ci return 2084e41f4b71Sopenharmony_ci } 2085e41f4b71Sopenharmony_ci console.log('Sync done.') 2086e41f4b71Sopenharmony_ci for (let i = 0; i < result.length; i++) { 2087e41f4b71Sopenharmony_ci console.log('device=' + result[i][0] + ' status=' + result[i][1]) 2088e41f4b71Sopenharmony_ci } 2089e41f4b71Sopenharmony_ci}) 2090e41f4b71Sopenharmony_ci``` 2091e41f4b71Sopenharmony_ci 2092e41f4b71Sopenharmony_ci### sync<sup>8+</sup> 2093e41f4b71Sopenharmony_ci 2094e41f4b71Sopenharmony_ci sync(mode: SyncMode, predicates: RdbPredicates): Promise<Array<[string, number]>> 2095e41f4b71Sopenharmony_ci 2096e41f4b71Sopenharmony_ci在设备之间同步数据,使用Promise异步回调。 2097e41f4b71Sopenharmony_ci 2098e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 2099e41f4b71Sopenharmony_ci 2100e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 2101e41f4b71Sopenharmony_ci 2102e41f4b71Sopenharmony_ci**参数:** 2103e41f4b71Sopenharmony_ci 2104e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2105e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2106e41f4b71Sopenharmony_ci| mode | [SyncMode](#syncmode8) | 是 | 指同步模式。该值可以是推、拉。 | 2107e41f4b71Sopenharmony_ci| predicates | [RdbPredicates](#rdbpredicates) | 是 | 约束同步数据和设备。 | 2108e41f4b71Sopenharmony_ci 2109e41f4b71Sopenharmony_ci**返回值**: 2110e41f4b71Sopenharmony_ci 2111e41f4b71Sopenharmony_ci| 类型 | 说明 | 2112e41f4b71Sopenharmony_ci| -------- | -------- | 2113e41f4b71Sopenharmony_ci| Promise<Array<[string, number]>> | Promise对象,用于向调用者发送同步结果。string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 | 2114e41f4b71Sopenharmony_ci 2115e41f4b71Sopenharmony_ci**示例:** 2116e41f4b71Sopenharmony_ci 2117e41f4b71Sopenharmony_ci```ts 2118e41f4b71Sopenharmony_ciimport deviceManager from '@ohos.distributedHardware.deviceManager'; 2119e41f4b71Sopenharmony_ci 2120e41f4b71Sopenharmony_cilet dmInstance: Array<string>; 2121e41f4b71Sopenharmony_ci 2122e41f4b71Sopenharmony_cideviceManager.createDeviceManager("com.example.appdatamgrverify", (err: BusinessError, manager: void) => { 2123e41f4b71Sopenharmony_ci if (err) { 2124e41f4b71Sopenharmony_ci console.log("create device manager failed, err=" + err); 2125e41f4b71Sopenharmony_ci return; 2126e41f4b71Sopenharmony_ci } 2127e41f4b71Sopenharmony_ci dmInstance = manager; 2128e41f4b71Sopenharmony_ci let devices: Array<string> = dmInstance.getTrustedDeviceListSync(); 2129e41f4b71Sopenharmony_ci for (let i = 0; i < devices.length; i++) { 2130e41f4b71Sopenharmony_ci let deviceIds: Array<string> = devices[i].deviceId; 2131e41f4b71Sopenharmony_ci } 2132e41f4b71Sopenharmony_ci}) 2133e41f4b71Sopenharmony_ci 2134e41f4b71Sopenharmony_cilet predicates = new data_rdb.RdbPredicates('EMPLOYEE') 2135e41f4b71Sopenharmony_cipredicates.inDevices(deviceIds) 2136e41f4b71Sopenharmony_cilet promise: void = rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates) 2137e41f4b71Sopenharmony_cipromise.then((result: void) =>{ 2138e41f4b71Sopenharmony_ci console.log('Sync done.') 2139e41f4b71Sopenharmony_ci for (let i = 0; i < result.length; i++) { 2140e41f4b71Sopenharmony_ci console.log('device=' + result[i][0] + ' status=' + result[i][1]) 2141e41f4b71Sopenharmony_ci } 2142e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 2143e41f4b71Sopenharmony_ci console.log('Sync failed') 2144e41f4b71Sopenharmony_ci}) 2145e41f4b71Sopenharmony_ci``` 2146e41f4b71Sopenharmony_ci 2147e41f4b71Sopenharmony_ci### on('dataChange')<sup>8+</sup> 2148e41f4b71Sopenharmony_ci 2149e41f4b71Sopenharmony_cion(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void 2150e41f4b71Sopenharmony_ci 2151e41f4b71Sopenharmony_ci注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。 2152e41f4b71Sopenharmony_ci 2153e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 2154e41f4b71Sopenharmony_ci 2155e41f4b71Sopenharmony_ci**参数:** 2156e41f4b71Sopenharmony_ci 2157e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2158e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2159e41f4b71Sopenharmony_ci| event | string | 是 | 取值为'dataChange',表示数据更改。 | 2160e41f4b71Sopenharmony_ci| type | [SubscribeType](#subscribetype8) | 是 | 订阅类型。 | 2161e41f4b71Sopenharmony_ci| observer | Callback<Array<string>> | 是 | 指分布式数据库中数据更改事件的观察者。Array<string>为数据库中的数据发生改变的对端设备ID。 | 2162e41f4b71Sopenharmony_ci 2163e41f4b71Sopenharmony_ci**示例:** 2164e41f4b71Sopenharmony_ci 2165e41f4b71Sopenharmony_ci```ts 2166e41f4b71Sopenharmony_cilet devices: Array<string>; 2167e41f4b71Sopenharmony_ci 2168e41f4b71Sopenharmony_citry { 2169e41f4b71Sopenharmony_ci rdbStore.on('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver: Array<string>) => { 2170e41f4b71Sopenharmony_ci for (let i = 0; i < devices.length; i++) { 2171e41f4b71Sopenharmony_ci console.log('device=' + devices[i] + ' data changed') 2172e41f4b71Sopenharmony_ci } 2173e41f4b71Sopenharmony_ci }) 2174e41f4b71Sopenharmony_ci} catch (err) { 2175e41f4b71Sopenharmony_ci console.log('Register observer failed') 2176e41f4b71Sopenharmony_ci} 2177e41f4b71Sopenharmony_ci``` 2178e41f4b71Sopenharmony_ci 2179e41f4b71Sopenharmony_ci### off('dataChange')<sup>8+</sup> 2180e41f4b71Sopenharmony_ci 2181e41f4b71Sopenharmony_cioff(event:'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void 2182e41f4b71Sopenharmony_ci 2183e41f4b71Sopenharmony_ci从数据库中删除指定类型的指定观察者, 使用callback异步回调。 2184e41f4b71Sopenharmony_ci 2185e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 2186e41f4b71Sopenharmony_ci 2187e41f4b71Sopenharmony_ci**参数:** 2188e41f4b71Sopenharmony_ci 2189e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2190e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2191e41f4b71Sopenharmony_ci| event | string | 是 | 取值为'dataChange',表示数据更改。 | 2192e41f4b71Sopenharmony_ci| type | [SubscribeType](#subscribetype8) | 是 | 订阅类型。 | 2193e41f4b71Sopenharmony_ci| observer | Callback<Array<string>> | 是 | 指已注册的数据更改观察者。Array<string>为数据库中的数据发生改变的对端设备ID。 | 2194e41f4b71Sopenharmony_ci 2195e41f4b71Sopenharmony_ci**示例:** 2196e41f4b71Sopenharmony_ci 2197e41f4b71Sopenharmony_ci```ts 2198e41f4b71Sopenharmony_cilet devices: Array<string>; 2199e41f4b71Sopenharmony_ci 2200e41f4b71Sopenharmony_citry { 2201e41f4b71Sopenharmony_ci rdbStore.off('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver: Array<string>) => { 2202e41f4b71Sopenharmony_ci for (let i = 0; i < devices.length; i++) { 2203e41f4b71Sopenharmony_ci console.log('device=' + devices[i] + ' data changed') 2204e41f4b71Sopenharmony_ci } 2205e41f4b71Sopenharmony_ci }) 2206e41f4b71Sopenharmony_ci} catch (err) { 2207e41f4b71Sopenharmony_ci console.log('Unregister observer failed') 2208e41f4b71Sopenharmony_ci} 2209e41f4b71Sopenharmony_ci``` 2210