1# RDB 2 3 4## 概述 5 6关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的 对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。 7 8**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 9 10**起始版本:** 10 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [oh_cursor.h](oh__cursor_8h.md) | 提供通过查询数据库生成的数据库结果集的访问方法。<br/>**引用文件:** <database/rdb/oh_cursor.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 21| [oh_predicates.h](oh__predicates_8h.md) | 表示关系型数据库(RDB)的谓词。<br/>**引用文件:** <database/rdb/oh_predicates.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 22| [oh_value_object.h](oh__value__object_8h.md) | 提供类型转换方法。<br/>**引用文件:** <database/rdb/oh_value_object.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 23| [oh_values_bucket.h](oh__values__bucket_8h.md) | 用于存储键值对的类型。<br/>**引用文件:** <database/rdb/oh_values_bucket.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 24| [relational_store.h](relational__store_8h.md) | 提供管理关系数据库(RDB)方法的接口。<br/>**引用文件:** <database/rdb/relational_store.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 25| [relational_store_error_code.h](relational__store__error__code_8h.md) | 声明关系型数据库(RDB)的错误码信息。<br/>**引用文件:** <database/rdb/relational_store_error_code.h><br/>**库:** libnative_rdb_ndk.z.so | 26 27 28### 结构体 29 30| 名称 | 描述 | 31| -------- | -------- | 32| [OH_Cursor](_o_h___cursor.md) | 表示结果集。 | 33| [OH_Predicates](_o_h___predicates.md) | 表示谓词。 | 34| [OH_VObject](_o_h___v_object.md) | 表示允许的数据字段类型。 | 35| [OH_VBucket](_o_h___v_bucket.md) | 用于存储键值对的类型。 | 36| [OH_Rdb_Config](_o_h___rdb___config.md) | 管理关系数据库配置。 | 37| [OH_Rdb_Store](_o_h___rdb___store.md) | 表示数据库类型。 | 38| [Rdb_DistributedConfig](_rdb___distributed_config.md) | 记录表的分布式配置信息。 | 39| [Rdb_KeyInfo](_rdb___key_info.md) | 描述发生变化的行的主键或者行号。 | 40| [Rdb_KeyInfo::Rdb_KeyData](union_rdb___key_info_1_1_rdb___key_data.md) | 存放变化的具体数据。 | 41| [Rdb_ChangeInfo](_rdb___change_info.md) | 记录端云同步过程详情。 | 42| [Rdb_SubscribeCallback](union_rdb___subscribe_callback.md) | 表示回调函数。 | 43| [Rdb_DataObserver](_rdb___data_observer.md) | 表示数据观察者。 | 44| [Rdb_Statistic](_rdb___statistic.md) | 描述数据库表的端云同步过程的统计信息。 | 45| [Rdb_TableDetails](_rdb___table_details.md) | 描述数据库表执行端云同步任务上传和下载的统计信息。 | 46| [Rdb_ProgressDetails](_rdb___progress_details.md) | 描述数据库整体执行端云同步任务上传和下载的统计信息。 | 47| [Rdb_ProgressObserver](_rdb___progress_observer.md) | 端云同步进度观察者。 | 48 49 50### 宏定义 51 52| 名称 | 描述 | 53| -------- | -------- | 54| [DISTRIBUTED_CONFIG_VERSION](#distributed_config_version) 1 | 描述[Rdb_DistributedConfig](_rdb___distributed_config.md)的版本。 | 55| [DISTRIBUTED_CHANGE_INFO_VERSION](#distributed_change_info_version) 1 | 描述[Rdb_ChangeInfo](_rdb___change_info.md)的版本。 | 56| [DISTRIBUTED_PROGRESS_DETAIL_VERSION](#distributed_progress_detail_version) 1 | 描述[Rdb_ProgressDetails](_rdb___progress_details.md)的版本。 | 57 58 59### 类型定义 60 61| 名称 | 描述 | 62| -------- | -------- | 63| [OH_ColumnType](#oh_columntype) | 数据库字段类型。 | 64| [OH_Cursor](#oh_cursor) | 表示结果集。 | 65| [OH_OrderType](#oh_ordertype) | 排序方式。 | 66| [OH_Predicates](#oh_predicates) | 表示谓词。 | 67| [OH_VObject](#oh_vobject) | 表示允许的数据字段类型。 | 68| [OH_VBucket](#oh_vbucket) | 用于存储键值对的类型。 | 69| [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel) | 数据库的安全级别枚举。 | 70| [Rdb_SecurityArea](#rdb_securityarea) | 描述数据库的安全区域等级。 | 71| [Rdb_DistributedType](#rdb_distributedtype) | 描述表的分布式类型的枚举。 | 72| [Rdb_DistributedConfig](#rdb_distributedconfig) | 记录表的分布式配置信息。 | 73| [Rdb_ChangeType](#rdb_changetype) | 描述数据变更类型。 | 74| [Rdb_KeyInfo](#rdb_keyinfo) | 描述发生变化的行的主键或者行号。 | 75| [Rdb_ChangeInfo](#rdb_changeinfo) | 记录端云同步过程详情。 | 76| [Rdb_SubscribeType](#rdb_subscribetype) | 描述订阅类型。 | 77| [Rdb_BriefObserver](#rdb_briefobserver) | 端云数据更改事件的回调函数。 | 78| [Rdb_DetailsObserver](#rdb_detailsobserver) | 端云数据更改事件的细节的回调函数。 | 79| [Rdb_SubscribeCallback](#rdb_subscribecallback) | 表示回调函数。 | 80| [Rdb_DataObserver](#rdb_dataobserver) | 表示数据观察者。 | 81| [Rdb_SyncMode](#rdb_syncmode) | 表示数据库的同步模式。 | 82| [Rdb_Statistic](#rdb_statistic) | 描述数据库表的端云同步过程的统计信息。 | 83| [Rdb_TableDetails](#rdb_tabledetails) | 描述数据库表执行端云同步任务上传和下载的统计信息。 | 84| [Rdb_Progress](#rdb_progress) | 描述端云同步过程。 | 85| [Rdb_ProgressCode](#rdb_progresscode) | 表示端云同步过程的状态。 | 86| [Rdb_ProgressDetails](#rdb_progressdetails) | 描述数据库整体执行端云同步任务上传和下载的统计信息。 | 87| [Rdb_ProgressCallback](#rdb_progresscallback) | 端云同步进度的回调函数。 | 88| [Rdb_SyncCallback](#rdb_synccallback) | 数据库端云同步的回调函数。 | 89| [Rdb_ProgressObserver](#rdb_progressobserver) | 端云同步进度观察者。 | 90| [OH_Rdb_ErrCode](#oh_rdb_errcode) | 表示错误码信息。 | 91 92 93### 枚举 94 95| 名称 | 描述 | 96| -------- | -------- | 97| [OH_ColumnType](#oh_columntype-1) {<br/>TYPE_NULL = 0, TYPE_INT64, TYPE_REAL, TYPE_TEXT,<br/>TYPE_BLOB, TYPE_ASSET, TYPE_ASSETS<br/>} | 数据库字段类型. | 98| [OH_OrderType](#oh_ordertype-1) { ASC = 0, DESC = 1 } | 排序方式。 | 99| [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel-1) { S1 = 1, S2, S3, S4 } | 数据库的安全级别枚举。 | 100| [Rdb_SecurityArea](#rdb_securityarea-1) { RDB_SECURITY_AREA_EL1 = 1, RDB_SECURITY_AREA_EL2, RDB_SECURITY_AREA_EL3, RDB_SECURITY_AREA_EL4 } | 描述数据库的安全区域等级。 | 101| [Rdb_DistributedType](#rdb_distributedtype-1) { RDB_DISTRIBUTED_CLOUD } | 描述表的分布式类型的枚举。 | 102| [Rdb_ChangeType](#rdb_changetype-1) { RDB_DATA_CHANGE, RDB_ASSET_CHANGE } | 描述数据变更类型。 | 103| [Rdb_SubscribeType](#rdb_subscribetype-1) { RDB_SUBSCRIBE_TYPE_CLOUD, RDB_SUBSCRIBE_TYPE_CLOUD_DETAILS, RDB_SUBSCRIBE_TYPE_LOCAL_DETAILS } | 描述订阅类型。 | 104| [Rdb_SyncMode](#rdb_syncmode-1) { RDB_SYNC_MODE_TIME_FIRST, RDB_SYNC_MODE_NATIVE_FIRST, RDB_SYNC_MODE_CLOUD_FIRST } | 表示数据库的同步模式 | 105| [Rdb_Progress](#rdb_progress-1) { RDB_SYNC_BEGIN, RDB_SYNC_IN_PROGRESS, RDB_SYNC_FINISH } | 描述端云同步过程。 | 106| [Rdb_ProgressCode](#rdb_progresscode-1) {<br/>RDB_SUCCESS, RDB_UNKNOWN_ERROR, RDB_NETWORK_ERROR, RDB_CLOUD_DISABLED,<br/>RDB_LOCKED_BY_OTHERS, RDB_RECORD_LIMIT_EXCEEDED, RDB_NO_SPACE_FOR_ASSET<br/>} | 表示端云同步过程的状态。 | 107| [OH_Rdb_ErrCode](#oh_rdb_errcode-1) {<br/>RDB_ERR = -1, RDB_OK = 0, E_BASE = 14800000, RDB_E_NOT_SUPPORTED = 801,<br/>RDB_E_ERROR = E_BASE, RDB_E_INVALID_ARGS = (E_BASE + 1), RDB_E_CANNOT_UPDATE_READONLY = (E_BASE + 2), RDB_E_REMOVE_FILE = (E_BASE + 3),<br/>RDB_E_EMPTY_TABLE_NAME = (E_BASE + 5), RDB_E_EMPTY_VALUES_BUCKET = (E_BASE + 6), RDB_E_EXECUTE_IN_STEP_QUERY = (E_BASE + 7), RDB_E_INVALID_COLUMN_INDEX = (E_BASE + 8),<br/>RDB_E_INVALID_COLUMN_TYPE = (E_BASE + 9), RDB_E_EMPTY_FILE_NAME = (E_BASE + 10), RDB_E_INVALID_FILE_PATH = (E_BASE + 11), RDB_E_TRANSACTION_IN_EXECUTE = (E_BASE + 12),<br/>RDB_E_INVALID_STATEMENT = (E_BASE + 13), RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION = (E_BASE + 14), RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION = (E_BASE + 15), RDB_E_NO_TRANSACTION_IN_SESSION = (E_BASE + 16),<br/>RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION = (E_BASE + 17), RDB_E_NO_ROW_IN_QUERY = (E_BASE + 18), RDB_E_INVALID_BIND_ARGS_COUNT = (E_BASE + 19), RDB_E_INVALID_OBJECT_TYPE = (E_BASE + 20),<br/>RDB_E_INVALID_CONFLICT_FLAG = (E_BASE + 21), RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY = (E_BASE + 22), RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET = (E_BASE + 23), RDB_E_STEP_RESULT_SET_CROSS_THREADS = (E_BASE + 24),<br/>RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED = (E_BASE + 25), RDB_E_STEP_RESULT_IS_AFTER_LAST = (E_BASE + 26), RDB_E_STEP_RESULT_QUERY_EXCEEDED = (E_BASE + 27), RDB_E_STATEMENT_NOT_PREPARED = (E_BASE + 28),<br/>RDB_E_EXECUTE_RESULT_INCORRECT = (E_BASE + 29), RDB_E_STEP_RESULT_CLOSED = (E_BASE + 30), RDB_E_RELATIVE_PATH = (E_BASE + 31), RDB_E_EMPTY_NEW_ENCRYPT_KEY = (E_BASE + 32),<br/>RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED = (E_BASE + 33), RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY = (E_BASE + 34), RDB_E_STEP_STATEMENT_NOT_INIT = (E_BASE + 35), RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE = (E_BASE + 36),<br/>RDB_E_CREATE_FOLDER_FAIL = (E_BASE + 37), RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL = (E_BASE + 38), RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY = (E_BASE + 39), RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION = (E_BASE + 40),<br/>RDB_E_NOT_SUPPORT = (E_BASE + 41), RDB_E_INVALID_PARCEL = (E_BASE + 42), RDB_E_QUERY_IN_EXECUTE = (E_BASE + 43), RDB_E_SET_PERSIST_WAL = (E_BASE + 44),<br/>RDB_E_DB_NOT_EXIST = (E_BASE + 45), RDB_E_ARGS_READ_CON_OVERLOAD = (E_BASE + 46), RDB_E_WAL_SIZE_OVER_LIMIT = (E_BASE + 47), RDB_E_CON_OVER_LIMIT = (E_BASE + 48)<br/>} | 表示错误码信息。 | 108 109 110### 函数 111 112| 名称 | 描述 | 113| -------- | -------- | 114| [OH_VBucket_PutAsset](#oh_vbucket_putasset) ([OH_VBucket](_o_h___v_bucket.md) \*bucket, const char \*field, OH_Asset \*value) | 将**OH_Asset**类型的对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 115| [OH_VBucket_PutAssets](#oh_vbucket_putassets) ([OH_VBucket](_o_h___v_bucket.md) \*bucket, const char \*field, OH_Asset \*\*value, int count) | 将**OH_Asset**类型的对象数组放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 116| [OH_Rdb_CreateValueObject](#oh_rdb_createvalueobject) () | 创建[OH_VObject](_o_h___v_object.md)实例。 | 117| [OH_Rdb_CreateValuesBucket](#oh_rdb_createvaluesbucket) () | 创建[OH_VBucket](_o_h___v_bucket.md)实例。 | 118| [OH_Rdb_CreatePredicates](#oh_rdb_createpredicates) (const char \*table) | 创建[OH_Predicates](_o_h___predicates.md)实例。 | 119| [OH_Rdb_GetOrOpen](#oh_rdb_getoropen) (const [OH_Rdb_Config](_o_h___rdb___config.md) \*config, int \*errCode) | 获得一个相关的[OH_Rdb_Store](_o_h___rdb___store.md)实例,操作关系型数据库。 | 120| [OH_Rdb_CloseStore](#oh_rdb_closestore) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 销毁[OH_Rdb_Store](_o_h___rdb___store.md)对象,并回收该对象占用的内存。 | 121| [OH_Rdb_DeleteStore](#oh_rdb_deletestore) (const [OH_Rdb_Config](_o_h___rdb___config.md) \*config) | 使用指定的数据库文件配置删除数据库。 | 122| [OH_Rdb_Insert](#oh_rdb_insert) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*table, [OH_VBucket](_o_h___v_bucket.md) \*valuesBucket) | 向目标表中插入一行数据。 | 123| [OH_Rdb_Update](#oh_rdb_update) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_VBucket](_o_h___v_bucket.md) \*valuesBucket, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件更新数据库中的数据。 | 124| [OH_Rdb_Delete](#oh_rdb_delete) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件删除数据库中的数据。 | 125| [OH_Rdb_Query](#oh_rdb_query) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates, const char \*const \*columnNames, int length) | 根据指定条件查询数据库中的数据。 | 126| [OH_Rdb_Execute](#oh_rdb_execute) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql) | 执行无返回值的SQL语句。 | 127| [OH_Rdb_ExecuteQuery](#oh_rdb_executequery) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql) | 根据指定SQL语句查询数据库中的数据。 | 128| [OH_Rdb_BeginTransaction](#oh_rdb_begintransaction) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 在开始执行SQL语句之前,开始事务。 | 129| [OH_Rdb_RollBack](#oh_rdb_rollback) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 回滚已经执行的SQL语句。 | 130| [OH_Rdb_Commit](#oh_rdb_commit) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 提交已执行的SQL语句。 | 131| [OH_Rdb_Backup](#oh_rdb_backup) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*databasePath) | 以指定路径备份数据库。 | 132| [OH_Rdb_Restore](#oh_rdb_restore) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*databasePath) | 从指定的数据库备份文件恢复数据库。 | 133| [OH_Rdb_GetVersion](#oh_rdb_getversion) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int \*version) | 获取数据库版本。 | 134| [OH_Rdb_SetVersion](#oh_rdb_setversion) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int version) | 设置数据库版本。 | 135| [OH_Rdb_SetDistributedTables](#oh_rdb_setdistributedtables) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*tables[], uint32_t count, [Rdb_DistributedType](#rdb_distributedtype) type, const [Rdb_DistributedConfig](_rdb___distributed_config.md) \*config) | 设置分布式数据库表。 | 136| [OH_Rdb_FindModifyTime](#oh_rdb_findmodifytime) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*tableName, const char \*columnName, [OH_VObject](_o_h___v_object.md) \*values) | 获取数据库表中数据的最后修改时间。 | 137| [OH_Rdb_Subscribe](#oh_rdb_subscribe) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [Rdb_SubscribeType](#rdb_subscribetype) type, const [Rdb_DataObserver](_rdb___data_observer.md) \*observer) | 为数据库注册观察者。当分布式数据库中的数据发生更改时,将调用回调。 | 138| [OH_Rdb_Unsubscribe](#oh_rdb_unsubscribe) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [Rdb_SubscribeType](#rdb_subscribetype) type, const [Rdb_DataObserver](_rdb___data_observer.md) \*observer) | 从数据库中删除指定类型的指定观察者。 | 139| [OH_Rdb_GetTableDetails](#oh_rdb_gettabledetails) ([Rdb_ProgressDetails](_rdb___progress_details.md) \*progress, int32_t version) | 从端云同步任务的统计信息中获取数据库表的统计信息。 | 140| [OH_Rdb_CloudSync](#oh_rdb_cloudsync) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [Rdb_SyncMode](#rdb_syncmode) mode, const char \*tables, int count, const [Rdb_ProgressObserver](_rdb___progress_observer.md) \*observer) | 进行端云同步。 | 141| [OH_Rdb_SubscribeAutoSyncProgress](#oh_rdb_subscribeautosyncprogress) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const [Rdb_ProgressObserver](_rdb___progress_observer.md) \*observer) | 订阅RDB存储的自动同步进度。 当收到自动同步进度的通知时,将调用回调。 | 142| [OH_Rdb_UnsubscribeAutoSyncProgress](#oh_rdb_unsubscribeautosyncprogress) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const [Rdb_ProgressObserver](_rdb___progress_observer.md) \*observer) | 取消订阅RDB存储的自动同步进程。 | 143| int [OH_Rdb_LockRow](#oh_rdb_lockrow) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件锁定数据库中的数据,锁定数据不执行端云同步。 | 144| int [OH_Rdb_UnlockRow](#oh_rdb_unlockrow) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件锁解锁数据库中的数据。 | 145| [OH_Cursor](_o_h___cursor.md) \* [OH_Rdb_QueryLockedRow](#oh_rdb_querylockedrow) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates, const char \*const \*columnNames, int length) | 根据指定条件查询数据库中锁定的数据。 | 146 147### 变量 148 149| 名称 | 描述 | 150| -------- | -------- | 151| [OH_Cursor::id](#id-15) | OH_Cursor结构体的唯一标识符。 | 152| [OH_Cursor::getColumnCount](#getcolumncount) | 函数指针,获取结果集中的列数。 | 153| [OH_Cursor::getColumnType](#getcolumntype) | 函数指针,根据指定的列索引获取列类型。 | 154| [OH_Cursor::getColumnIndex](#getcolumnindex) | 函数指针,根据指定的列名获取列索引。 | 155| [OH_Cursor::getColumnName](#getcolumnname) | 函数指针,根据指定的列索引获取列名。 | 156| [OH_Cursor::getRowCount](#getrowcount) | 函数指针,获取结果集中的行数。 | 157| [OH_Cursor::goToNextRow](#gotonextrow) | 函数指针,转到结果集的下一行。 | 158| [OH_Cursor::getSize](#getsize) | 函数指针,当结果集中列的数据类型是BLOB或者TEXT时,获取其值所需的内存。 | 159| [OH_Cursor::getText](#gettext) | 函数指针,以字符串形式获取当前行中指定列的值。 | 160| [OH_Cursor::getInt64](#getint64) | 函数指针,以int64_t形式获取当前行中指定列的值。 | 161| [OH_Cursor::getReal](#getreal) | 函数指针,以double形式获取当前行中指定列的值。 | 162| [OH_Cursor::getBlob](#getblob) | 函数指针,以字节数组的形式获取当前行中指定列的值。 | 163| [OH_Cursor::isNull](#isnull-12) | 函数指针,检查当前行中指定列的值是否为null。 | 164| [OH_Cursor::destroy](#destroy-14) | 函数指针,关闭结果集。 | 165| [OH_Cursor::getAsset](#getasset) | 函数指针,以资产的形式获取当前行中指定列的值。 | 166| [OH_Cursor::getAssets](#getassets) | 函数指针,以资产数组的形式获取当前行中指定列的值。 | 167| [OH_Predicates::id](#id-25) | OH_Predicates结构体的唯一标识符。 | 168| [OH_Predicates::equalTo](#equalto) | 函数指针,配置谓词以匹配数据字段等于指定值的字段。 | 169| [OH_Predicates::notEqualTo](#notequalto) | 函数指针,配置谓词以匹配数据字段不等于指定值的字段。 | 170| [OH_Predicates::beginWrap](#beginwrap) | 函数指针,向谓词添加左括号。 | 171| [OH_Predicates::endWrap](#endwrap) | 函数指针,向谓词添加右括号。 | 172| [OH_Predicates::orOperate](#oroperate) | 函数指针,将或条件添加到谓词中。 | 173| [OH_Predicates::andOperate](#andoperate) | 函数指针,向谓词添加和条件。 | 174| [OH_Predicates::isNull](#isnull-22) | 函数指针,配置谓词以匹配值为null的字段。 | 175| [OH_Predicates::isNotNull](#isnotnull) | 函数指针,配置谓词以匹配值不为null的指定字段。 | 176| [OH_Predicates::like](#like) | 函数指针,配置谓词以匹配数据字段为field且值类似于指定字符串的字段。 | 177| [OH_Predicates::between](#between) | 函数指针,将谓词配置为匹配数据字段为field且其值在给定范围内的指定字段。 | 178| [OH_Predicates::notBetween](#notbetween) | 函数指针,将谓词配置为匹配数据字段为field且其值超出给定范围内的指定字段。 | 179| [OH_Predicates::greaterThan](#greaterthan) | 函数指针,配置谓词以匹配数据字段为field且值大于指定值valueObject的字段。 | 180| [OH_Predicates::lessThan](#lessthan) | 函数指针,配置谓词以匹配数据字段为field且值小于指定值valueObject的字段 | 181| [OH_Predicates::greaterThanOrEqualTo](#greaterthanorequalto) | 函数指针,配置谓词以匹配数据字段为field且值大于或等于指定值valueObject的字段 | 182| [OH_Predicates::lessThanOrEqualTo](#lessthanorequalto) | 函数指针,配置谓词以匹配数据字段为field且值小于或等于指定值valueObject的字段 | 183| [OH_Predicates::orderBy](#orderby) | 函数指针,配置谓词以匹配其值按升序或降序排序的列。 | 184| [OH_Predicates::distinct](#distinct) | 函数指针,配置谓词以过滤重复记录并仅保留其中一个。 | 185| [OH_Predicates::limit](#limit) | 函数指针,设置最大数据记录数的谓词。 | 186| [OH_Predicates::offset](#offset) | 函数指针,配置谓词以指定返回结果的起始位置。 | 187| [OH_Predicates::groupBy](#groupby) | 函数指针,配置R谓词按指定列分组查询结果。 | 188| [OH_Predicates::in](#in) | 函数指针,配置谓词以匹配数据字段为field且值在给定范围内的指定字段。 | 189| [OH_Predicates::notIn](#notin) | 函数指针,配置谓词以匹配数据字段为field且值超出给定范围内的指定字段。 | 190| [OH_Predicates::clear](#clear-12) | 函数指针,清空谓词。 | 191| [OH_Predicates::destroy](#destroy-24) | 销毁[OH_Predicates](_o_h___predicates.md)对象,并回收该对象占用的内存。 | 192| [OH_VObject::id](#id-35) | OH_VObject结构体的唯一标识符。 | 193| [OH_VObject::putInt64](#putint64-22) | 将int64类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 194| [OH_VObject::putDouble](#putdouble) | 将double类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 195| [OH_VObject::putText](#puttext-22) | 将char \*类型的字符数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 196| [OH_VObject::putTexts](#puttexts) | 将char \*类型的字符串数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 197| [OH_VObject::destroy](#destroy-44) | 销毁[OH_VObject](_o_h___v_object.md)对象,并回收该对象占用的内存。 | 198| [OH_VBucket::id](#id-45) | OH_VBucket结构体的唯一标识符。 | 199| [OH_VBucket::capability](#capability) | 表示结构体的存储键值对的数量 | 200| [OH_VBucket::putText](#puttext-12) | 将char\*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 201| [OH_VBucket::putInt64](#putint64-12) | 将int64_t值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 202| [OH_VBucket::putReal](#putreal) | 将double值放入给定列名的{**OH_VBucket}对象中。** | 203| [OH_VBucket::putBlob](#putblob) | 将const uint8_t \*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 204| [OH_VBucket::putNull](#putnull) | 将NULL值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 205| [OH_VBucket::clear](#clear-22) | 清空[OH_VBucket](_o_h___v_bucket.md)对象。 | 206| [OH_VBucket::destroy](#destroy-34) | 销毁[OH_VBucket](_o_h___v_bucket.md)对象,并回收该对象占用的内存。 | 207| [OH_Rdb_Config::selfSize](#selfsize) | 该结构体的大小。 | 208| [OH_Rdb_Config::dataBaseDir](#databasedir) | 数据库文件路径。 | 209| [OH_Rdb_Config::storeName](#storename) | 数据库名称。 | 210| [OH_Rdb_Config::bundleName](#bundlename) | 应用包名。 | 211| [OH_Rdb_Config::moduleName](#modulename) | 应用模块名。 | 212| [OH_Rdb_Config::isEncrypt](#isencrypt) | 指定数据库是否加密。 | 213| [OH_Rdb_Config::securityLevel](#securitylevel) | 设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 | 214| [OH_Rdb_Config::area](#area) | 设置数据库安全区域等级[Rdb_SecurityArea](#rdb_securityarea)。 | 215| [OH_Rdb_Store::id](#id-55) | OH_Rdb_Store结构体的唯一标识符。 | 216| [Rdb_DistributedConfig::version](#version-13) | 用于唯一标识Rdb_DistributedConfig结构的版本。 | 217| [Rdb_DistributedConfig::isAutoSync](#isautosync) | 表示该表是否支持自动同步。 | 218| [Rdb_KeyInfo::count](#count) | 表示发生变化的主键或者行号的数量。 | 219| [Rdb_KeyInfo::type](#type) | 表示主键的类型[OH_ColumnType](#oh_columntype)。 | 220| [Rdb_KeyInfo::Rdb_KeyData::integer](#integer) | 存放uint64_t类型的数据。 | 221| [Rdb_KeyInfo::Rdb_KeyData::real](#real) | 存放double类型的数据。 | 222| [Rdb_KeyInfo::Rdb_KeyData::text](#text) | 存放char \*类型的数据。 | 223| [Rdb_KeyInfo::data](_rdb___key_info.md#成员变量) | 存放变化的具体数据。 | 224| [Rdb_ChangeInfo::version](#version-23) | 用于唯一标识Rdb_DistributedConfig结构的版本。 | 225| [Rdb_ChangeInfo::tableName](#tablename) | 表示发生变化的表的名称。 | 226| [Rdb_ChangeInfo::ChangeType](#changetype) | 表示发生变化的数据的类型,数据或者资产附件发生变化。 | 227| [Rdb_ChangeInfo::inserted](#inserted) | 记录插入数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示插入数据的行号。 | 228| [Rdb_ChangeInfo::updated](#updated) | 记录更新数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示更新数据的行号。 | 229| [Rdb_ChangeInfo::deleted](#deleted) | 记录删除数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示删除数据的行号。 | 230| [Rdb_SubscribeCallback::detailsObserver](#detailsobserver) | 端云数据更改事件的细节的回调函数。 | 231| [Rdb_SubscribeCallback::briefObserver](#briefobserver) | 端云数据更改事件的回调函数。 | 232| [Rdb_DataObserver::context](#context-12) | 表示数据观察者的上下文。 | 233| [Rdb_DataObserver::callback](#callback-12) | 数据观察者的回调。 | 234| [Rdb_Statistic::total](#total) | 表示数据库表中需要端云同步的总行数。 | 235| [Rdb_Statistic::successful](#successful) | 表示数据库表中端云同步成功的行数。 | 236| [Rdb_Statistic::failed](#failed) | 表示数据库表中端云同步失败的行数。 | 237| [Rdb_Statistic::remained](#remained) | 表示数据库表中端云同步剩余未执行的行数。 | 238| [Rdb_TableDetails::table](#table) | 数据库表名。 | 239| [Rdb_TableDetails::upload](#upload) | 表示数据库表中端云同步上传过程的统计信息。 | 240| [Rdb_TableDetails::download](#download) | 表示数据库表中端云同步下载过程的统计信息。 | 241| [Rdb_ProgressDetails::version](#version-33) | 用于唯一标识OH_TableDetails结构的版本。 | 242| [Rdb_ProgressDetails::schedule](#schedule) | 表示端云同步过程。 | 243| [Rdb_ProgressDetails::code](#code) | 表示端云同步过程的状态。 | 244| [Rdb_ProgressDetails::tableLength](#tablelength) | 表示端云同步的表的数量 | 245| [Rdb_ProgressObserver::context](#context-22) | 端云同步进度观察者的上下文。 | 246| [Rdb_ProgressObserver::callback](#callback-22) | 端云同步进度观察者的回调函数。 | 247 248 249## 宏定义说明 250 251 252### DISTRIBUTED_CHANGE_INFO_VERSION 253 254``` 255#define DISTRIBUTED_CHANGE_INFO_VERSION 1 256``` 257 258**描述** 259 260描述[Rdb_ChangeInfo](_rdb___change_info.md)的版本。 261 262**起始版本:** 11 263 264 265### DISTRIBUTED_CONFIG_VERSION 266 267``` 268#define DISTRIBUTED_CONFIG_VERSION 1 269``` 270 271**描述** 272 273描述[Rdb_DistributedConfig](_rdb___distributed_config.md)的版本。 274 275**起始版本:** 11 276 277 278### DISTRIBUTED_PROGRESS_DETAIL_VERSION 279 280``` 281#define DISTRIBUTED_PROGRESS_DETAIL_VERSION 1 282``` 283 284**描述** 285 286描述**OH_ProgressDetails**的版本。 287 288**起始版本:** 11 289 290 291## 类型定义说明 292 293 294### OH_ColumnType 295 296``` 297typedef enum OH_ColumnType OH_ColumnType 298``` 299 300**描述** 301 302数据库字段类型. 303 304**起始版本:** 10 305 306 307### OH_Cursor 308 309``` 310typedef struct OH_Cursor OH_Cursor 311``` 312 313**描述** 314 315表示结果集。 316 317提供通过查询数据库生成的数据库结果集的访问方法。 318 319**起始版本:** 10 320 321 322### OH_OrderType 323 324``` 325typedef enum OH_OrderType OH_OrderType 326``` 327 328**描述** 329 330排序方式。 331 332**起始版本:** 10 333 334 335### OH_Predicates 336 337``` 338typedef struct OH_Predicates OH_Predicates 339``` 340 341**描述** 342 343表示谓词。 344 345**起始版本:** 10 346 347 348### OH_Rdb_ErrCode 349 350``` 351typedef enum OH_Rdb_ErrCode OH_Rdb_ErrCode 352``` 353 354**描述** 355 356表示错误码信息。 357 358**起始版本:** 10 359 360 361### OH_Rdb_SecurityLevel 362 363``` 364typedef enum OH_Rdb_SecurityLevel OH_Rdb_SecurityLevel 365``` 366 367**描述** 368 369数据库的安全级别枚举。 370 371**起始版本:** 10 372 373 374### OH_VBucket 375 376``` 377typedef struct OH_VBucket OH_VBucket 378``` 379 380**描述** 381 382用于存储键值对的类型。 383 384**起始版本:** 10 385 386 387### OH_VObject 388 389``` 390typedef struct OH_VObject OH_VObject 391``` 392 393**描述** 394 395表示允许的数据字段类型。 396 397**起始版本:** 10 398 399 400### Rdb_BriefObserver 401 402``` 403typedef void(* Rdb_BriefObserver) (void *context, const char *values[], uint32_t count) 404``` 405 406**描述** 407 408端云数据更改事件的回调函数。 409 410**起始版本:** 11 411 412**参数:** 413 414| 名称 | 描述 | 415| -------- | -------- | 416| context | 表示数据观察者的上下文。 | 417| values | 表示更改的端云账号。 | 418| count | 表示更改的端云账号数量。 | 419 420 421### Rdb_ChangeInfo 422 423``` 424typedef struct Rdb_ChangeInfo Rdb_ChangeInfo 425``` 426 427**描述** 428 429记录端云同步过程详情。 430 431**起始版本:** 11 432 433 434### Rdb_ChangeType 435 436``` 437typedef enum Rdb_ChangeType Rdb_ChangeType 438``` 439 440**描述** 441 442描述数据变更类型。 443 444**起始版本:** 11 445 446 447### Rdb_DataObserver 448 449``` 450typedef struct Rdb_DataObserver Rdb_DataObserver 451``` 452 453**描述** 454 455表示数据观察者。 456 457**起始版本:** 11 458 459 460### Rdb_DetailsObserver 461 462``` 463typedef void(* Rdb_DetailsObserver) (void *context, const Rdb_ChangeInfo **changeInfo, uint32_t count) 464``` 465 466**描述** 467 468端云数据更改事件的细节的回调函数。 469 470**起始版本:** 11 471 472**参数:** 473 474| 名称 | 描述 | 475| -------- | -------- | 476| context | 表示数据观察者的上下文。 | 477| changeInfo | 表示已更改表的信息[Rdb_ChangeInfo](_rdb___change_info.md)。 | 478| count | 表示更改的表的数量。 | 479 480**参见:** 481 482[Rdb_ChangeInfo](_rdb___change_info.md). 483 484 485### Rdb_DistributedConfig 486 487``` 488typedef struct Rdb_DistributedConfig Rdb_DistributedConfig 489``` 490 491**描述** 492 493记录表的分布式配置信息。 494 495**起始版本:** 11 496 497 498### Rdb_DistributedType 499 500``` 501typedef enum Rdb_DistributedType Rdb_DistributedType 502``` 503 504**描述** 505 506描述表的分布式类型的枚举。 507 508**起始版本:** 11 509 510 511### Rdb_KeyInfo 512 513``` 514typedef struct Rdb_KeyInfo Rdb_KeyInfo 515``` 516 517**描述** 518 519描述发生变化的行的主键或者行号。 520 521**起始版本:** 11 522 523 524### Rdb_Progress 525 526``` 527typedef enum Rdb_Progress Rdb_Progress 528``` 529 530**描述** 531 532描述端云同步过程。 533 534**起始版本:** 11 535 536 537### Rdb_ProgressCallback 538 539``` 540typedef void(* Rdb_ProgressCallback) (void *context, Rdb_ProgressDetails *progressDetails) 541``` 542 543**描述** 544 545端云同步进度的回调函数。 546 547**起始版本:** 11 548 549**参数:** 550 551| 名称 | 描述 | 552| -------- | -------- | 553| progressDetails | 端云同步进度的详细信息。 | 554 555**参见:** 556 557[Rdb_ProgressDetails](_rdb___progress_details.md). 558 559 560### Rdb_ProgressCode 561 562``` 563typedef enum Rdb_ProgressCode Rdb_ProgressCode 564``` 565 566**描述** 567 568表示端云同步过程的状态。 569 570**起始版本:** 11 571 572 573### Rdb_ProgressDetails 574 575``` 576typedef struct Rdb_ProgressDetails Rdb_ProgressDetails 577``` 578 579**描述** 580 581描述数据库整体执行端云同步任务上传和下载的统计信息。 582 583**起始版本:** 11 584 585 586### Rdb_ProgressObserver 587 588``` 589typedef struct Rdb_ProgressObserver Rdb_ProgressObserver 590``` 591 592**描述** 593 594端云同步进度观察者。 595 596**起始版本:** 11 597 598 599### Rdb_SecurityArea 600 601``` 602typedef enum Rdb_SecurityArea Rdb_SecurityArea 603``` 604 605**描述** 606 607描述数据库的安全区域等级。 608 609**起始版本:** 11 610 611 612### Rdb_Statistic 613 614``` 615typedef struct Rdb_Statistic Rdb_Statistic 616``` 617 618**描述** 619 620描述数据库表的端云同步过程的统计信息。 621 622**起始版本:** 11 623 624 625### Rdb_SubscribeCallback 626 627``` 628typedef union Rdb_SubscribeCallback Rdb_SubscribeCallback 629``` 630 631**描述** 632 633表示回调函数。 634 635**起始版本:** 11 636 637 638### Rdb_SubscribeType 639 640``` 641typedef enum Rdb_SubscribeType Rdb_SubscribeType 642``` 643 644**描述** 645 646描述订阅类型。 647 648**起始版本:** 11 649 650 651### Rdb_SyncCallback 652 653``` 654typedef void(* Rdb_SyncCallback) (Rdb_ProgressDetails *progressDetails) 655``` 656 657**描述** 658 659数据库端云同步的回调函数。 660 661**起始版本:** 11 662 663**参数:** 664 665| 名称 | 描述 | 666| -------- | -------- | 667| progressDetails | 数据库端云同步的统计信息。 | 668 669**参见:** 670 671[OH_Rdb_Store](_o_h___rdb___store.md). 672 673 674### Rdb_SyncMode 675 676``` 677typedef enum Rdb_SyncMode Rdb_SyncMode 678``` 679 680**描述** 681 682表示数据库的同步模式 683 684**起始版本:** 11 685 686 687### Rdb_TableDetails 688 689``` 690typedef struct Rdb_TableDetails Rdb_TableDetails 691``` 692 693**描述** 694 695描述数据库表执行端云同步任务上传和下载的统计信息。 696 697**起始版本:** 11 698 699## 枚举类型说明 700 701 702### OH_ColumnType 703 704``` 705enum OH_ColumnType 706``` 707 708**描述** 709 710数据库字段类型。 711 712**起始版本:** 10 713 714| 枚举值 | 描述 | 715| -------- | -------- | 716| TYPE_NULL | 表示NULL类型 | 717| TYPE_INT64 | 表示INT64数据类型 | 718| TYPE_REAL | 表示REAL数据类型 | 719| TYPE_TEXT | 表示TEXT数据类型 | 720| TYPE_BLOB | 表示BLOB数据类型 | 721| TYPE_ASSET<sup>11+</sup> | 表示ASSET(资产附件)数据类型<br/>从API version 11开始支持此枚举。 | 722| TYPE_ASSETS<sup>11+</sup> | ASSETS(多个资产附件)数据类型<br/>从API version 11开始支持此枚举。 | 723 724 725### OH_OrderType 726 727``` 728enum OH_OrderType 729``` 730 731**描述** 732 733排序方式。 734 735**起始版本:** 10 736 737| 枚举值 | 描述 | 738| -------- | -------- | 739| ASC | 升序排列。 | 740| DESC | 降序排列。 | 741 742 743### OH_Rdb_ErrCode 744 745``` 746enum OH_Rdb_ErrCode 747``` 748 749**描述** 750 751表示错误码信息。 752 753**起始版本:** 10 754 755| 枚举值 | 描述 | 756| -------- | -------- | 757| RDB_ERR | 执行出错。 | 758| RDB_OK | 执行成功。 | 759| E_BASE | 异常错误代码的基础。 | 760| RDB_E_NOT_SUPPORTED | RDB不具备该能力。 | 761| RDB_E_ERROR | 常见异常的错误代码。 | 762| RDB_E_INVALID_ARGS | 参数非法。 | 763| RDB_E_CANNOT_UPDATE_READONLY | 更新只读数据库。 | 764| RDB_E_REMOVE_FILE | 删除文件失败。 | 765| RDB_E_EMPTY_TABLE_NAME | 表名为空。 | 766| RDB_E_EMPTY_VALUES_BUCKET | 键值对内容为空。 | 767| RDB_E_EXECUTE_IN_STEP_QUERY | 查询时执行的SQL语句错误。 | 768| RDB_E_INVALID_COLUMN_INDEX | 列索引非法. | 769| RDB_E_INVALID_COLUMN_TYPE | 列类型非法. | 770| RDB_E_EMPTY_FILE_NAME | 文件名称为空。 | 771| RDB_E_INVALID_FILE_PATH | 文件路径非法。 | 772| RDB_E_TRANSACTION_IN_EXECUTE | 开启事务执行出错, | 773| RDB_E_INVALID_STATEMENT | SQL语句预编译出错. | 774| RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION | 在读连接中执行写操作。 | 775| RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION | 在读连接中开启事务。 | 776| RDB_E_NO_TRANSACTION_IN_SESSION | 在数据库会话中不存在开启的事务. | 777| RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION | 在一个数据库会话中执行多次查询。 | 778| RDB_E_NO_ROW_IN_QUERY | 查询得到的结果集不存在任何记录。 | 779| RDB_E_INVALID_BIND_ARGS_COUNT | SQL语句中绑定的参数个数非法。 | 780| RDB_E_INVALID_OBJECT_TYPE | 对象类型非法。 | 781| RDB_E_INVALID_CONFLICT_FLAG | 冲突解决类型非法。 | 782| RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY | HAVING关键字只能用于GROUP BY之后. | 783| RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET | 不支持step形式数据库结果集。 | 784| RDB_E_STEP_RESULT_SET_CROSS_THREADS | 结果集查询出错。 | 785| RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED | 结果集查询语句未被执行。 | 786| RDB_E_STEP_RESULT_IS_AFTER_LAST | 结果集的游标已经处于最后一行。 | 787| RDB_E_STEP_RESULT_QUERY_EXCEEDED | 结果集查询次数已经超过上限。 | 788| RDB_E_STATEMENT_NOT_PREPARED | SQL语句未被预编译。 | 789| RDB_E_EXECUTE_RESULT_INCORRECT | 数据库执行结果异常. | 790| RDB_E_STEP_RESULT_CLOSED | 结果集已经关闭。 | 791| RDB_E_RELATIVE_PATH | 相对路径。 | 792| RDB_E_EMPTY_NEW_ENCRYPT_KEY | 新的密钥文件为空。 | 793| RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED | 将非加密的数据库更改为加密数据库。 | 794| RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY | 在数据库繁忙时更新数据库密钥。 | 795| RDB_E_STEP_STATEMENT_NOT_INIT | 预编译的SQL语句未被初始化。 | 796| RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE | 在WAL日志模式下不支持ATTACH操作。 | 797| RDB_E_CREATE_FOLDER_FAIL | 创建文件夹失败。 | 798| RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL | SQL语句构建失败。 | 799| RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY | 数据库会话暂未提供连接。 | 800| RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION | 数据库会话不具有当前的事务。 | 801| RDB_E_NOT_SUPPORT | 不支持当前操作。 | 802| RDB_E_INVALID_PARCEL | 当前PARCEL非法。 | 803| RDB_E_QUERY_IN_EXECUTE | 执行query查询出错。 | 804| RDB_E_SET_PERSIST_WAL | 设置WAL模式下数据库文件的持久化时出错。 | 805| RDB_E_DB_NOT_EXIST | 数据库不存在。 | 806| RDB_E_ARGS_READ_CON_OVERLOAD | 设置的读连接数大于上限。 | 807| RDB_E_WAL_SIZE_OVER_LIMIT | WAL日志文件大小超过默认值。 | 808| RDB_E_CON_OVER_LIMIT | 数据库连接数已用完。 | 809 810 811### OH_Rdb_SecurityLevel 812 813``` 814enum OH_Rdb_SecurityLevel 815``` 816 817**描述** 818 819数据库的安全级别枚举。 820 821**起始版本:** 10 822 823| 枚举值 | 描述 | 824| -------- | -------- | 825| S1 | S1: 表示数据库的安全级别为低级别。<br/>当数据泄露时会产生较低影响。 | 826| S2 | S2: 表示数据库的安全级别为中级别。<br/>当数据泄露时会产生较大影响。 | 827| S3 | S3: 表示数据库的安全级别为高级别。<br/>当数据泄露时会产生重大影响。 | 828| S4 | S4: 表示数据库的安全级别为关键级别。<br/>当数据泄露时会产生严重影响。 | 829 830 831### Rdb_ChangeType 832 833``` 834enum Rdb_ChangeType 835``` 836 837**描述** 838 839描述数据变更类型。 840 841**起始版本:** 11 842 843| 枚举值 | 描述 | 844| -------- | -------- | 845| RDB_DATA_CHANGE | 表示是数据发生变更。 | 846| RDB_ASSET_CHANGE | 表示是资产附件发生了变更。 | 847 848 849### Rdb_DistributedType 850 851``` 852enum Rdb_DistributedType 853``` 854 855**描述** 856 857描述表的分布式类型的枚举。 858 859**起始版本:** 11 860 861| 枚举值 | 描述 | 862| -------- | -------- | 863| RDB_DISTRIBUTED_CLOUD | 表示在设备和云端之间分布式的数据库表。 | 864 865 866### Rdb_Progress 867 868``` 869enum Rdb_Progress 870``` 871 872**描述** 873 874描述端云同步过程。 875 876**起始版本:** 11 877 878| 枚举值 | 描述 | 879| -------- | -------- | 880| RDB_SYNC_BEGIN | 表示端云同步过程开始。 | 881| RDB_SYNC_IN_PROGRESS | 表示正在端云同步过程中。 | 882| RDB_SYNC_FINISH | 表示端云同步过程已完成。 | 883 884 885### Rdb_ProgressCode 886 887``` 888enum Rdb_ProgressCode 889``` 890 891**描述** 892 893表示端云同步过程的状态。 894 895**起始版本:** 11 896 897| 枚举值 | 描述 | 898| -------- | -------- | 899| RDB_SUCCESS | 表示端云同步过程成功。 | 900| RDB_UNKNOWN_ERROR | 表示端云同步过程遇到未知错误。 | 901| RDB_NETWORK_ERROR | 表示端云同步过程遇到网络错误。 | 902| RDB_CLOUD_DISABLED | 表示云端不可用。 | 903| RDB_LOCKED_BY_OTHERS | 表示有其他设备正在端云同步,本设备无法进行端云同步。 | 904| RDB_RECORD_LIMIT_EXCEEDED | 表示本次端云同步需要同步的条目或大小超出最大值。由云端配置最大值。 | 905| RDB_NO_SPACE_FOR_ASSET | 表示云空间剩余空间小于待同步的资产大小。 | 906 907 908### Rdb_SecurityArea 909 910``` 911enum Rdb_SecurityArea 912``` 913 914**描述** 915 916描述数据库的安全区域等级。 917 918**起始版本:** 11 919 920| 枚举值 | 描述 | 921| -------- | -------- | 922| RDB_SECURITY_AREA_EL1 | 安全区域等级为1。 | 923| RDB_SECURITY_AREA_EL2 | 安全区域等级为2。 | 924| RDB_SECURITY_AREA_EL3 | 安全区域等级为3。 | 925| RDB_SECURITY_AREA_EL4 | 安全区域等级为4。 | 926 927 928### Rdb_SubscribeType 929 930``` 931enum Rdb_SubscribeType 932``` 933 934**描述** 935 936描述订阅类型。 937 938**起始版本:** 11 939 940| 枚举值 | 描述 | 941| -------- | -------- | 942| RDB_SUBSCRIBE_TYPE_CLOUD | 订阅云端数据更改。 | 943| RDB_SUBSCRIBE_TYPE_CLOUD_DETAILS | 订阅云端数据更改详情。 | 944| RDB_SUBSCRIBE_TYPE_LOCAL_DETAILS<sup>12+</sup> | 订阅本地数据更改详情。从API version 12开始支持此枚举。 | 945 946 947### Rdb_SyncMode 948 949``` 950enum Rdb_SyncMode 951``` 952 953**描述** 954 955表示数据库的同步模式 956 957**起始版本:** 11 958 959| 枚举值 | 描述 | 960| -------- | -------- | 961| RDB_SYNC_MODE_TIME_FIRST | 表示数据从修改时间较近的一端同步到修改时间较远的一端。 | 962| RDB_SYNC_MODE_NATIVE_FIRST | 表示数据从本地设备同步到云端。 | 963| RDB_SYNC_MODE_CLOUD_FIRST | 表示数据从云端同步到本地设备。 | 964 965 966## 函数说明 967 968 969### OH_Rdb_Backup() 970 971``` 972int OH_Rdb_Backup (OH_Rdb_Store *store, const char *databasePath ) 973``` 974 975**描述** 976 977以指定路径备份数据库。 978 979**起始版本:** 10 980 981**参数:** 982 983| 名称 | 描述 | 984| -------- | -------- | 985| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 986| databasePath | 指定数据库的备份文件路径。 | 987 988**返回:** 989 990返回操作是否成功,出错时返回对应的错误码。 991 992**参见:** 993 994[OH_Rdb_Store](_o_h___rdb___store.md). 995 996 997### OH_Rdb_BeginTransaction() 998 999``` 1000int OH_Rdb_BeginTransaction (OH_Rdb_Store *store) 1001``` 1002 1003**描述** 1004 1005在开始执行SQL语句之前,开始事务。 1006 1007**起始版本:** 10 1008 1009**参数:** 1010 1011| 名称 | 描述 | 1012| -------- | -------- | 1013| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1014 1015**返回:** 1016 1017返回操作是否成功,出错时返回对应的错误码。 1018 1019**参见:** 1020 1021[OH_Rdb_Store](_o_h___rdb___store.md). 1022 1023 1024### OH_Rdb_CloseStore() 1025 1026``` 1027int OH_Rdb_CloseStore (OH_Rdb_Store *store) 1028``` 1029 1030**描述** 1031 1032销毁[OH_Rdb_Store](_o_h___rdb___store.md)对象,并回收该对象占用的内存。 1033 1034**起始版本:** 10 1035 1036**参数:** 1037 1038| 名称 | 描述 | 1039| -------- | -------- | 1040| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1041 1042**返回:** 1043 1044返回操作是否成功,出错时返回对应的错误码。 1045 1046**参见:** 1047 1048[OH_Rdb_Store](_o_h___rdb___store.md). 1049 1050 1051### OH_Rdb_CloudSync() 1052 1053``` 1054int OH_Rdb_CloudSync (OH_Rdb_Store *store, Rdb_SyncMode mode, const char *tables, int count, const Rdb_ProgressObserver *observer ) 1055``` 1056 1057**描述** 1058 1059进行端云同步。 1060 1061**起始版本:** 11 1062 1063**参数:** 1064 1065| 名称 | 描述 | 1066| -------- | -------- | 1067| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1068| mode | 表示同步过程的类型[Rdb_SyncMode](#rdb_syncmode). | 1069| tables | 表示需要同步的表名。 | 1070| count | 同步的表的数量,如果传入的值为0,同步数据库的所有表。 | 1071| observer | 端云同步进度的观察者[Rdb_ProgressObserver](_rdb___progress_observer.md)。 | 1072 1073**返回:** 1074 1075返回操作是否成功,出错时返回对应的错误码。 1076 1077**参见:** 1078 1079[OH_Rdb_Store](_o_h___rdb___store.md). 1080 1081 1082### OH_Rdb_Commit() 1083 1084``` 1085int OH_Rdb_Commit (OH_Rdb_Store *store) 1086``` 1087 1088**描述** 1089 1090提交已执行的SQL语句 1091 1092**起始版本:** 10 1093 1094**参数:** 1095 1096| 名称 | 描述 | 1097| -------- | -------- | 1098| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1099 1100**返回:** 1101 1102返回操作是否成功,出错时返回对应的错误码。 1103 1104**参见:** 1105 1106[OH_Rdb_Store](_o_h___rdb___store.md). 1107 1108 1109### OH_Rdb_CreatePredicates() 1110 1111``` 1112OH_Predicates* OH_Rdb_CreatePredicates (const char *table) 1113``` 1114 1115**描述** 1116 1117创建[OH_Predicates](_o_h___predicates.md)实例。 1118 1119**起始版本:** 10 1120 1121**参数:** 1122 1123| 名称 | 描述 | 1124| -------- | -------- | 1125| table | 表示数据库表名。 | 1126 1127**返回:** 1128 1129创建成功则返回一个指向[OH_Predicates](_o_h___predicates.md)结构体实例的指针,否则返回NULL。 1130 1131**参见:** 1132 1133[OH_Predicates](_o_h___predicates.md). 1134 1135 1136### OH_Rdb_CreateValueObject() 1137 1138``` 1139OH_VObject* OH_Rdb_CreateValueObject () 1140``` 1141 1142**描述** 1143 1144创建[OH_VObject](_o_h___v_object.md)实例。 1145 1146**起始版本:** 10 1147 1148**返回:** 1149 1150创建成功则返回一个指向[OH_VObject](_o_h___v_object.md)结构体实例的指针,否则返回NULL。 1151 1152**参见:** 1153 1154[OH_VObject](_o_h___v_object.md). 1155 1156 1157### OH_Rdb_CreateValuesBucket() 1158 1159``` 1160OH_VBucket* OH_Rdb_CreateValuesBucket () 1161``` 1162 1163**描述** 1164 1165创建[OH_VBucket](_o_h___v_bucket.md)实例。 1166 1167**起始版本:** 10 1168 1169**返回:** 1170 1171创建成功则返回一个指向[OH_VBucket](_o_h___v_bucket.md)结构体实例的指针,否则返回NULL。 1172 1173**参见:** 1174 1175[OH_VBucket](_o_h___v_bucket.md). 1176 1177 1178### OH_Rdb_Delete() 1179 1180``` 1181int OH_Rdb_Delete (OH_Rdb_Store *store, OH_Predicates *predicates ) 1182``` 1183 1184**描述** 1185 1186根据指定的条件删除数据库中的数据。 1187 1188**起始版本:** 10 1189 1190**参数:** 1191 1192| 名称 | 描述 | 1193| -------- | -------- | 1194| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1195| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定删除条件。 | 1196 1197**返回:** 1198 1199如果更新成功,返回受影响的行数,否则返回特定的错误码。 1200 1201**参见:** 1202 1203[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md). 1204 1205 1206### OH_Rdb_DeleteStore() 1207 1208``` 1209int OH_Rdb_DeleteStore (const OH_Rdb_Config *config) 1210``` 1211 1212**描述** 1213 1214使用指定的数据库文件配置删除数据库。 1215 1216**起始版本:** 10 1217 1218**参数:** 1219 1220| 名称 | 描述 | 1221| -------- | -------- | 1222| config | 表示数据库的配置。 | 1223 1224**返回:** 1225 1226返回操作是否成功,出错时返回对应的错误码。 1227 1228 1229### OH_Rdb_Execute() 1230 1231``` 1232int OH_Rdb_Execute (OH_Rdb_Store *store, const char *sql ) 1233``` 1234 1235**描述** 1236 1237执行无返回值的SQL语句。 1238 1239**起始版本:** 10 1240 1241**参数:** 1242 1243| 名称 | 描述 | 1244| -------- | -------- | 1245| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1246| sql | 指定要执行的SQL语句。 | 1247 1248**返回:** 1249 1250返回操作是否成功,出错时返回对应的错误码。 1251 1252**参见:** 1253 1254[OH_Rdb_Store](_o_h___rdb___store.md). 1255 1256 1257### OH_Rdb_ExecuteQuery() 1258 1259``` 1260OH_Cursor* OH_Rdb_ExecuteQuery (OH_Rdb_Store *store, const char *sql ) 1261``` 1262 1263**描述** 1264 1265根据指定SQL语句查询数据库中的数据。 1266 1267**起始版本:** 10 1268 1269**参数:** 1270 1271| 名称 | 描述 | 1272| -------- | -------- | 1273| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1274| sql | 指定要执行的SQL语句。 | 1275 1276**返回:** 1277 1278如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。 1279 1280**参见:** 1281 1282[OH_Rdb_Store](_o_h___rdb___store.md). 1283 1284 1285### OH_Rdb_FindModifyTime() 1286 1287``` 1288OH_Cursor* OH_Rdb_FindModifyTime (OH_Rdb_Store *store, const char *tableName, const char *columnName, OH_VObject *values ) 1289``` 1290 1291**描述** 1292 1293获取数据库表中数据的最后修改时间。 1294 1295**起始版本:** 11 1296 1297**参数:** 1298 1299| 名称 | 描述 | 1300| -------- | -------- | 1301| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1302| tableName | 要查找的分布式数据库表表名。 | 1303| columnName | 指定要查询的数据库表的列名。 | 1304| values | 指定要查询的行的主键。如果数据库表无主键,参数columnName需传入"rowid",此时values为要查询的数据库表的行号。 | 1305 1306**返回:** 1307 1308返回操作是否成功,出错时返回对应的错误码。 1309 1310**参见:** 1311 1312[OH_Rdb_Store](_o_h___rdb___store.md). 1313 1314 1315### OH_Rdb_GetOrOpen() 1316 1317``` 1318OH_Rdb_Store* OH_Rdb_GetOrOpen (const OH_Rdb_Config *config, int *errCode ) 1319``` 1320 1321**描述** 1322 1323获得一个相关的[OH_Rdb_Store](_o_h___rdb___store.md)实例,操作关系型数据库。 1324 1325**起始版本:** 10 1326 1327**参数:** 1328 1329| 名称 | 描述 | 1330| -------- | -------- | 1331| config | 表示指向[OH_Rdb_Config](_o_h___rdb___config.md)实例的指针,与此RDB存储相关的数据库配置。 | 1332| errCode | 该参数是输出参数,函数执行状态写入该变量。 | 1333 1334**返回:** 1335 1336创建成功则返回一个指向[OH_Rdb_Store](_o_h___rdb___store.md)结构体实例的指针,否则返回NULL。 1337 1338**参见:** 1339 1340[OH_Rdb_Config](_o_h___rdb___config.md), [OH_Rdb_Store](_o_h___rdb___store.md). 1341 1342 1343### OH_Rdb_GetTableDetails() 1344 1345``` 1346Rdb_TableDetails* OH_Rdb_GetTableDetails (Rdb_ProgressDetails *progress, int32_t version ) 1347``` 1348 1349**描述** 1350 1351从端云同步任务的统计信息中获取数据库表的统计信息。 1352 1353**起始版本:** 11 1354 1355**参数:** 1356 1357| 名称 | 描述 | 1358| -------- | -------- | 1359| progress | 表示指向**OH_ProgressDetails**实例的指针。 | 1360| version | 表示当前[Rdb_ProgressDetails](_rdb___progress_details.md)的版本。 | 1361 1362**返回:** 1363 1364如果操作成功,会返回一个[Rdb_TableDetails](_rdb___table_details.md)结构体的指针,否则返回NULL。 1365 1366**参见:** 1367 1368[Rdb_ProgressDetails](_rdb___progress_details.md) 1369 1370[Rdb_TableDetails](_rdb___table_details.md) 1371 1372 1373### OH_Rdb_GetVersion() 1374 1375``` 1376int OH_Rdb_GetVersion (OH_Rdb_Store *store, int *version ) 1377``` 1378 1379**描述** 1380 1381获取数据库版本。 1382 1383**起始版本:** 10 1384 1385**参数:** 1386 1387| 名称 | 描述 | 1388| -------- | -------- | 1389| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1390| version | 该参数是输出参数, 表示版本号。 | 1391 1392**返回:** 1393 1394返回操作是否成功,出错时返回对应的错误码。 1395 1396**参见:** 1397 1398[OH_Rdb_Store](_o_h___rdb___store.md). 1399 1400 1401### OH_Rdb_Insert() 1402 1403``` 1404int OH_Rdb_Insert (OH_Rdb_Store *store, const char *table, OH_VBucket *valuesBucket ) 1405``` 1406 1407**描述** 1408 1409向目标表中插入一行数据。 1410 1411**起始版本:** 10 1412 1413**参数:** 1414 1415| 名称 | 描述 | 1416| -------- | -------- | 1417| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1418| table | 表示指定的目标表名。 | 1419| valuesBucket | 表示要插入到表中的数据行[OH_VBucket](_o_h___v_bucket.md)。 | 1420 1421**返回:** 1422 1423如果插入成功,返回行ID。否则返回特定的错误码。 1424 1425**参见:** 1426 1427[OH_Rdb_Store](_o_h___rdb___store.md), [OH_VBucket](_o_h___v_bucket.md). 1428 1429### OH_Rdb_LockRow() 1430 1431``` 1432int OH_Rdb_LockRow (OH_Rdb_Store *store, OH_Predicates *predicates ) 1433``` 1434 1435**描述** 1436 1437根据指定的条件锁定数据库中的数据,锁定数据不执行端云同步。 1438 1439**起始版本:** 12 1440 1441**参数:** 1442 1443| 名称 | 描述 | 1444| -------- | -------- | 1445| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1446| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定锁定条件。 | 1447 1448**返回:** 1449 1450返回锁定结果。 1451 1452**参见:** 1453 1454[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md). 1455 1456### OH_Rdb_Query() 1457 1458``` 1459OH_Cursor* OH_Rdb_Query (OH_Rdb_Store *store, OH_Predicates *predicates, const char *const *columnNames, int length ) 1460``` 1461 1462**描述** 1463 1464根据指定条件查询数据库中的数据 1465 1466**起始版本:** 10 1467 1468**参数:** 1469 1470| 名称 | 描述 | 1471| -------- | -------- | 1472| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1473| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定查询条件。 | 1474| columnNames | 表示要查询的列。如果值为空,则查询应用于所有列。 | 1475| length | 表示columnNames数组的长度。若length大于columnNames数组的实际长度,则会访问越界。 | 1476 1477**返回:** 1478 1479如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。 1480 1481**参见:** 1482 1483[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md), [OH_Cursor](_o_h___cursor.md). 1484 1485### OH_Rdb_QueryLockedRow() 1486 1487``` 1488OH_Cursor *OH_Rdb_QueryLockedRow (OH_Rdb_Store *store, OH_Predicates *predicates, const char *const *columnNames, int length ) 1489``` 1490 1491**描述** 1492 1493根据指定条件查询数据库中锁定的数据。 1494 1495**起始版本:** 12 1496 1497**参数:** 1498 1499| 名称 | 描述 | 1500| -------- | -------- | 1501| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1502| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定查询条件。 | 1503| columnNames | 表示要查询的列。如果值为空,则查询应用于所有列。 | 1504| length | 表示columnNames数组的长度。若length大于columnNames数组的实际长度,则会访问越界。 | 1505 1506**返回:** 1507 1508如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。 1509 1510**参见:** 1511 1512[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md), [OH_Cursor](_o_h___cursor.md). 1513 1514### OH_Rdb_Restore() 1515 1516``` 1517int OH_Rdb_Restore (OH_Rdb_Store *store, const char *databasePath ) 1518``` 1519 1520**描述** 1521 1522从指定的数据库备份文件恢复数据库。 1523 1524**起始版本:** 10 1525 1526**参数:** 1527 1528| 名称 | 描述 | 1529| -------- | -------- | 1530| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1531| databasePath | 指定数据库的备份文件路径。 | 1532 1533**返回:** 1534 1535返回操作是否成功,出错时返回对应的错误码。 1536 1537**参见:** 1538 1539[OH_Rdb_Store](_o_h___rdb___store.md). 1540 1541 1542### OH_Rdb_RollBack() 1543 1544``` 1545int OH_Rdb_RollBack (OH_Rdb_Store *store) 1546``` 1547 1548**描述** 1549 1550回滚已经执行的SQL语句。 1551 1552**起始版本:** 10 1553 1554**参数:** 1555 1556| 名称 | 描述 | 1557| -------- | -------- | 1558| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1559 1560**返回:** 1561 1562返回操作是否成功,出错时返回对应的错误码。 1563 1564**参见:** 1565 1566[OH_Rdb_Store](_o_h___rdb___store.md). 1567 1568 1569### OH_Rdb_SetDistributedTables() 1570 1571``` 1572int OH_Rdb_SetDistributedTables (OH_Rdb_Store *store, const char *tables[], uint32_t count, Rdb_DistributedType type, const Rdb_DistributedConfig * config ) 1573``` 1574 1575**描述** 1576 1577设置分布式数据库表。 1578 1579**起始版本:** 11 1580 1581**参数:** 1582 1583| 名称 | 描述 | 1584| -------- | -------- | 1585| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1586| tables | 要设置的分布式数据库表表名。 | 1587| count | 要设置的分布式数据库表的数量。 | 1588| type | 表的分布式类型 [Rdb_DistributedType](#rdb_distributedtype)。 | 1589| config | 表的分布式配置信息。[Rdb_DistributedConfig](_rdb___distributed_config.md)。 | 1590 1591**返回:** 1592 1593返回操作是否成功,出错时返回对应的错误码。 1594 1595**参见:** 1596 1597[OH_Rdb_Store](_o_h___rdb___store.md). 1598 1599 1600### OH_Rdb_SetVersion() 1601 1602``` 1603int OH_Rdb_SetVersion (OH_Rdb_Store *store, int version ) 1604``` 1605 1606**描述** 1607 1608设置数据库版本。 1609 1610**起始版本:** 10 1611 1612**参数:** 1613 1614| 名称 | 描述 | 1615| -------- | -------- | 1616| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1617| version | 表示版本号。 | 1618 1619**返回:** 1620 1621返回操作是否成功,出错时返回对应的错误码。 1622 1623**参见:** 1624 1625[OH_Rdb_Store](_o_h___rdb___store.md). 1626 1627 1628### OH_Rdb_Subscribe() 1629 1630``` 1631int OH_Rdb_Subscribe (OH_Rdb_Store *store, Rdb_SubscribeType type, const Rdb_DataObserver *observer ) 1632``` 1633 1634**描述** 1635 1636为数据库注册观察者。当分布式数据库中的数据发生更改时,将调用回调。 1637 1638**起始版本:** 11 1639 1640**参数:** 1641 1642| 名称 | 描述 | 1643| -------- | -------- | 1644| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1645| type | 表示在[Rdb_SubscribeType](#rdb_subscribetype)中定义的订阅类型。 | 1646| observer | 数据库中更改事件的观察者[Rdb_DataObserver](_rdb___data_observer.md)。 | 1647 1648**返回:** 1649 1650返回操作是否成功,出错时返回对应的错误码。 1651 1652**参见:** 1653 1654[OH_Rdb_Store](_o_h___rdb___store.md). 1655 1656[Rdb_DataObserver](_rdb___data_observer.md). 1657 1658 1659### OH_Rdb_SubscribeAutoSyncProgress() 1660 1661``` 1662int OH_Rdb_SubscribeAutoSyncProgress (OH_Rdb_Store *store, const Rdb_ProgressObserver *observer ) 1663``` 1664 1665**描述** 1666 1667订阅RDB存储的自动同步进度。 当收到自动同步进度的通知时,将调用回调。 1668 1669**起始版本:** 11 1670 1671**参数:** 1672 1673| 名称 | 描述 | 1674| -------- | -------- | 1675| store | 表示指向目标[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1676| observer | 用于自动同步进度的观察者[Rdb_ProgressObserver](_rdb___progress_observer.md)。表示调用返回自动同步进度的回调。 | 1677 1678**返回:** 1679 1680返回操作是否成功,出错时返回对应的错误码。 1681 1682**参见:** 1683 1684[OH_Rdb_Store](_o_h___rdb___store.md). 1685 1686[Rdb_ProgressObserver](_rdb___progress_observer.md). 1687 1688### OH_Rdb_UnlockRow() 1689 1690``` 1691int OH_Rdb_UnlockRow (OH_Rdb_Store *store, OH_Predicates *predicates ) 1692``` 1693 1694**描述** 1695 1696根据指定的条件锁解锁数据库中的数据。 1697 1698**起始版本:** 12 1699 1700**参数:** 1701 1702| 名称 | 描述 | 1703| -------- | -------- | 1704| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1705| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定解锁条件。 | 1706 1707**返回:** 1708 1709返回解锁结果。 1710 1711**参见:** 1712 1713[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md). 1714 1715### OH_Rdb_Unsubscribe() 1716 1717``` 1718int OH_Rdb_Unsubscribe (OH_Rdb_Store *store, Rdb_SubscribeType type, const Rdb_DataObserver *observer ) 1719``` 1720 1721**描述** 1722 1723从数据库中删除指定类型的指定观察者。 1724 1725**起始版本:** 11 1726 1727**参数:** 1728 1729| 名称 | 描述 | 1730| -------- | -------- | 1731| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针. | 1732| type | 表示在[Rdb_SubscribeType](#rdb_subscribetype)中定义的订阅类型。 | 1733| observer | 数据库中更改事件的观察者[Rdb_DataObserver](_rdb___data_observer.md)。如果这是nullptr,表示删除该类型的所有观察者。 | 1734 1735**返回:** 1736 1737返回操作是否成功,出错时返回对应的错误码。 1738 1739**参见:** 1740 1741[OH_Rdb_Store](_o_h___rdb___store.md). 1742 1743[Rdb_DataObserver](_rdb___data_observer.md). 1744 1745 1746### OH_Rdb_UnsubscribeAutoSyncProgress() 1747 1748``` 1749int OH_Rdb_UnsubscribeAutoSyncProgress (OH_Rdb_Store *store, const Rdb_ProgressObserver *observer ) 1750``` 1751 1752**描述** 1753 1754取消订阅RDB存储的自动同步进程。 1755 1756**起始版本:** 11 1757 1758**参数:** 1759 1760| 名称 | 描述 | 1761| -------- | -------- | 1762| store | 表示指向目标[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1763| observer | 表示自动同步进度的观察者[Rdb_ProgressObserver](_rdb___progress_observer.md)。如果是空指针,则自动同步进程的所有回调都将被取消注册。 | 1764 1765**返回:** 1766 1767返回操作是否成功,出错时返回对应的错误码。 1768 1769**参见:** 1770 1771[OH_Rdb_Store](_o_h___rdb___store.md). 1772 1773[Rdb_ProgressObserver](_rdb___progress_observer.md). 1774 1775 1776### OH_Rdb_Update() 1777 1778``` 1779int OH_Rdb_Update (OH_Rdb_Store *store, OH_VBucket *valuesBucket, OH_Predicates *predicates ) 1780``` 1781 1782**描述** 1783 1784根据指定的条件更新数据库中的数据。 1785 1786**起始版本:** 10 1787 1788**参数:** 1789 1790| 名称 | 描述 | 1791| -------- | -------- | 1792| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1793| valuesBucket | 表示要更新到表中的数据行[OH_VBucket](_o_h___v_bucket.md)。 | 1794| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定更新条件。 | 1795 1796**返回:** 1797 1798如果更新成功,返回受影响的行数,否则返回特定的错误码。 1799 1800**参见:** 1801 1802[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Bucket](_o_h___v_bucket.md), [OH_Predicates](_o_h___predicates.md). 1803 1804 1805### OH_VBucket_PutAsset() 1806 1807``` 1808int OH_VBucket_PutAsset (OH_VBucket *bucket, const char *field, OH_Asset *value ) 1809``` 1810 1811**描述** 1812 1813将**OH_Asset** 类型的对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中. 1814 1815**起始版本:** 11 1816 1817**参数:** 1818 1819| 名称 | 描述 | 1820| -------- | -------- | 1821| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 1822| field | 数据库表中的列名。 | 1823| value | 数据库表中指定列名对应的值。 | 1824 1825**返回:** 1826 1827返回操作是否成功,出错时返回对应的错误码。 1828 1829**参见:** 1830 1831[OH_VBucket](_o_h___v_bucket.md). 1832 1833 1834### OH_VBucket_PutAssets() 1835 1836``` 1837int OH_VBucket_PutAssets (OH_VBucket *bucket, const char *field, OH_Asset **value, int count ) 1838``` 1839 1840**描述** 1841 1842将**OH_Asset** 类型的对象数组放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中. 1843 1844**起始版本:** 11 1845 1846**参数:** 1847 1848| 名称 | 描述 | 1849| -------- | -------- | 1850| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 1851| field | 数据库表中的列名。 | 1852| value | 数据库表中指定列名对应的值。 | 1853| count | 表示传入的**OH_Asset**对象数组元素的个数. | 1854 1855**返回:** 1856 1857返回操作是否成功,出错时返回对应的错误码。 1858 1859**参见:** 1860 1861[OH_VBucket](_o_h___v_bucket.md). 1862 1863## 变量说明 1864 1865 1866### andOperate 1867 1868``` 1869OH_Predicates *(*andOperate) (OH_Predicates *predicates) 1870``` 1871 1872**描述** 1873 1874函数指针,向谓词添加和条件。 1875 1876该方法等同于SQL语句中的“AND”。 1877 1878**起始版本:** 10 1879 1880**参数:** 1881 1882| 名称 | 描述 | 1883| -------- | -------- | 1884| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 1885 1886**返回:** 1887 1888返回带有和条件的谓词。 1889 1890**参见:** 1891 1892[OH_Predicates](_o_h___predicates.md). 1893 1894 1895### area 1896 1897``` 1898int OH_Rdb_Config::area 1899``` 1900 1901**描述** 1902 1903设置数据库安全区域等级[Rdb_SecurityArea](#rdb_securityarea)。 1904 1905**起始版本:** 11 1906 1907 1908### beginWrap 1909 1910``` 1911OH_Predicates *(*beginWrap) (OH_Predicates *predicates) 1912``` 1913 1914**描述** 1915 1916函数指针,向谓词添加左括号。 1917 1918该方法等同于SQL语句中的“(”。 1919 1920**起始版本:** 10 1921 1922**参数:** 1923 1924| 名称 | 描述 | 1925| -------- | -------- | 1926| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 1927 1928**返回:** 1929 1930返回带有左括号的谓词。 1931 1932**参见:** 1933 1934[OH_Predicates](_o_h___predicates.md). 1935 1936 1937### between 1938 1939``` 1940OH_Predicates *(*between) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 1941``` 1942 1943**描述** 1944 1945函数指针,将谓词配置为匹配数据字段为field且其值在给定范围内的指定字段。 1946 1947该方法等同于SQL语句中的“BETWEEN”。 1948 1949**起始版本:** 10 1950 1951**参数:** 1952 1953| 名称 | 描述 | 1954| -------- | -------- | 1955| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 1956| field | 数据库表中的列名。 | 1957| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 1958 1959**返回:** 1960 1961返回与指定字段匹配的谓词。 1962 1963**参见:** 1964 1965[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 1966 1967 1968### briefObserver 1969 1970``` 1971Rdb_BriefObserver Rdb_SubscribeCallback::briefObserver 1972``` 1973 1974**描述** 1975 1976端云数据更改事件的回调函数。 1977 1978 1979### bundleName 1980 1981``` 1982const char* OH_Rdb_Config::bundleName 1983``` 1984 1985**描述** 1986 1987应用包名。 1988 1989 1990### callback [1/2] 1991 1992``` 1993Rdb_SubscribeCallback Rdb_DataObserver::callback 1994``` 1995 1996**描述** 1997 1998数据观察者的回调。 1999 2000 2001### callback [2/2] 2002 2003``` 2004Rdb_ProgressCallback Rdb_ProgressObserver::callback 2005``` 2006 2007**描述** 2008 2009端云同步进度观察者的回调函数。 2010 2011 2012### capability 2013 2014``` 2015uint16_t OH_VBucket::capability 2016``` 2017 2018**描述** 2019 2020表示结构体的存储键值对的数量 2021 2022 2023### ChangeType 2024 2025``` 2026int Rdb_ChangeInfo::ChangeType 2027``` 2028 2029**描述** 2030 2031表示发生变化的数据的类型,数据或者资产附件发生变化。 2032 2033 2034### clear [1/2] 2035 2036``` 2037OH_Predicates *(*clear) (OH_Predicates *predicates) 2038``` 2039 2040**描述** 2041 2042函数指针,清空谓词。 2043 2044**起始版本:** 10 2045 2046**参数:** 2047 2048| 名称 | 描述 | 2049| -------- | -------- | 2050| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2051 2052**返回:** 2053 2054返回清空后的谓词 2055 2056**参见:** 2057 2058[OH_Predicates](_o_h___predicates.md). 2059 2060 2061### clear [2/2] 2062 2063``` 2064int(*clear) (OH_VBucket *bucket) 2065``` 2066 2067**描述** 2068 2069清空[OH_VBucket](_o_h___v_bucket.md)对象。 2070 2071**起始版本:** 10 2072 2073**参数:** 2074 2075| 名称 | 描述 | 2076| -------- | -------- | 2077| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 2078 2079**返回:** 2080 2081返回操作是否成功,出错时返回对应的错误码。 2082 2083**参见:** 2084 2085[OH_VBucket](_o_h___v_bucket.md). 2086 2087 2088### code 2089 2090``` 2091int Rdb_ProgressDetails::code 2092``` 2093 2094**描述** 2095 2096表示端云同步过程的状态。 2097 2098 2099### context [1/2] 2100 2101``` 2102void* Rdb_DataObserver::context 2103``` 2104 2105**描述** 2106 2107表示数据观察者的上下文。 2108 2109 2110### context [2/2] 2111 2112``` 2113void* Rdb_ProgressObserver::context 2114``` 2115 2116**描述** 2117 2118端云同步进度观察者的上下文。 2119 2120 2121### count 2122 2123``` 2124int Rdb_KeyInfo::count 2125``` 2126 2127**描述** 2128 2129表示发生变化的主键或者行号的数量。 2130 2131 2132### dataBaseDir 2133 2134``` 2135const char* OH_Rdb_Config::dataBaseDir 2136``` 2137 2138**描述** 2139 2140数据库文件路径。 2141 2142 2143### deleted 2144 2145``` 2146Rdb_KeyInfo Rdb_ChangeInfo::deleted 2147``` 2148 2149**描述** 2150 2151记录删除数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示删除数据的行号。 2152 2153 2154### destroy [1/4] 2155 2156``` 2157int(*destroy) (OH_Cursor *cursor) 2158``` 2159 2160**描述** 2161 2162函数指针,关闭结果集。 2163 2164**起始版本:** 10 2165 2166**参数:** 2167 2168| 名称 | 描述 | 2169| -------- | -------- | 2170| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2171 2172**返回:** 2173 2174返回操作是否成功,出错时返回对应的错误码。 2175 2176**参见:** 2177 2178[OH_Cursor](_o_h___cursor.md). 2179 2180 2181### destroy [2/4] 2182 2183``` 2184int(*destroy) (OH_Predicates *predicates) 2185``` 2186 2187**描述** 2188 2189销毁[OH_Predicates](_o_h___predicates.md)对象,并回收该对象占用的内存。 2190 2191**起始版本:** 10 2192 2193**参数:** 2194 2195| 名称 | 描述 | 2196| -------- | -------- | 2197| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2198 2199**返回:** 2200 2201返回操作是否成功,出错时返回对应的错误码。 2202 2203**参见:** 2204 2205[OH_Predicates](_o_h___predicates.md). 2206 2207 2208### destroy [3/4] 2209 2210``` 2211int(*destroy) (OH_VBucket *bucket) 2212``` 2213 2214**描述** 2215 2216销毁[OH_VBucket](_o_h___v_bucket.md)对象,并回收该对象占用的内存。 2217 2218**起始版本:** 10 2219 2220**参数:** 2221 2222| 名称 | 描述 | 2223| -------- | -------- | 2224| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 2225 2226**返回:** 2227 2228返回操作是否成功,出错时返回对应的错误码。 2229 2230**参见:** 2231 2232[OH_VBucket](_o_h___v_bucket.md). 2233 2234 2235### destroy [4/4] 2236 2237``` 2238int(*destroy) (OH_VObject *valueObject) 2239``` 2240 2241**描述** 2242 2243销毁[OH_VObject](_o_h___v_object.md)对象,并回收该对象占用的内存。 2244 2245**起始版本:** 10 2246 2247**参数:** 2248 2249| 名称 | 描述 | 2250| -------- | -------- | 2251| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 2252 2253**返回:** 2254 2255返回操作是否成功,出错时返回对应的错误码。 2256 2257**参见:** 2258 2259[OH_VObject](_o_h___v_object.md). 2260 2261 2262### detailsObserver 2263 2264``` 2265Rdb_DetailsObserver Rdb_SubscribeCallback::detailsObserver 2266``` 2267 2268**描述** 2269 2270端云数据更改事件的细节的回调函数。 2271 2272 2273### distinct 2274 2275``` 2276OH_Predicates *(*distinct) (OH_Predicates *predicates) 2277``` 2278 2279**描述** 2280 2281函数指针,配置谓词以过滤重复记录并仅保留其中一个。 2282 2283该方法等同于SQL语句中的“DISTINCT”。 2284 2285**起始版本:** 10 2286 2287**参数:** 2288 2289| 名称 | 描述 | 2290| -------- | -------- | 2291| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2292 2293**返回:** 2294 2295返回可用于过滤重复记录的谓词。 2296 2297**参见:** 2298 2299[OH_Predicates](_o_h___predicates.md). 2300 2301 2302### download 2303 2304``` 2305Rdb_Statistic Rdb_TableDetails::download 2306``` 2307 2308**描述** 2309 2310表示数据库表中端云同步下载过程的统计信息。 2311 2312 2313### endWrap 2314 2315``` 2316OH_Predicates *(*endWrap) (OH_Predicates *predicates) 2317``` 2318 2319**描述** 2320 2321函数指针,向谓词添加右括号。 2322 2323该方法等同于SQL语句中的“)”。 2324 2325**起始版本:** 10 2326 2327**参数:** 2328 2329| 名称 | 描述 | 2330| -------- | -------- | 2331| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2332 2333**返回:** 2334 2335返回带有右括号的谓词。 2336 2337**参见:** 2338 2339[OH_Predicates](_o_h___predicates.md). 2340 2341 2342### equalTo 2343 2344``` 2345OH_Predicates *(*equalTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 2346``` 2347 2348**描述** 2349 2350函数指针,配置谓词以匹配数据字段等于指定值的字段。 2351 2352该方法等同于SQL语句中的“=”。 2353 2354**起始版本:** 10 2355 2356**参数:** 2357 2358| 名称 | 描述 | 2359| -------- | -------- | 2360| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2361| field | 数据库表中的列名 | 2362| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 2363 2364**返回:** 2365 2366返回与指定字段匹配的谓词。 2367 2368**参见:** 2369 2370[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 2371 2372 2373### failed 2374 2375``` 2376int Rdb_Statistic::failed 2377``` 2378 2379**描述** 2380 2381表示数据库表中端云同步失败的行数。 2382 2383 2384### getAsset 2385 2386``` 2387int(*getAsset) (OH_Cursor *cursor, int32_t columnIndex, Data_Asset *value) 2388``` 2389 2390**描述** 2391 2392函数指针,以资产的形式获取当前行中指定列的值。 2393 2394**起始版本:** 11 2395 2396**参数:** 2397 2398| 名称 | 描述 | 2399| -------- | -------- | 2400| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2401| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2402| value | 该参数是输出参数,结果集中指定列的值会以资产形式写入该变量。 | 2403 2404**返回:** 2405 2406返回操作是否成功,出错时返回对应的错误码。 2407 2408**参见:** 2409 2410[OH_Cursor](_o_h___cursor.md). 2411 2412 2413### getAssets 2414 2415``` 2416int(*getAssets) (OH_Cursor *cursor, int32_t columnIndex, Data_Asset **value, uint32_t length) 2417``` 2418 2419**描述** 2420 2421函数指针,以资产数组的形式获取当前行中指定列的值。 2422 2423**起始版本:** 11 2424 2425**参数:** 2426 2427| 名称 | 描述 | 2428| -------- | -------- | 2429| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2430| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2431| value | 该参数是输出参数,结果集中指定列的值会以资产数组形式写入该变量。 | 2432| length | 表示资产数组的长度。 | 2433 2434**返回:** 2435 2436返回操作是否成功,出错时返回对应的错误码。 2437 2438**参见:** 2439 2440[OH_Cursor](_o_h___cursor.md). 2441 2442 2443### getBlob 2444 2445``` 2446int(*getBlob) (OH_Cursor *cursor, int32_t columnIndex, unsigned char *value, int length) 2447``` 2448 2449**描述** 2450 2451函数指针,以字节数组的形式获取当前行中指定列的值。 2452 2453**起始版本:** 10 2454 2455**参数:** 2456 2457| 名称 | 描述 | 2458| -------- | -------- | 2459| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2460| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2461| value | 该参数是输出参数,结果集中指定列的值会以字节数组形式写入该变量。 | 2462| length | 表示value的长度,该值可通过getSize获取。 | 2463 2464**返回:** 2465 2466返回操作是否成功,出错时返回对应的错误码。 2467 2468**参见:** 2469 2470[OH_Cursor](_o_h___cursor.md). 2471 2472 2473### getColumnCount 2474 2475``` 2476int(*getColumnCount) (OH_Cursor *cursor, int *count) 2477``` 2478 2479**描述** 2480 2481函数指针,获取结果集中的列数。 2482 2483**起始版本:** 10 2484 2485**参数:** 2486 2487| 名称 | 描述 | 2488| -------- | -------- | 2489| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2490| count | 该参数是输出参数,结果集中的列数会写入该变量。 | 2491 2492**返回:** 2493 2494返回操作是否成功,出错时返回对应的错误码。 2495 2496**参见:** 2497 2498[OH_Cursor](_o_h___cursor.md). 2499 2500 2501### getColumnIndex 2502 2503``` 2504int(*getColumnIndex) (OH_Cursor *cursor, const char *name, int *columnIndex) 2505``` 2506 2507**描述** 2508 2509函数指针,根据指定的列名获取列索引。 2510 2511**起始版本:** 10 2512 2513**参数:** 2514 2515| 名称 | 描述 | 2516| -------- | -------- | 2517| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2518| name | 表示结果集中指定列的名称。 | 2519| columnIndex | 该参数是输出参数,结果集中指定列的索引会写入该变量。 | 2520 2521**返回:** 2522 2523返回操作是否成功,出错时返回对应的错误码。 2524 2525**参见:** 2526 2527[OH_Cursor](_o_h___cursor.md). 2528 2529 2530### getColumnName 2531 2532``` 2533int(*getColumnName) (OH_Cursor *cursor, int32_t columnIndex, char *name, int length) 2534``` 2535 2536**描述** 2537 2538函数指针,根据指定的列索引获取列名。 2539 2540**起始版本:** 10 2541 2542**参数:** 2543 2544| 名称 | 描述 | 2545| -------- | -------- | 2546| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2547| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2548| name | 该参数是输出参数,结果集中指定列的名称会写入该变量。 | 2549| length | 表示列名的长度。 | 2550 2551**返回:** 2552 2553返回操作是否成功,出错时返回对应的错误码。 2554 2555**参见:** 2556 2557[OH_Cursor](_o_h___cursor.md). 2558 2559 2560### getColumnType 2561 2562``` 2563int(*getColumnType) (OH_Cursor *cursor, int32_t columnIndex, OH_ColumnType *columnType) 2564``` 2565 2566**描述** 2567 2568函数指针,根据指定的列索引获取列类型。 2569 2570**起始版本:** 10 2571 2572**参数:** 2573 2574| 名称 | 描述 | 2575| -------- | -------- | 2576| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2577| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2578| columnType | 该参数是输出参数,结果集中指定列的数据类型[OH_ColumnType](#oh_columntype)会写入该变量。 | 2579 2580**返回:** 2581 2582返回操作是否成功,出错时返回对应的错误码。 2583 2584**参见:** 2585 2586[OH_Cursor](_o_h___cursor.md), [OH_ColumnType](#oh_columntype). 2587 2588 2589### getInt64 2590 2591``` 2592int(*getInt64) (OH_Cursor *cursor, int32_t columnIndex, int64_t *value) 2593``` 2594 2595**描述** 2596 2597函数指针,以int64_t形式获取当前行中指定列的值。 2598 2599**起始版本:** 10 2600 2601**参数:** 2602 2603| 名称 | 描述 | 2604| -------- | -------- | 2605| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2606| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2607| value | 该参数是输出参数,结果集中指定列的值会以int64_t形式写入该变量。 | 2608 2609**返回:** 2610 2611返回操作是否成功,出错时返回对应的错误码。 2612 2613**参见:** 2614 2615[OH_Cursor](_o_h___cursor.md). 2616 2617 2618### getReal 2619 2620``` 2621int(*getReal) (OH_Cursor *cursor, int32_t columnIndex, double *value) 2622``` 2623 2624**描述** 2625 2626函数指针,以double形式获取当前行中指定列的值。 2627 2628**起始版本:** 10 2629 2630**参数:** 2631 2632| 名称 | 描述 | 2633| -------- | -------- | 2634| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2635| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2636| value | 该参数是输出参数,结果集中指定列的值会以double形式写入该变量。 | 2637 2638**返回:** 2639 2640返回操作是否成功,出错时返回对应的错误码。 2641 2642**参见:** 2643 2644[OH_Cursor](_o_h___cursor.md). 2645 2646 2647### getRowCount 2648 2649``` 2650int(*getRowCount) (OH_Cursor *cursor, int *count) 2651``` 2652 2653**描述** 2654 2655函数指针,获取结果集中的行数。 2656 2657**起始版本:** 10 2658 2659**参数:** 2660 2661| 名称 | 描述 | 2662| -------- | -------- | 2663| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2664| count | 该参数是输出参数,结果集中的行数会写入该变量。 | 2665 2666**返回:** 2667 2668返回操作是否成功,出错时返回对应的错误码。 2669 2670**参见:** 2671 2672[OH_Cursor](_o_h___cursor.md). 2673 2674 2675### getSize 2676 2677``` 2678int(*getSize) (OH_Cursor *cursor, int32_t columnIndex, size_t *size) 2679``` 2680 2681**描述** 2682 2683函数指针,当结果集中列的数据类型是BLOB或者TEXT时,获取其值所需的内存。 2684 2685**起始版本:** 10 2686 2687**参数:** 2688 2689| 名称 | 描述 | 2690| -------- | -------- | 2691| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2692| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2693| size | 该参数是输出参数,BLOB或者TEXT数据所需内存大小会写入该变量。 | 2694 2695**返回:** 2696 2697返回操作是否成功,出错时返回对应的错误码。 2698 2699**参见:** 2700 2701[OH_Cursor](_o_h___cursor.md). 2702 2703 2704### getText 2705 2706``` 2707int(*getText) (OH_Cursor *cursor, int32_t columnIndex, char *value, int length) 2708``` 2709 2710**描述** 2711 2712函数指针,以字符串形式获取当前行中指定列的值。 2713 2714**起始版本:** 10 2715 2716**参数:** 2717 2718| 名称 | 描述 | 2719| -------- | -------- | 2720| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2721| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 2722| value | 该参数是输出参数,结果集中指定列的值会以字符串形式写入该变量。 | 2723| length | 表示value的长度,该值可通过getSize获取。 | 2724 2725**返回:** 2726 2727返回操作是否成功,出错时返回对应的错误码。 2728 2729**参见:** 2730 2731[OH_Cursor](_o_h___cursor.md). 2732 2733 2734### goToNextRow 2735 2736``` 2737int(*goToNextRow) (OH_Cursor *cursor) 2738``` 2739 2740**描述** 2741 2742函数指针,转到结果集的下一行。 2743 2744**起始版本:** 10 2745 2746**参数:** 2747 2748| 名称 | 描述 | 2749| -------- | -------- | 2750| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 2751 2752**返回:** 2753 2754返回操作是否成功,出错时返回对应的错误码。 2755 2756**参见:** 2757 2758[OH_Cursor](_o_h___cursor.md). 2759 2760 2761### greaterThan 2762 2763``` 2764OH_Predicates *(*greaterThan) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 2765``` 2766 2767**描述** 2768 2769函数指针,配置谓词以匹配数据字段为field且值大于指定值valueObject的字段。 2770 2771该方法等同于SQL语句中的“>”。 2772 2773**起始版本:** 10 2774 2775**参数:** 2776 2777| 名称 | 描述 | 2778| -------- | -------- | 2779| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2780| field | 数据库表中的列名。 | 2781| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 2782 2783**返回:** 2784 2785返回与指定字段匹配的谓词 2786 2787**参见:** 2788 2789[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 2790 2791 2792### greaterThanOrEqualTo 2793 2794``` 2795OH_Predicates *(*greaterThanOrEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 2796``` 2797 2798**描述** 2799 2800函数指针,配置谓词以匹配数据字段为field且值大于或等于指定值valueObject的字段 2801 2802该方法等同于SQL语句中的“>=”。 2803 2804**起始版本:** 10 2805 2806**参数:** 2807 2808| 名称 | 描述 | 2809| -------- | -------- | 2810| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2811| field | 数据库表中的列名。 | 2812| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 2813 2814**返回:** 2815 2816返回与指定字段匹配的谓词。 2817 2818**参见:** 2819 2820[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 2821 2822 2823### groupBy 2824 2825``` 2826OH_Predicates *(*groupBy) (OH_Predicates *predicates, char const *const *fields, int length) 2827``` 2828 2829**描述** 2830 2831函数指针,配置R谓词按指定列分组查询结果。 2832 2833该方法等同于SQL语句中的“GROUP BY”。 2834 2835**起始版本:** 10 2836 2837**参数:** 2838 2839| 名称 | 描述 | 2840| -------- | -------- | 2841| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2842| fields | 指定分组依赖的列名。 | 2843| length | 表示fields数值的长度。 | 2844 2845**返回:** 2846 2847返回分组查询列的谓词。 2848 2849**参见:** 2850 2851[OH_Predicates](_o_h___predicates.md). 2852 2853 2854### id [1/5] 2855 2856``` 2857int64_t OH_Cursor::id 2858``` 2859 2860**描述** 2861 2862OH_Cursor结构体的唯一标识符。 2863 2864 2865### id [2/5] 2866 2867``` 2868int64_t OH_Predicates::id 2869``` 2870 2871**描述** 2872 2873OH_Predicates结构体的唯一标识符。 2874 2875 2876### id [3/5] 2877 2878``` 2879int64_t OH_VObject::id 2880``` 2881 2882**描述** 2883 2884OH_VObject结构体的唯一标识符。 2885 2886 2887### id [4/5] 2888 2889``` 2890int64_t OH_VBucket::id 2891``` 2892 2893**描述** 2894 2895OH_VBucket结构体的唯一标识符。 2896 2897 2898### id [5/5] 2899 2900``` 2901int64_t OH_Rdb_Store::id 2902``` 2903 2904**描述** 2905 2906OH_Rdb_Store结构体的唯一标识符。 2907 2908 2909### in 2910 2911``` 2912OH_Predicates *(*in) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 2913``` 2914 2915**描述** 2916 2917函数指针,配置谓词以匹配数据字段为field且值在给定范围内的指定字段。 2918 2919该方法等同于SQL语句中的“IN”。 2920 2921**起始版本:** 10 2922 2923**参数:** 2924 2925| 名称 | 描述 | 2926| -------- | -------- | 2927| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 2928| field | 表示数据库表中的列名。 | 2929| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 2930 2931**返回:** 2932 2933返回与指定字段匹配的谓词。 2934 2935**参见:** 2936 2937[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 2938 2939 2940### inserted 2941 2942``` 2943Rdb_KeyInfo Rdb_ChangeInfo::inserted 2944``` 2945 2946**描述** 2947 2948记录插入数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示插入数据的行号。 2949 2950 2951### integer 2952 2953``` 2954uint64_t Rdb_KeyInfo::Rdb_KeyData::integer 2955``` 2956 2957**描述** 2958 2959存放uint64_t类型的数据。 2960 2961 2962### isAutoSync 2963 2964``` 2965bool Rdb_DistributedConfig::isAutoSync 2966``` 2967 2968**描述** 2969 2970表示该表是否支持自动同步。 2971 2972 2973### isEncrypt 2974 2975``` 2976bool OH_Rdb_Config::isEncrypt 2977``` 2978 2979**描述** 2980 2981指定数据库是否加密。 2982 2983 2984### isNotNull 2985 2986``` 2987OH_Predicates *(*isNotNull) (OH_Predicates *predicates, const char *field) 2988``` 2989 2990**描述** 2991 2992函数指针,配置谓词以匹配值不为null的指定字段。 2993 2994该方法等同于SQL语句中的“IS NOT NULL”。 2995 2996**起始版本:** 10 2997 2998**参数:** 2999 3000| 名称 | 描述 | 3001| -------- | -------- | 3002| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3003| field | 数据库表中的列名。 | 3004 3005**返回:** 3006 3007返回与指定字段匹配的谓词 3008 3009**参见:** 3010 3011[OH_Predicates](_o_h___predicates.md). 3012 3013 3014### isNull [1/2] 3015 3016``` 3017int(*isNull) (OH_Cursor *cursor, int32_t columnIndex, bool *isNull) 3018``` 3019 3020**描述** 3021 3022函数指针,检查当前行中指定列的值是否为null。 3023 3024**起始版本:** 10 3025 3026**参数:** 3027 3028| 名称 | 描述 | 3029| -------- | -------- | 3030| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 3031| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 | 3032| isNull | 该参数是输出参数,如果当前行中指定列的值为null,该值为true,否则为false。 | 3033 3034**返回:** 3035 3036返回操作是否成功,出错时返回对应的错误码。 3037 3038**参见:** 3039 3040[OH_Cursor](_o_h___cursor.md). 3041 3042 3043### isNull [2/2] 3044 3045``` 3046OH_Predicates *(*isNull) (OH_Predicates *predicates, const char *field) 3047``` 3048 3049**描述** 3050 3051函数指针,配置谓词以匹配值为null的字段。 3052 3053该方法等同于SQL语句中的“IS NULL”。 3054 3055**起始版本:** 10 3056 3057**参数:** 3058 3059| 名称 | 描述 | 3060| -------- | -------- | 3061| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3062| field | 数据库表中的列名。 | 3063 3064**返回:** 3065 3066返回与指定字段匹配的谓词。 3067 3068**参见:** 3069 3070[OH_Predicates](_o_h___predicates.md). 3071 3072 3073### lessThan 3074 3075``` 3076OH_Predicates *(*lessThan) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 3077``` 3078 3079**描述** 3080 3081函数指针,配置谓词以匹配数据字段为field且值小于指定值valueObject的字段 3082 3083该方法等同于SQL语句中的“<”。 3084 3085**起始版本:** 10 3086 3087**参数:** 3088 3089| 名称 | 描述 | 3090| -------- | -------- | 3091| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3092| field | 数据库表中的列名。 | 3093| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 3094 3095**返回:** 3096 3097返回与指定字段匹配的谓词。 3098 3099**参见:** 3100 3101[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 3102 3103 3104### lessThanOrEqualTo 3105 3106``` 3107OH_Predicates *(*lessThanOrEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 3108``` 3109 3110**描述** 3111 3112函数指针,配置谓词以匹配数据字段为field且值小于或等于指定值valueObject的字段 3113 3114该方法等同于SQL语句中的“<=”。 3115 3116**起始版本:** 10 3117 3118**参数:** 3119 3120| 名称 | 描述 | 3121| -------- | -------- | 3122| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3123| field | 数据库表中的列名。 | 3124| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 3125 3126**返回:** 3127 3128返回与指定字段匹配的谓词。 3129 3130**参见:** 3131 3132[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 3133 3134 3135### like 3136 3137``` 3138OH_Predicates *(*like) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 3139``` 3140 3141**描述** 3142 3143函数指针,配置谓词以匹配数据字段为field且值类似于指定字符串的字段。 3144 3145该方法等同于SQL语句中的“LIKE”。 3146 3147**起始版本:** 10 3148 3149**参数:** 3150 3151| 名称 | 描述 | 3152| -------- | -------- | 3153| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3154| field | 数据库表中的列名。 | 3155| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 3156 3157**返回:** 3158 3159返回与指定字段匹配的谓词。 3160 3161**参见:** 3162 3163[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 3164 3165 3166### limit 3167 3168``` 3169OH_Predicates *(*limit) (OH_Predicates *predicates, unsigned int value) 3170``` 3171 3172**描述** 3173 3174函数指针,设置最大数据记录数的谓词。 3175 3176该方法等同于SQL语句中的“LIMIT”。 3177 3178**起始版本:** 10 3179 3180**参数:** 3181 3182| 名称 | 描述 | 3183| -------- | -------- | 3184| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3185| value | 表示最大数据记录数。 | 3186 3187**返回:** 3188 3189返回可用于设置最大数据记录数的谓词。 3190 3191**参见:** 3192 3193[OH_Predicates](_o_h___predicates.md). 3194 3195 3196### moduleName 3197 3198``` 3199const char* OH_Rdb_Config::moduleName 3200``` 3201 3202**描述** 3203 3204应用模块名。 3205 3206 3207### notBetween 3208 3209``` 3210OH_Predicates *(*notBetween) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 3211``` 3212 3213**描述** 3214 3215函数指针,将谓词配置为匹配数据字段为field且其值超出给定范围内的指定字段。 3216 3217该方法等同于SQL语句中的“NOT BETWEEN”。 3218 3219**起始版本:** 10 3220 3221**参数:** 3222 3223| 名称 | 描述 | 3224| -------- | -------- | 3225| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3226| field | 数据库表中的列名。 | 3227| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 3228 3229**返回:** 3230 3231返回与指定字段匹配的谓词。 3232 3233**参见:** 3234 3235[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 3236 3237 3238### notEqualTo 3239 3240``` 3241OH_Predicates *(*notEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 3242``` 3243 3244**描述** 3245 3246函数指针,配置谓词以匹配数据字段不等于指定值的字段。 3247 3248该方法等同于SQL语句中的“!=”。 3249 3250**起始版本:** 10 3251 3252**参数:** 3253 3254| 名称 | 描述 | 3255| -------- | -------- | 3256| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3257| field | 数据库表中的列名。 | 3258| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 3259 3260**返回:** 3261 3262返回与指定字段匹配的谓词。 3263 3264**参见:** 3265 3266[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 3267 3268 3269### notIn 3270 3271``` 3272OH_Predicates *(*notIn) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 3273``` 3274 3275**描述** 3276 3277函数指针,配置谓词以匹配数据字段为field且值超出给定范围内的指定字段。 3278 3279该方法等同于SQL语句中的“NOT IN”。 3280 3281**起始版本:** 10 3282 3283**参数:** 3284 3285| 名称 | 描述 | 3286| -------- | -------- | 3287| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3288| field | 表示数据库表中的列名。 | 3289| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 3290 3291**返回:** 3292 3293返回与指定字段匹配的谓词。 3294 3295**参见:** 3296 3297[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 3298 3299 3300### offset 3301 3302``` 3303OH_Predicates *(*offset) (OH_Predicates *predicates, unsigned int rowOffset) 3304``` 3305 3306**描述** 3307 3308函数指针,配置谓词以指定返回结果的起始位置。 3309 3310该方法等同于SQL语句中的“OFFSET”。 3311 3312**起始版本:** 10 3313 3314**参数:** 3315 3316| 名称 | 描述 | 3317| -------- | -------- | 3318| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3319| rowOffset | 返回结果的起始位置,取值为正整数。 | 3320 3321**返回:** 3322 3323返回具有指定返回结果起始位置的谓词。 3324 3325**参见:** 3326 3327[OH_Predicates](_o_h___predicates.md). 3328 3329 3330### orderBy 3331 3332``` 3333OH_Predicates *(*orderBy) (OH_Predicates *predicates, const char *field, OH_OrderType type) 3334``` 3335 3336**描述** 3337 3338函数指针,配置谓词以匹配其值按升序或降序排序的列。 3339 3340该方法等同于SQL语句中的“ORDER BY”。 3341 3342**起始版本:** 10 3343 3344**参数:** 3345 3346| 名称 | 描述 | 3347| -------- | -------- | 3348| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3349| field | 数据库表中的列名。 | 3350| type | 表示排序类型 [OH_OrderType](#oh_ordertype). | 3351 3352**返回:** 3353 3354返回与指定字段匹配的谓词。 3355 3356**参见:** 3357 3358[OH_Predicates](_o_h___predicates.md), [OH_OrderType](#oh_ordertype). 3359 3360 3361### orOperate 3362 3363``` 3364OH_Predicates *(*orOperate) (OH_Predicates *predicates) 3365``` 3366 3367**描述** 3368 3369函数指针,将或条件添加到谓词中。 3370 3371该方法等同于SQL语句中的“OR”。 3372 3373**起始版本:** 10 3374 3375**参数:** 3376 3377| 名称 | 描述 | 3378| -------- | -------- | 3379| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 3380 3381**返回:** 3382 3383返回带有或条件的谓词。 3384 3385**参见:** 3386 3387[OH_Predicates](_o_h___predicates.md). 3388 3389 3390### putBlob 3391 3392``` 3393int(*putBlob) (OH_VBucket *bucket, const char *field, const uint8_t *value, uint32_t size) 3394``` 3395 3396**描述** 3397 3398将const uint8_t \*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 3399 3400**起始版本:** 10 3401 3402**参数:** 3403 3404| 名称 | 描述 | 3405| -------- | -------- | 3406| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3407| field | 数据库表中的列名。 | 3408| value | 数据库表中指定列名对应的值。 | 3409| size | 表示value的长度。 | 3410 3411**返回:** 3412 3413返回操作是否成功,出错时返回对应的错误码。 3414 3415**参见:** 3416 3417[OH_VBucket](_o_h___v_bucket.md). 3418 3419 3420### putDouble 3421 3422``` 3423int(*putDouble) (OH_VObject *valueObject, double *value, uint32_t count) 3424``` 3425 3426**描述** 3427 3428将double类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 3429 3430**起始版本:** 10 3431 3432**参数:** 3433 3434| 名称 | 描述 | 3435| -------- | -------- | 3436| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 3437| value | 表示指向double类型的单个参数或者数组的指针。 | 3438| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 | 3439 3440**返回:** 3441 3442返回操作是否成功,出错时返回对应的错误码。 3443 3444**参见:** 3445 3446[OH_VObject](_o_h___v_object.md). 3447 3448 3449### putInt64 [1/2] 3450 3451``` 3452int(*putInt64) (OH_VBucket *bucket, const char *field, int64_t value) 3453``` 3454 3455**描述** 3456 3457将int64_t值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 3458 3459**起始版本:** 10 3460 3461**参数:** 3462 3463| 名称 | 描述 | 3464| -------- | -------- | 3465| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3466| field | 数据库表中的列名。 | 3467| value | 数据库表中指定列名对应的值。 | 3468 3469**返回:** 3470 3471返回操作是否成功,出错时返回对应的错误码。 3472 3473**参见:** 3474 3475[OH_VBucket](_o_h___v_bucket.md). 3476 3477 3478### putInt64 [2/2] 3479 3480``` 3481int(*putInt64) (OH_VObject *valueObject, int64_t *value, uint32_t count) 3482``` 3483 3484**描述** 3485 3486将int64类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 3487 3488**起始版本:** 10 3489 3490**参数:** 3491 3492| 名称 | 描述 | 3493| -------- | -------- | 3494| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 3495| value | 表示指向int64_t类型的单个参数或者数组的指针。 | 3496| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 | 3497 3498**返回:** 3499 3500返回操作是否成功,出错时返回对应的错误码。 3501 3502**参见:** 3503 3504[OH_VObject](_o_h___v_object.md). 3505 3506 3507### putNull 3508 3509``` 3510int(*putNull) (OH_VBucket *bucket, const char *field) 3511``` 3512 3513**描述** 3514 3515将NULL值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 3516 3517**起始版本:** 10 3518 3519**参数:** 3520 3521| 名称 | 描述 | 3522| -------- | -------- | 3523| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3524| field | 数据库表中的列名。 | 3525 3526**返回:** 3527 3528返回操作是否成功,出错时返回对应的错误码。 3529 3530**参见:** 3531 3532[OH_VBucket](_o_h___v_bucket.md). 3533 3534 3535### putReal 3536 3537``` 3538int(*putReal) (OH_VBucket *bucket, const char *field, double value) 3539``` 3540 3541**描述** 3542 3543将double值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 3544 3545**起始版本:** 10 3546 3547**参数:** 3548 3549| 名称 | 描述 | 3550| -------- | -------- | 3551| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3552| field | 数据库表中的列名。 | 3553| value | 数据库表中指定列名对应的值。 | 3554 3555**返回:** 3556 3557返回操作是否成功,出错时返回对应的错误码。 3558 3559**参见:** 3560 3561[OH_VBucket](_o_h___v_bucket.md). 3562 3563 3564### putText [1/2] 3565 3566``` 3567int(*putText) (OH_VBucket *bucket, const char *field, const char *value) 3568``` 3569 3570**描述** 3571 3572将char\*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 3573 3574**起始版本:** 10 3575 3576**参数:** 3577 3578| 名称 | 描述 | 3579| -------- | -------- | 3580| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3581| field | 数据库表中的列名。 | 3582| value | 数据库表中指定列名对应的值。 | 3583 3584**返回:** 3585 3586返回操作是否成功,出错时返回对应的错误码。 3587 3588**参见:** 3589 3590[OH_VBucket](_o_h___v_bucket.md). 3591 3592 3593### putText [2/2] 3594 3595``` 3596int(*putText) (OH_VObject *valueObject, const char *value) 3597``` 3598 3599**描述** 3600 3601将char \*类型的字符数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 3602 3603**起始版本:** 10 3604 3605**参数:** 3606 3607| 名称 | 描述 | 3608| -------- | -------- | 3609| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 3610| value | 表示字符数组参数。 | 3611 3612**返回:** 3613 3614返回操作是否成功,出错时返回对应的错误码。 3615 3616**参见:** 3617 3618[OH_VObject](_o_h___v_object.md). 3619 3620 3621### putTexts 3622 3623``` 3624int(*putTexts) (OH_VObject *valueObject, const char **value, uint32_t count) 3625``` 3626 3627**描述** 3628 3629将char \*类型的字符串数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 3630 3631**起始版本:** 10 3632 3633**参数:** 3634 3635| 名称 | 描述 | 3636| -------- | -------- | 3637| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 3638| value | 表示字符串数组参数。 | 3639| count | 表示字符串数组参数value的长度。 | 3640 3641**返回:** 3642 3643返回操作是否成功,出错时返回对应的错误码。 3644 3645**参见:** 3646 3647[OH_VObject](_o_h___v_object.md). 3648 3649 3650### real 3651 3652``` 3653double Rdb_KeyInfo::Rdb_KeyData::real 3654``` 3655 3656**描述** 3657 3658存放double类型的数据。 3659 3660 3661### remained 3662 3663``` 3664int Rdb_Statistic::remained 3665``` 3666 3667**描述** 3668 3669表示数据库表中端云同步剩余未执行的行数。 3670 3671 3672### schedule 3673 3674``` 3675int Rdb_ProgressDetails::schedule 3676``` 3677 3678**描述** 3679 3680表示端云同步过程。 3681 3682 3683### securityLevel 3684 3685``` 3686int OH_Rdb_Config::securityLevel 3687``` 3688 3689**描述** 3690 3691设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 3692 3693 3694### selfSize 3695 3696``` 3697int OH_Rdb_Config::selfSize 3698``` 3699 3700**描述** 3701 3702该结构体的大小。 3703 3704 3705### storeName 3706 3707``` 3708const char* OH_Rdb_Config::storeName 3709``` 3710 3711**描述** 3712 3713数据库名称。 3714 3715 3716### successful 3717 3718``` 3719int Rdb_Statistic::successful 3720``` 3721 3722**描述** 3723 3724表示数据库表中端云同步成功的行数。 3725 3726 3727### table 3728 3729``` 3730const char* Rdb_TableDetails::table 3731``` 3732 3733**描述** 3734 3735数据库表名 3736 3737 3738### tableLength 3739 3740``` 3741int32_t Rdb_ProgressDetails::tableLength 3742``` 3743 3744**描述** 3745 3746表示端云同步的表的数量 3747 3748 3749### tableName 3750 3751``` 3752const char* Rdb_ChangeInfo::tableName 3753``` 3754 3755**描述** 3756 3757表示发生变化的表的名称。 3758 3759 3760### text 3761 3762``` 3763const char* Rdb_KeyInfo::Rdb_KeyData::text 3764``` 3765 3766**描述** 3767 3768存放char \*类型的数据。 3769 3770 3771### total 3772 3773``` 3774int Rdb_Statistic::total 3775``` 3776 3777**描述** 3778 3779表示数据库表中需要端云同步的总行数。 3780 3781 3782### type 3783 3784``` 3785int Rdb_KeyInfo::type 3786``` 3787 3788**描述** 3789 3790表示主键的类型[OH_ColumnType](#oh_columntype)。 3791 3792 3793### updated 3794 3795``` 3796Rdb_KeyInfo Rdb_ChangeInfo::updated 3797``` 3798 3799**描述** 3800 3801记录更新数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示更新数据的行号。 3802 3803 3804### upload 3805 3806``` 3807Rdb_Statistic Rdb_TableDetails::upload 3808``` 3809 3810**描述** 3811 3812表示数据库表中端云同步上传过程的统计信息。 3813 3814 3815### version [1/3] 3816 3817``` 3818int Rdb_DistributedConfig::version 3819``` 3820 3821**描述** 3822 3823用于唯一标识Rdb_DistributedConfig结构的版本。 3824 3825 3826### version [2/3] 3827 3828``` 3829int Rdb_ChangeInfo::version 3830``` 3831 3832**描述** 3833 3834用于唯一标识Rdb_DistributedConfig结构的版本。 3835 3836 3837### version [3/3] 3838 3839``` 3840int Rdb_ProgressDetails::version 3841``` 3842 3843**描述** 3844 3845用于唯一标识OH_TableDetails结构的版本。