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