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_data_value.h](oh__data__value_8h.md) | 提供与单条数据值相关的函数和枚举。<br/>从API version 18开始,OH_ColumnType从oh_cursor.h移动至此头文件呈现,对于此类型,API version 18之前即支持使用,各版本均可正常使用。<br/>**引用文件:** <database/rdb/oh_data_value.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 22| [oh_data_values.h](oh__data__values_8h.md) | 提供与多条数据值相关的函数和枚举。<br/>**引用文件:** <database/rdb/oh_data_values.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 23| [oh_data_values_buckets.h](oh__data__values__buckets_8h.md) | 提供与存储数据值相关的结构定义、函数和枚举。<br/>**引用文件:** <database/rdb/oh_data_values_buckets.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 24| [oh_predicates.h](oh__predicates_8h.md) | 表示关系型数据库(RDB)的谓词。<br/>**引用文件:** <database/rdb/oh_predicates.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 25| [oh_rdb_transaction.h](oh__rdb__transaction_8h.md) | 提供与数据库事务相关的函数和枚举。<br/>**引用文件:** <database/rdb/oh_rdb_transaction.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 26| [oh_rdb_types.h](oh__rdb__types_8h.md) | 提供与数据值相关的类型定义。<br/>**引用文件:** <database/rdb/oh_rdb_types.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 27| [oh_value_object.h](oh__value__object_8h.md) | 提供类型转换方法。<br/>**引用文件:** <database/rdb/oh_value_object.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 28| [oh_values_bucket.h](oh__values__bucket_8h.md) | 用于存储键值对的类型。<br/>**引用文件:** <database/rdb/oh_values_bucket.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 29| [relational_store.h](relational__store_8h.md) | 提供管理关系数据库(RDB)方法的接口,未标注支持向量数据库的接口仅支持关系型数据库。<br/>**引用文件:** <database/rdb/relational_store.h><br/>**库:** libnative_rdb_ndk.z.so<br/> | 30| [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 | 31 32 33### 结构体 34 35| 名称 | 描述 | 36| -------- | -------- | 37| [OH_Cursor](_o_h___cursor.md) | 表示结果集。 | 38| [OH_Predicates](_o_h___predicates.md) | 表示谓词。 | 39| [OH_VObject](_o_h___v_object.md) | 表示允许的数据字段类型。 | 40| [OH_VBucket](_o_h___v_bucket.md) | 用于存储键值对的类型。 | 41| [OH_Rdb_Config](_o_h___rdb___config.md) | 管理关系数据库配置。 | 42| [OH_Rdb_Store](_o_h___rdb___store.md) | 表示数据库类型。 | 43| [Rdb_DistributedConfig](_rdb___distributed_config.md) | 记录表的分布式配置信息。 | 44| [Rdb_KeyInfo](_rdb___key_info.md) | 描述发生变化的行的主键或者行号。 | 45| [Rdb_KeyInfo::Rdb_KeyData](union_rdb___key_info_1_1_rdb___key_data.md) | 存放变化的具体数据。 | 46| [Rdb_ChangeInfo](_rdb___change_info.md) | 记录端云同步过程详情。 | 47| [Rdb_SubscribeCallback](union_rdb___subscribe_callback.md) | 表示回调函数。 | 48| [Rdb_DataObserver](_rdb___data_observer.md) | 表示数据观察者。 | 49| [Rdb_Statistic](_rdb___statistic.md) | 描述数据库表的端云同步过程的统计信息。 | 50| [Rdb_TableDetails](_rdb___table_details.md) | 描述数据库表执行端云同步任务上传和下载的统计信息。 | 51| [Rdb_ProgressDetails](_rdb___progress_details.md) | 描述数据库整体执行端云同步任务上传和下载的统计信息。 | 52| [Rdb_ProgressObserver](_rdb___progress_observer.md) | 端云同步进度观察者。 | 53 54 55### 宏定义 56 57| 名称 | 描述 | 58| -------- | -------- | 59| [DISTRIBUTED_CONFIG_VERSION](#distributed_config_version) 1 | 描述[Rdb_DistributedConfig](_rdb___distributed_config.md)的版本。 | 60| [DISTRIBUTED_CHANGE_INFO_VERSION](#distributed_change_info_version) 1 | 描述[Rdb_ChangeInfo](_rdb___change_info.md)的版本。 | 61| [DISTRIBUTED_PROGRESS_DETAIL_VERSION](#distributed_progress_detail_version) 1 | 描述[Rdb_ProgressDetails](_rdb___progress_details.md)的版本。 | 62 63 64### 类型定义 65 66| 名称 | 描述 | 67| -------- | -------- | 68| typedef enum [Rdb_ConflictResolution](#rdb_conflictresolution) [Rdb_ConflictResolution](#rdb_conflictresolution) | 表示冲突解决策略的枚举。 | 69| typedef struct [OH_Rdb_ConfigV2](#oh_rdb_configv2) [OH_Rdb_ConfigV2](#oh_rdb_configv2) | 管理关系数据库配置,与[OH_Rdb_Config](_o_h___rdb___config.md)的区别是该结构体成员变量不对外暴露,使用一系列方法配置该结构体的属性,支持向量数据库。 | 70| typedef enum [Rdb_DBType](#rdb_dbtype) [Rdb_DBType](#rdb_dbtype) | 描述数据库的内核类型。 | 71| typedef enum [Rdb_Tokenizer](#rdb_tokenizer) [Rdb_Tokenizer](#rdb_tokenizer) | 描述数据库的分词器类型。 | 72| typedef enum [OH_ColumnType](#oh_columntype) [OH_ColumnType](#oh_columntype) | 表示列的类型。 | 73| typedef struct [OH_Data_Value](#oh_data_value) [OH_Data_Value](#oh_data_value) | 定义[OH_Data_Value](#oh_data_value)结构类型。 | 74| typedef struct [OH_Data_Values](#oh_data_values) [OH_Data_Values](#oh_data_values) | 定义[OH_Data_Values](#oh_data_values)结构类型。 | 75| typedef struct [OH_Data_VBuckets](#oh_data_vbuckets) [OH_Data_VBuckets](#oh_data_vbuckets) | 定义OH_Data_VBuckets结构类型。 | 76| typedef enum [OH_RDB_TransType](#oh_rdb_transtype) [OH_RDB_TransType](#oh_rdb_transtype) | 表示关系型数据库事务类型。 | 77| typedef struct [OH_RDB_TransOptions](#oh_rdb_transoptions) [OH_RDB_TransOptions](#oh_rdb_transoptions) | 定义[OH_RDB_TransOptions](#oh_rdb_transoptions)结构类型。 | 78| typedef struct [OH_Rdb_Transaction](#oh_rdb_transaction) [OH_Rdb_Transaction](#oh_rdb_transaction) | 定义[OH_Rdb_Transaction](#oh_rdb_transaction)结构类型。 | 79| [OH_Cursor](#oh_cursor) | 表示结果集。 | 80| [OH_OrderType](#oh_ordertype) | 排序方式。 | 81| [OH_Predicates](#oh_predicates) | 表示谓词。 | 82| [OH_VObject](#oh_vobject) | 表示允许的数据字段类型。 | 83| [OH_VBucket](#oh_vbucket) | 用于存储键值对的类型。 | 84| [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel) | 数据库的安全级别枚举。 | 85| [Rdb_SecurityArea](#rdb_securityarea) | 描述数据库的安全区域等级。 | 86| [Rdb_DistributedType](#rdb_distributedtype) | 描述表的分布式类型的枚举。 | 87| [Rdb_DistributedConfig](#rdb_distributedconfig) | 记录表的分布式配置信息。 | 88| [Rdb_ChangeType](#rdb_changetype) | 描述数据变更类型。 | 89| [Rdb_KeyInfo](#rdb_keyinfo) | 描述发生变化的行的主键或者行号。 | 90| [Rdb_ChangeInfo](#rdb_changeinfo) | 记录端云同步过程详情。 | 91| [Rdb_SubscribeType](#rdb_subscribetype) | 描述订阅类型。 | 92| [Rdb_BriefObserver](#rdb_briefobserver) | 端云数据更改事件的回调函数。 | 93| [Rdb_DetailsObserver](#rdb_detailsobserver) | 端云数据更改事件的细节的回调函数。 | 94| [Rdb_SubscribeCallback](#rdb_subscribecallback) | 表示回调函数。 | 95| [Rdb_DataObserver](#rdb_dataobserver) | 表示数据观察者。 | 96| [Rdb_SyncMode](#rdb_syncmode) | 表示数据库的同步模式。 | 97| [Rdb_Statistic](#rdb_statistic) | 描述数据库表的端云同步过程的统计信息。 | 98| [Rdb_TableDetails](#rdb_tabledetails) | 描述数据库表执行端云同步任务上传和下载的统计信息。 | 99| [Rdb_Progress](#rdb_progress) | 描述端云同步过程。 | 100| [Rdb_ProgressCode](#rdb_progresscode) | 表示端云同步过程的状态。 | 101| [Rdb_ProgressDetails](#rdb_progressdetails) | 描述数据库整体执行端云同步任务上传和下载的统计信息。 | 102| [Rdb_ProgressCallback](#rdb_progresscallback) | 端云同步进度的回调函数。 | 103| [Rdb_SyncCallback](#rdb_synccallback) | 数据库端云同步的回调函数。 | 104| [Rdb_ProgressObserver](#rdb_progressobserver) | 端云同步进度观察者。 | 105| [OH_Rdb_ErrCode](#oh_rdb_errcode) | 表示错误码信息。 | 106 107 108### 枚举 109 110| 名称 | 描述 | 111| -------- | -------- | 112| [Rdb_DBType](#rdb_dbtype-1) { RDB_SQLITE = 1, RDB_CAYLEY = 2, DBTYPE_BUTT = 64 } | 描述数据库的内核类型。 | 113| [OH_OrderType](#oh_ordertype-1) { ASC = 0, DESC = 1 } | 排序方式。 | 114| [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel-1) { S1 = 1, S2, S3, S4 } | 数据库的安全级别枚举。 | 115| [Rdb_SecurityArea](#rdb_securityarea-1) { RDB_SECURITY_AREA_EL1 = 1, RDB_SECURITY_AREA_EL2, RDB_SECURITY_AREA_EL3, RDB_SECURITY_AREA_EL4, RDB_SECURITY_AREA_EL5 } | 描述数据库的安全区域等级。 | 116| [Rdb_DistributedType](#rdb_distributedtype-1) { RDB_DISTRIBUTED_CLOUD } | 描述表的分布式类型的枚举。 | 117| [Rdb_ChangeType](#rdb_changetype-1) { RDB_DATA_CHANGE, RDB_ASSET_CHANGE } | 描述数据变更类型。 | 118| [Rdb_SubscribeType](#rdb_subscribetype-1) { RDB_SUBSCRIBE_TYPE_CLOUD, RDB_SUBSCRIBE_TYPE_CLOUD_DETAILS, RDB_SUBSCRIBE_TYPE_LOCAL_DETAILS } | 描述订阅类型。 | 119| [Rdb_SyncMode](#rdb_syncmode-1) { RDB_SYNC_MODE_TIME_FIRST, RDB_SYNC_MODE_NATIVE_FIRST, RDB_SYNC_MODE_CLOUD_FIRST } | 表示数据库的同步模式。 | 120| [Rdb_Progress](#rdb_progress-1) { RDB_SYNC_BEGIN, RDB_SYNC_IN_PROGRESS, RDB_SYNC_FINISH } | 描述端云同步过程。 | 121| [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/>} | 表示端云同步过程的状态。 | 122| [OH_ColumnType](#oh_columntype-1) {<br/>TYPE_NULL = 0, TYPE_INT64, TYPE_REAL, TYPE_TEXT,<br/>TYPE_BLOB, TYPE_ASSET, TYPE_ASSETS, TYPE_FLOAT_VECTOR,<br/>TYPE_UNLIMITED_INT<br/>} | 表示列的类型。 | 123| [OH_RDB_TransType](#oh_rdb_transtype-1) { RDB_TRANS_DEFERRED = 0, RDB_TRANS_IMMEDIATE, RDB_TRANS_EXCLUSIVE, RDB_TRANS_BUTT } | 表示关系型数据库事务类型。 | 124| [Rdb_Tokenizer](#rdb_tokenizer-1) { RDB_NONE_TOKENIZER = 1, RDB_ICU_TOKENIZER = 2, RDB_CUSTOM_TOKENIZER = 3 } | 描述数据库的分词器类型。 | 125| [Rdb_ConflictResolution](#rdb_conflictresolution-1) {<br/>RDB_CONFLICT_NONE = 1, RDB_CONFLICT_ROLLBACK, RDB_CONFLICT_ABORT, RDB_CONFLICT_FAIL,<br/>RDB_CONFLICT_IGNORE, RDB_CONFLICT_REPLACE<br/>} | 表示冲突解决策略的枚举。 | 126| [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/>RDB_E_ALREADY_CLOSED = (E_BASE + 50), RDB_E_DATABASE_BUSY = (E_BASE + 51), RDB_E_SQLITE_CORRUPT = (E_BASE + 52), RDB_E_SQLITE_PERM = (E_BASE + 53),<br/>RDB_E_SQLITE_BUSY = (E_BASE + 54), RDB_E_SQLITE_LOCKED = (E_BASE + 55), RDB_E_SQLITE_NOMEM = (E_BASE + 56), RDB_E_SQLITE_READONLY = (E_BASE + 57),<br/>RDB_E_SQLITE_IOERR = (E_BASE + 58), RDB_E_SQLITE_FULL = (E_BASE + 59), RDB_E_SQLITE_CANT_OPEN = (E_BASE + 60), RDB_E_SQLITE_TOO_BIG = (E_BASE + 61),<br/>RDB_E_SQLITE_MISMATCH = (E_BASE + 62), RDB_E_DATA_TYPE_NULL = (E_BASE + 63), RDB_E_TYPE_MISMATCH = (E_BASE + 64), RDB_E_SQLITE_CONSTRAINT = (E_BASE + 65)<br/>} | 表示错误码信息。 | 127 128 129### 函数 130 131| 名称 | 描述 | 132| -------- | -------- | 133| int [OH_RdbTrans_BatchInsert](#oh_rdbtrans_batchinsert) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans, const char \*table, const [OH_Data_VBuckets](#oh_data_vbuckets) \*rows, [Rdb_ConflictResolution](#rdb_conflictresolution) resolution, int64_t \*changes) | 将一组数据批量插入到目标表中。 | 134| int [OH_Rdb_BatchInsert](#oh_rdb_batchinsert) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*table, const [OH_Data_VBuckets](#oh_data_vbuckets) \*rows, [Rdb_ConflictResolution](#rdb_conflictresolution) resolution, int64_t \*changes) | 将一批数据插入到目标表中。 | 135| int [OH_Rdb_SetPersistent](#oh_rdb_setpersistent) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, bool isPersistent) | 指定数据库是否需要持久化。 | 136| int [OH_Rdb_IsTokenizerSupported](#oh_rdb_istokenizersupported) ([Rdb_Tokenizer](#rdb_tokenizer) tokenizer, bool \*isSupported) | 判断当前平台是否支持传入的分词器。 | 137| int [OH_Rdb_SetTokenizer](#oh_rdb_settokenizer) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, [Rdb_Tokenizer](#rdb_tokenizer) tokenizer) | 给指定的数据库文件配置设置分词器类型。 | 138| int [OH_Cursor_GetFloatVectorCount](#oh_cursor_getfloatvectorcount) ([OH_Cursor](_o_h___cursor.md) \*cursor, int32_t columnIndex, size_t \*length) | 获取当前行中指定列的浮点数数组大小。 | 139| int [OH_Cursor_GetFloatVector](#oh_cursor_getfloatvector) ([OH_Cursor](_o_h___cursor.md) \*cursor, int32_t columnIndex, float \*val, size_t inLen, size_t \*outLen) | 以浮点数数组的形式获取当前行中指定列的值。 | 140| int [OH_Rdb_ExecuteV2](#oh_rdb_executev2) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql, const [OH_Data_Values](#oh_data_values) \*args, [OH_Data_Value](#oh_data_value) \*\*result) | 执行有返回值的SQL语句,支持向量数据库。 | 141| [OH_Cursor](_o_h___cursor.md) \* [OH_Rdb_ExecuteQueryV2](#oh_rdb_executequeryv2) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql, const [OH_Data_Values](#oh_data_values) \*args) | 根据指定SQL语句查询数据库中的数据,支持向量数据库。 | 142| [OH_Data_Value](#oh_data_value) \* [OH_Value_Create](#oh_value_create) (void) | 创建[OH_Data_Value](#oh_data_value)实例,用于储存单条键值对数据。 | 143| int [OH_Value_Destroy](#oh_value_destroy) ([OH_Data_Value](#oh_data_value) \*value) | 销毁[OH_Data_Value](#oh_data_value)对象。 | 144| int [OH_Value_PutNull](#oh_value_putnull) ([OH_Data_Value](#oh_data_value) \*value) | 添加空数据。 | 145| int [OH_Value_PutInt](#oh_value_putint) ([OH_Data_Value](#oh_data_value) \*value, int64_t val) | 添加整型数据。 | 146| int [OH_Value_PutReal](#oh_value_putreal) ([OH_Data_Value](#oh_data_value) \*value, double val) | 添加REAL类型数据。 | 147| int [OH_Value_PutText](#oh_value_puttext) ([OH_Data_Value](#oh_data_value) \*value, const char \*val) | 添加字符串类型数据。 | 148| int [OH_Value_PutBlob](#oh_value_putblob) ([OH_Data_Value](#oh_data_value) \*value, const unsigned char \*val, size_t length) | 添加BLOB类型数据。 | 149| int [OH_Value_PutAsset](#oh_value_putasset) ([OH_Data_Value](#oh_data_value) \*value, const Data_Asset \*val) | 添加ASSET类型数据。 | 150| int [OH_Value_PutAssets](#oh_value_putassets) ([OH_Data_Value](#oh_data_value) \*value, const Data_Asset \*const \*val, size_t length) | 添加ASSETS类型数据。 | 151| int [OH_Value_PutFloatVector](#oh_value_putfloatvector) ([OH_Data_Value](#oh_data_value) \*value, const float \*val, size_t length) | 添加float数组类型数据。 | 152| int [OH_Value_PutUnlimitedInt](#oh_value_putunlimitedint) ([OH_Data_Value](#oh_data_value) \*value, int sign, const uint64_t \*trueForm, size_t length) | 添加任意长度的整型数组数据。 | 153| int [OH_Value_GetType](#oh_value_gettype) ([OH_Data_Value](#oh_data_value) \*value, [OH_ColumnType](#oh_columntype) \*type) | 获取数据类型。 | 154| int [OH_Value_IsNull](#oh_value_isnull) ([OH_Data_Value](#oh_data_value) \*value, bool \*val) | 检查数据是否为空。 | 155| int [OH_Value_GetInt](#oh_value_getint) ([OH_Data_Value](#oh_data_value) \*value, int64_t \*val) | 获取整型数据。 | 156| int [OH_Value_GetReal](#oh_value_getreal) ([OH_Data_Value](#oh_data_value) \*value, double \*val) | 获取REAL类型数据。 | 157| int [OH_Value_GetText](#oh_value_gettext) ([OH_Data_Value](#oh_data_value) \*value, const char \*\*val) | 获取字符串类型数据。 | 158| int [OH_Value_GetBlob](#oh_value_getblob) ([OH_Data_Value](#oh_data_value) \*value, const uint8_t \*\*val, size_t \*length) | 获取BLOB类型数据。 | 159| int [OH_Value_GetAsset](#oh_value_getasset) ([OH_Data_Value](#oh_data_value) \*value, Data_Asset \*val) | 获取ASSET类型数据。 | 160| int [OH_Value_GetAssetsCount](#oh_value_getassetscount) ([OH_Data_Value](#oh_data_value) \*value, size_t \*length) | 获取ASSETS类型数据的大小。 | 161| int [OH_Value_GetAssets](#oh_value_getassets) ([OH_Data_Value](#oh_data_value) \*value, Data_Asset \*\*val, size_t inLen, size_t \*outLen) | 获取ASSETS类型数据。 | 162| int [OH_Value_GetFloatVectorCount](#oh_value_getfloatvectorcount) ([OH_Data_Value](#oh_data_value) \*value, size_t \*length) | 获取float数组类型数据的大小。 | 163| int [OH_Value_GetFloatVector](#oh_value_getfloatvector) ([OH_Data_Value](#oh_data_value) \*value, float \*val, size_t inLen, size_t \*outLen) | 获取float数组类型数据。 | 164| int [OH_Value_GetUnlimitedIntBand](#oh_value_getunlimitedintband) ([OH_Data_Value](#oh_data_value) \*value, size_t \*length) | 获取任意长度的整型数据的大小。 | 165| int [OH_Value_GetUnlimitedInt](#oh_value_getunlimitedint) ([OH_Data_Value](#oh_data_value) \*value, int \*sign, uint64_t \*trueForm, size_t inLen, size_t \*outLen) | 获取任意长度的整型数据。 | 166| [OH_Data_Values](#oh_data_values) \* [OH_Values_Create](#oh_values_create) (void) | 创建[OH_Data_Values](#oh_data_values)实例,用于储存多条键值对数据。 | 167| int [OH_Values_Destroy](#oh_values_destroy) ([OH_Data_Values](#oh_data_values) \*values) | 销毁[OH_Data_Values](#oh_data_values)对象。 | 168| int [OH_Values_Put](#oh_values_put) ([OH_Data_Values](#oh_data_values) \*values, const [OH_Data_Value](#oh_data_value) \*val) | 添加OH_Data_Value类型数据给OH_Data_Values对象。 | 169| int [OH_Values_PutNull](#oh_values_putnull) ([OH_Data_Values](#oh_data_values) \*values) | 添加空数据给OH_Data_Values对象。 | 170| int [OH_Values_PutInt](#oh_values_putint) ([OH_Data_Values](#oh_data_values) \*values, int64_t val) | 添加整型数据给OH_Data_Values对象。 | 171| int [OH_Values_PutReal](#oh_values_putreal) ([OH_Data_Values](#oh_data_values) \*values, double val) | 添加REAL类型数据给OH_Data_Values对象。 | 172| int [OH_Values_PutText](#oh_values_puttext) ([OH_Data_Values](#oh_data_values) \*values, const char \*val) | 添加字符串类型数据给OH_Data_Values对象。 | 173| int [OH_Values_PutBlob](#oh_values_putblob) ([OH_Data_Values](#oh_data_values) \*values, const unsigned char \*val, size_t length) | 添加BLOB类型数据给OH_Data_Values对象。 | 174| int [OH_Values_PutAsset](#oh_values_putasset) ([OH_Data_Values](#oh_data_values) \*values, const Data_Asset \*val) | 添加ASSET类型数据给OH_Data_Values对象。 | 175| int [OH_Values_PutAssets](#oh_values_putassets) ([OH_Data_Values](#oh_data_values) \*values, const Data_Asset \*const \*val, size_t length) | 添加ASSETS类型数据给OH_Data_Values对象。 | 176| int [OH_Values_PutFloatVector](#oh_values_putfloatvector) ([OH_Data_Values](#oh_data_values) \*values, const float \*val, size_t length) | 添加float数组类型数据给OH_Data_Values对象。 | 177| int [OH_Values_PutUnlimitedInt](#oh_values_putunlimitedint) ([OH_Data_Values](#oh_data_values) \*values, int sign, const uint64_t \*trueForm, size_t length) | 添加任意长度的整型数组数据给OH_Data_Values对象。 | 178| int [OH_Values_Count](#oh_values_count) ([OH_Data_Values](#oh_data_values) \*values, size_t \*count) | 获取数据个数。 | 179| int [OH_Values_GetType](#oh_values_gettype) ([OH_Data_Values](#oh_data_values) \*values, int index, [OH_ColumnType](#oh_columntype) \*type) | 获取数据类型。 | 180| int [OH_Values_Get](#oh_values_get) ([OH_Data_Values](#oh_data_values) \*values, int index, [OH_Data_Value](#oh_data_value) \*\*val) | 获取OH_Data_Value类型数据。 | 181| int [OH_Values_IsNull](#oh_values_isnull) ([OH_Data_Values](#oh_data_values) \*values, int index, bool \*val) | 检查数据是否为空。 | 182| int [OH_Values_GetInt](#oh_values_getint) ([OH_Data_Values](#oh_data_values) \*values, int index, int64_t \*val) | 获取整型数据。 | 183| int [OH_Values_GetReal](#oh_values_getreal) ([OH_Data_Values](#oh_data_values) \*values, int index, double \*val) | 获取REAL类型数据。 | 184| int [OH_Values_GetText](#oh_values_gettext) ([OH_Data_Values](#oh_data_values) \*values, int index, const char \*\*val) | 获取字符串类型数据。 | 185| int [OH_Values_GetBlob](#oh_values_getblob) ([OH_Data_Values](#oh_data_values) \*values, int index, const uint8_t \*\*val, size_t \*length) | 获取BLOB类型数据。 | 186| int [OH_Values_GetAsset](#oh_values_getasset) ([OH_Data_Values](#oh_data_values) \*values, int index, Data_Asset \*val) | 获取ASSET类型数据。 | 187| int [OH_Values_GetAssetsCount](#oh_values_getassetscount) ([OH_Data_Values](#oh_data_values) \*values, int index, size_t \*length) | 获取ASSETS类型数据的大小。 | 188| int [OH_Values_GetAssets](#oh_values_getassets) ([OH_Data_Values](#oh_data_values) \*values, int index, Data_Asset \*\*val, size_t inLen, size_t \*outLen) | 获取ASSETS类型数据。 | 189| int [OH_Values_GetFloatVectorCount](#oh_values_getfloatvectorcount) ([OH_Data_Values](#oh_data_values) \*values, int index, size_t \*length) | 获取float数组类型数据的大小。 | 190| int [OH_Values_GetFloatVector](#oh_values_getfloatvector) ([OH_Data_Values](#oh_data_values) \*values, int index, float \*val, size_t inLen, size_t \*outLen) | 获取float数组类型数据。 | 191| int [OH_Values_GetUnlimitedIntBand](#oh_values_getunlimitedintband) ([OH_Data_Values](#oh_data_values) \*values, int index, size_t \*length) | 获取任意长度的整型数据的大小。 | 192| int [OH_Values_GetUnlimitedInt](#oh_values_getunlimitedint) ([OH_Data_Values](#oh_data_values) \*values, int index, int \*sign, uint64_t \*trueForm, size_t inLen, size_t \*outLen) | 获取任意长度的整型数据。 | 193| [OH_Data_VBuckets](#oh_data_vbuckets) \* [OH_VBuckets_Create](#oh_vbuckets_create) (void) | 创建OH_Data_VBuckets实例。 | 194| int [OH_VBuckets_Destroy](#oh_vbuckets_destroy) ([OH_Data_VBuckets](#oh_data_vbuckets) \*buckets) | 销毁OH_Data_VBuckets对象。 | 195| int [OH_VBuckets_PutRow](#oh_vbuckets_putrow) ([OH_Data_VBuckets](#oh_data_vbuckets) \*buckets, const [OH_VBucket](_o_h___v_bucket.md) \*row) | 添加OH_VBucket类型数据。 | 196| int [OH_VBuckets_PutRows](#oh_vbuckets_putrows) ([OH_Data_VBuckets](#oh_data_vbuckets) \*buckets, const [OH_Data_VBuckets](#oh_data_vbuckets) \*rows) | 添加OH_Data_VBuckets类型数据。 | 197| int [OH_VBuckets_RowCount](#oh_vbuckets_rowcount) ([OH_Data_VBuckets](#oh_data_vbuckets) \*buckets, size_t \*count) | 获取OH_Data_VBuckets中OH_VBucket的行数。 | 198| [OH_RDB_TransOptions](#oh_rdb_transoptions) \* [OH_RdbTrans_CreateOptions](#oh_rdbtrans_createoptions) (void) | 创建事务配置对象。 | 199| int [OH_RdbTrans_DestroyOptions](#oh_rdbtrans_destroyoptions) ([OH_RDB_TransOptions](#oh_rdb_transoptions) \*opitons) | 销毁事务配置对象。 | 200| int [OH_RdbTransOption_SetType](#oh_rdbtransoption_settype) ([OH_RDB_TransOptions](#oh_rdb_transoptions) \*opitons, [OH_RDB_TransType](#oh_rdb_transtype) type) | 设置关系型数据库事务类型。 | 201| int [OH_RdbTrans_Commit](#oh_rdbtrans_commit) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans) | 提交事务。 | 202| int [OH_RdbTrans_Rollback](#oh_rdbtrans_rollback) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans) | 回滚事务。 | 203| int [OH_RdbTrans_Insert](#oh_rdbtrans_insert) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans, const char \*table, const [OH_VBucket](_o_h___v_bucket.md) \*row, int64_t \*rowId) | 将一行数据插入到目标表中。 | 204| int [OH_RdbTrans_Update](#oh_rdbtrans_update) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans, const [OH_VBucket](_o_h___v_bucket.md) \*row, const [OH_Predicates](_o_h___predicates.md) \*predicates, int64_t \*changes) | 根据指定的条件更新数据库中的数据。 | 205| int [OH_RdbTrans_Delete](#oh_rdbtrans_delete) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans, const [OH_Predicates](_o_h___predicates.md) \*predicates, int64_t \*changes) | 根据指定条件从数据库中删除数据。 | 206| [OH_Cursor](_o_h___cursor.md) \* [OH_RdbTrans_Query](#oh_rdbtrans_query) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans, const [OH_Predicates](_o_h___predicates.md) \*predicates, const char \*columns[], int len) | 根据指定的条件查询数据库中的数据。 | 207| [OH_Cursor](_o_h___cursor.md) \* [OH_RdbTrans_QuerySql](#oh_rdbtrans_querysql) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans, const char \*sql, const [OH_Data_Values](#oh_data_values) \*args) | 根据SQL语句查询数据库中的数据。 | 208| int [OH_RdbTrans_Execute](#oh_rdbtrans_execute) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans, const char \*sql, const [OH_Data_Values](#oh_data_values) \*args, [OH_Data_Value](#oh_data_value) \*\*result) | 执行包含指定参数的SQL语句。 | 209| int [OH_RdbTrans_Destroy](#oh_rdbtrans_destroy) ([OH_Rdb_Transaction](#oh_rdb_transaction) \*trans) | 销毁事务对象。 | 210| int [OH_VBucket_PutFloatVector](#oh_vbucket_putfloatvector) ([OH_VBucket](_o_h___v_bucket.md) \*bucket, const char \*field, const float \*vec, size_t len) | 将float数组类型对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 211| int [OH_VBucket_PutUnlimitedInt](#oh_vbucket_putunlimitedint) ([OH_VBucket](_o_h___v_bucket.md) \*bucket, const char \*field, int sign, const uint64_t \*trueForm, size_t len) | 将任意长度的整数类型对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 212| [OH_Rdb_ConfigV2](#oh_rdb_configv2) \* [OH_Rdb_CreateConfig](#oh_rdb_createconfig) () | 创建一个[OH_Rdb_ConfigV2](#oh_rdb_configv2)实例,并返回指向该实例的指针。 | 213| int [OH_Rdb_DestroyConfig](#oh_rdb_destroyconfig) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config) | 销毁由[OH_Rdb_CreateConfig](#oh_rdb_createconfig)创建的[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象。 | 214| int [OH_Rdb_SetDatabaseDir](#oh_rdb_setdatabasedir) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, const char \*databaseDir) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库文件路径。 | 215| int [OH_Rdb_SetStoreName](#oh_rdb_setstorename) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, const char \*storeName) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库名称。 | 216| int [OH_Rdb_SetBundleName](#oh_rdb_setbundlename) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, const char \*bundleName) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置应用包名。 | 217| int [OH_Rdb_SetModuleName](#oh_rdb_setmodulename) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, const char \*moduleName) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置应用模块名。 | 218| int [OH_Rdb_SetEncrypted](#oh_rdb_setencrypted) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, bool isEncrypted) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库是否加密。 | 219| int [OH_Rdb_SetSecurityLevel](#oh_rdb_setsecuritylevel) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, int securityLevel) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 | 220| int [OH_Rdb_SetArea](#oh_rdb_setarea) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, int area) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库安全区域等级[Rdb_SecurityArea](#rdb_securityarea)。 | 221| int [OH_Rdb_SetDbType](#oh_rdb_setdbtype) ([OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, int dbType) | 给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库类型[Rdb_DBType](#rdb_dbtype)。 | 222| const int \* [OH_Rdb_GetSupportedDbType](#oh_rdb_getsupporteddbtype) (int \*typeCount) | 获得支持的数据库类型[Rdb_DBType](#rdb_dbtype)。 | 223| [OH_Rdb_Store](_o_h___rdb___store.md) \* [OH_Rdb_CreateOrOpen](#oh_rdb_createoropen) (const [OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config, int \*errCode) | 使用指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),获得一个对应的[OH_Rdb_Store](_o_h___rdb___store.md)实例,用来操作关系型数据库。 | 224| int [OH_Rdb_DeleteStoreV2](#oh_rdb_deletestorev2) (const [OH_Rdb_ConfigV2](#oh_rdb_configv2) \*config) | 使用指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2)删除数据库。当使用向量数据库时,在调用接口前,应当确保向量数据库已经被正确关闭。 | 225| int [OH_Rdb_ExecuteByTrxId](#oh_rdb_executebytrxid) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int64_t trxId, const char \*sql) | 使用指定的事务ID执行无返回值的SQL语句,仅支持向量数据库。 | 226| int [OH_Rdb_BeginTransWithTrxId](#oh_rdb_begintranswithtrxid) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int64_t \*trxId) | 在开始执行SQL语句之前,开始事务,并获得该事务的ID,仅支持向量数据库。 | 227| int [OH_Rdb_RollBackByTrxId](#oh_rdb_rollbackbytrxid) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int64_t trxId) | 使用指定的事务ID,回滚已经执行的SQL语句,仅支持向量数据库。 | 228| int [OH_Rdb_CommitByTrxId](#oh_rdb_commitbytrxid) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int64_t trxId) | 使用指定的事务ID,提交已经执行的SQL语句,仅支持向量数据库。 | 229| [OH_VBucket_PutAsset](#oh_vbucket_putasset) ([OH_VBucket](_o_h___v_bucket.md) \*bucket, const char \*field, Data_Asset \*value) | 将**Data_Asset**类型的对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 230| [OH_VBucket_PutAssets](#oh_vbucket_putassets) ([OH_VBucket](_o_h___v_bucket.md) \*bucket, const char \*field, Data_Asset \*\*value, int count) | 将**Data_Asset**类型的对象数组放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 231| [OH_Rdb_CreateValueObject](#oh_rdb_createvalueobject) () | 创建[OH_VObject](_o_h___v_object.md)实例。 | 232| [OH_Rdb_CreateValuesBucket](#oh_rdb_createvaluesbucket) () | 创建[OH_VBucket](_o_h___v_bucket.md)实例。 | 233| [OH_Rdb_CreatePredicates](#oh_rdb_createpredicates) (const char \*table) | 创建[OH_Predicates](_o_h___predicates.md)实例。 | 234| [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)实例,操作关系型数据库。 | 235| [OH_Rdb_CloseStore](#oh_rdb_closestore) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 销毁[OH_Rdb_Store](_o_h___rdb___store.md)对象,并回收该对象占用的内存。 | 236| [OH_Rdb_DeleteStore](#oh_rdb_deletestore) (const [OH_Rdb_Config](_o_h___rdb___config.md) \*config) | 使用指定的数据库文件配置删除数据库。 | 237| [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) | 向目标表中插入一行数据。 | 238| [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) | 根据指定的条件更新数据库中的数据。 | 239| [OH_Rdb_Delete](#oh_rdb_delete) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件删除数据库中的数据。 | 240| [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) | 根据指定条件查询数据库中的数据。 | 241| [OH_Rdb_Execute](#oh_rdb_execute) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql) | 执行无返回值的SQL语句。 | 242| [OH_Rdb_ExecuteQuery](#oh_rdb_executequery) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql) | 根据指定SQL语句查询数据库中的数据,支持向量数据库。 | 243| [OH_Rdb_BeginTransaction](#oh_rdb_begintransaction) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 在开始执行SQL语句之前,开始事务。 | 244| [OH_Rdb_RollBack](#oh_rdb_rollback) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 回滚已经执行的SQL语句。 | 245| [OH_Rdb_Commit](#oh_rdb_commit) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 提交已执行的SQL语句。 | 246| [OH_Rdb_Backup](#oh_rdb_backup) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*databasePath) | 以指定路径备份数据库,支持向量数据库。 | 247| [OH_Rdb_Restore](#oh_rdb_restore) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*databasePath) | 从指定的数据库备份文件恢复数据库,支持向量数据库。 | 248| [OH_Rdb_GetVersion](#oh_rdb_getversion) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int \*version) | 获取数据库版本。 | 249| [OH_Rdb_SetVersion](#oh_rdb_setversion) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int version) | 设置数据库版本。 | 250| [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) | 设置分布式数据库表。 | 251| [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) | 获取数据库表中数据的最后修改时间。 | 252| [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) | 为数据库注册观察者。当分布式数据库中的数据发生更改时,将调用回调。 | 253| [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) | 从数据库中删除指定类型的指定观察者。 | 254| [OH_Rdb_GetTableDetails](#oh_rdb_gettabledetails) ([Rdb_ProgressDetails](_rdb___progress_details.md) \*progress, int32_t version) | 从端云同步任务的统计信息中获取数据库表的统计信息。 | 255| [OH_Rdb_CloudSync](#oh_rdb_cloudsync) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [Rdb_SyncMode](#rdb_syncmode) mode, const char \*tables[], uint32_t count, const [Rdb_ProgressObserver](_rdb___progress_observer.md) \*observer) | 进行端云同步。 | 256| [OH_Rdb_SubscribeAutoSyncProgress](#oh_rdb_subscribeautosyncprogress) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const [Rdb_ProgressObserver](_rdb___progress_observer.md) \*observer) | 订阅RDB存储的自动同步进度。当收到自动同步进度的通知时,将调用回调。 | 257| [OH_Rdb_UnsubscribeAutoSyncProgress](#oh_rdb_unsubscribeautosyncprogress) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const [Rdb_ProgressObserver](_rdb___progress_observer.md) \*observer) | 取消订阅RDB存储的自动同步进程。 | 258| int [OH_Rdb_LockRow](#oh_rdb_lockrow) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件锁定数据库中的数据,锁定数据不执行端云同步。 | 259| int [OH_Rdb_UnlockRow](#oh_rdb_unlockrow) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件锁解锁数据库中的数据。 | 260| [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) | 根据指定条件查询数据库中锁定的数据。 | 261 262### 变量 263 264| 名称 | 描述 | 265| -------- | -------- | 266| [OH_Cursor::id](#id-15) | OH_Cursor结构体的唯一标识符。 | 267| [OH_Cursor::getColumnCount](#getcolumncount) | 函数指针,获取结果集中的列数。 | 268| [OH_Cursor::getColumnType](#getcolumntype) | 函数指针,根据指定的列索引获取列类型。 | 269| [OH_Cursor::getColumnIndex](#getcolumnindex) | 函数指针,根据指定的列名获取列索引。 | 270| [OH_Cursor::getColumnName](#getcolumnname) | 函数指针,根据指定的列索引获取列名。 | 271| [OH_Cursor::getRowCount](#getrowcount) | 函数指针,获取结果集中的行数。 | 272| [OH_Cursor::goToNextRow](#gotonextrow) | 函数指针,转到结果集的下一行。 | 273| [OH_Cursor::getSize](#getsize) | 函数指针,当结果集中列的数据类型是BLOB或者TEXT时,获取其值所需的内存。 | 274| [OH_Cursor::getText](#gettext) | 函数指针,以字符串形式获取当前行中指定列的值。 | 275| [OH_Cursor::getInt64](#getint64) | 函数指针,以int64_t形式获取当前行中指定列的值。 | 276| [OH_Cursor::getReal](#getreal) | 函数指针,以double形式获取当前行中指定列的值。 | 277| [OH_Cursor::getBlob](#getblob) | 函数指针,以字节数组的形式获取当前行中指定列的值。 | 278| [OH_Cursor::isNull](#isnull-12) | 函数指针,检查当前行中指定列的值是否为null。 | 279| [OH_Cursor::destroy](#destroy-14) | 函数指针,关闭结果集。 | 280| [OH_Cursor::getAsset](#getasset) | 函数指针,以资产的形式获取当前行中指定列的值。 | 281| [OH_Cursor::getAssets](#getassets) | 函数指针,以资产数组的形式获取当前行中指定列的值。 | 282| [OH_Predicates::id](#id-25) | OH_Predicates结构体的唯一标识符。 | 283| [OH_Predicates::equalTo](#equalto) | 函数指针,配置谓词以匹配数据字段等于指定值的字段。 | 284| [OH_Predicates::notEqualTo](#notequalto) | 函数指针,配置谓词以匹配数据字段不等于指定值的字段。 | 285| [OH_Predicates::beginWrap](#beginwrap) | 函数指针,向谓词添加左括号。 | 286| [OH_Predicates::endWrap](#endwrap) | 函数指针,向谓词添加右括号。 | 287| [OH_Predicates::orOperate](#oroperate) | 函数指针,将或条件添加到谓词中。 | 288| [OH_Predicates::andOperate](#andoperate) | 函数指针,向谓词添加和条件。 | 289| [OH_Predicates::isNull](#isnull-22) | 函数指针,配置谓词以匹配值为null的字段。 | 290| [OH_Predicates::isNotNull](#isnotnull) | 函数指针,配置谓词以匹配值不为null的指定字段。 | 291| [OH_Predicates::like](#like) | 函数指针,配置谓词以匹配数据字段为field且值类似于指定字符串的字段。 | 292| [OH_Predicates::between](#between) | 函数指针,将谓词配置为匹配数据字段为field且其值在给定范围内的指定字段。 | 293| [OH_Predicates::notBetween](#notbetween) | 函数指针,将谓词配置为匹配数据字段为field且其值超出给定范围内的指定字段。 | 294| [OH_Predicates::greaterThan](#greaterthan) | 函数指针,配置谓词以匹配数据字段为field且值大于指定值valueObject的字段。 | 295| [OH_Predicates::lessThan](#lessthan) | 函数指针,配置谓词以匹配数据字段为field且值小于指定值valueObject的字段 | 296| [OH_Predicates::greaterThanOrEqualTo](#greaterthanorequalto) | 函数指针,配置谓词以匹配数据字段为field且值大于或等于指定值valueObject的字段 | 297| [OH_Predicates::lessThanOrEqualTo](#lessthanorequalto) | 函数指针,配置谓词以匹配数据字段为field且值小于或等于指定值valueObject的字段 | 298| [OH_Predicates::orderBy](#orderby) | 函数指针,配置谓词以匹配其值按升序或降序排序的列。 | 299| [OH_Predicates::distinct](#distinct) | 函数指针,配置谓词以过滤重复记录并仅保留其中一个。 | 300| [OH_Predicates::limit](#limit) | 函数指针,设置最大数据记录数的谓词。 | 301| [OH_Predicates::offset](#offset) | 函数指针,配置谓词以指定返回结果的起始位置。 | 302| [OH_Predicates::groupBy](#groupby) | 函数指针,配置R谓词按指定列分组查询结果。 | 303| [OH_Predicates::in](#in) | 函数指针,配置谓词以匹配数据字段为field且值在给定范围内的指定字段。 | 304| [OH_Predicates::notIn](#notin) | 函数指针,配置谓词以匹配数据字段为field且值超出给定范围内的指定字段。 | 305| [OH_Predicates::clear](#clear-12) | 函数指针,清空谓词。 | 306| [OH_Predicates::destroy](#destroy-24) | 销毁[OH_Predicates](_o_h___predicates.md)对象,并回收该对象占用的内存。 | 307| [OH_VObject::id](#id-35) | OH_VObject结构体的唯一标识符。 | 308| [OH_VObject::putInt64](#putint64-22) | 将int64类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 309| [OH_VObject::putDouble](#putdouble) | 将double类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 310| [OH_VObject::putText](#puttext-22) | 将char \*类型的字符数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 311| [OH_VObject::putTexts](#puttexts) | 将char \*类型的字符串数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 | 312| [OH_VObject::destroy](#destroy-44) | 销毁[OH_VObject](_o_h___v_object.md)对象,并回收该对象占用的内存。 | 313| [OH_VBucket::id](#id-45) | OH_VBucket结构体的唯一标识符。 | 314| [OH_VBucket::capability](#capability) | 表示结构体的存储键值对的数量 | 315| [OH_VBucket::putText](#puttext-12) | 将char\*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 316| [OH_VBucket::putInt64](#putint64-12) | 将int64_t值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 317| [OH_VBucket::putReal](#putreal) | 将double值放入给定列名的{**OH_VBucket}对象中。** | 318| [OH_VBucket::putBlob](#putblob) | 将const uint8_t \*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 319| [OH_VBucket::putNull](#putnull) | 将NULL值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 | 320| [OH_VBucket::clear](#clear-22) | 清空[OH_VBucket](_o_h___v_bucket.md)对象。 | 321| [OH_VBucket::destroy](#destroy-34) | 销毁[OH_VBucket](_o_h___v_bucket.md)对象,并回收该对象占用的内存。 | 322| [OH_Rdb_Config::selfSize](#selfsize) | 该结构体的大小。 | 323| [OH_Rdb_Config::dataBaseDir](#databasedir) | 数据库文件路径。 | 324| [OH_Rdb_Config::storeName](#storename) | 数据库名称。 | 325| [OH_Rdb_Config::bundleName](#bundlename) | 应用包名。 | 326| [OH_Rdb_Config::moduleName](#modulename) | 应用模块名。 | 327| [OH_Rdb_Config::isEncrypt](#isencrypt) | 指定数据库是否加密。 | 328| [OH_Rdb_Config::securityLevel](#securitylevel) | 设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 | 329| [OH_Rdb_Config::area](#area) | 设置数据库安全区域等级[Rdb_SecurityArea](#rdb_securityarea)。 | 330| [OH_Rdb_Store::id](#id-55) | OH_Rdb_Store结构体的唯一标识符。 | 331| [Rdb_DistributedConfig::version](#version-13) | 用于唯一标识Rdb_DistributedConfig结构的版本。 | 332| [Rdb_DistributedConfig::isAutoSync](#isautosync) | 表示该表是否支持自动同步。 | 333| [Rdb_KeyInfo::count](#count) | 表示发生变化的主键或者行号的数量。 | 334| [Rdb_KeyInfo::type](#type) | 表示主键的类型[OH_ColumnType](#oh_columntype)。 | 335| [Rdb_KeyInfo::Rdb_KeyData::integer](#integer) | 存放uint64_t类型的数据。 | 336| [Rdb_KeyInfo::Rdb_KeyData::real](#real) | 存放double类型的数据。 | 337| [Rdb_KeyInfo::Rdb_KeyData::text](#text) | 存放char \*类型的数据。 | 338| [Rdb_KeyInfo::data](_rdb___key_info.md#成员变量) | 存放变化的具体数据。 | 339| [Rdb_ChangeInfo::version](#version-23) | 用于唯一标识Rdb_DistributedConfig结构的版本。 | 340| [Rdb_ChangeInfo::tableName](#tablename) | 表示发生变化的表的名称。 | 341| [Rdb_ChangeInfo::ChangeType](#changetype) | 表示发生变化的数据的类型,数据或者资产附件发生变化。 | 342| [Rdb_ChangeInfo::inserted](#inserted) | 记录插入数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示插入数据的行号。 | 343| [Rdb_ChangeInfo::updated](#updated) | 记录更新数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示更新数据的行号。 | 344| [Rdb_ChangeInfo::deleted](#deleted) | 记录删除数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示删除数据的行号。 | 345| [Rdb_SubscribeCallback::detailsObserver](#detailsobserver) | 端云数据更改事件的细节的回调函数。 | 346| [Rdb_SubscribeCallback::briefObserver](#briefobserver) | 端云数据更改事件的回调函数。 | 347| [Rdb_DataObserver::context](#context-12) | 表示数据观察者的上下文。 | 348| [Rdb_DataObserver::callback](#callback-12) | 数据观察者的回调。 | 349| [Rdb_Statistic::total](#total) | 表示数据库表中需要端云同步的总行数。 | 350| [Rdb_Statistic::successful](#successful) | 表示数据库表中端云同步成功的行数。 | 351| [Rdb_Statistic::failed](#failed) | 表示数据库表中端云同步失败的行数。 | 352| [Rdb_Statistic::remained](#remained) | 表示数据库表中端云同步剩余未执行的行数。 | 353| [Rdb_TableDetails::table](#table) | 数据库表名。 | 354| [Rdb_TableDetails::upload](#upload) | 表示数据库表中端云同步上传过程的统计信息。 | 355| [Rdb_TableDetails::download](#download) | 表示数据库表中端云同步下载过程的统计信息。 | 356| [Rdb_ProgressDetails::version](#version-33) | 用于唯一标识OH_TableDetails结构的版本。 | 357| [Rdb_ProgressDetails::schedule](#schedule) | 表示端云同步过程。 | 358| [Rdb_ProgressDetails::code](#code) | 表示端云同步过程的状态。 | 359| [Rdb_ProgressDetails::tableLength](#tablelength) | 表示端云同步的表的数量 | 360| [Rdb_ProgressObserver::context](#context-22) | 端云同步进度观察者的上下文。 | 361| [Rdb_ProgressObserver::callback](#callback-22) | 端云同步进度观察者的回调函数。 | 362 363 364## 宏定义说明 365 366 367### DISTRIBUTED_CHANGE_INFO_VERSION 368 369``` 370#define DISTRIBUTED_CHANGE_INFO_VERSION 1 371``` 372 373**描述** 374 375描述[Rdb_ChangeInfo](_rdb___change_info.md)的版本。 376 377**起始版本:** 11 378 379 380### DISTRIBUTED_CONFIG_VERSION 381 382``` 383#define DISTRIBUTED_CONFIG_VERSION 1 384``` 385 386**描述** 387 388描述[Rdb_DistributedConfig](_rdb___distributed_config.md)的版本。 389 390**起始版本:** 11 391 392 393### DISTRIBUTED_PROGRESS_DETAIL_VERSION 394 395``` 396#define DISTRIBUTED_PROGRESS_DETAIL_VERSION 1 397``` 398 399**描述** 400 401描述**OH_ProgressDetails**的版本。 402 403**起始版本:** 11 404 405 406## 类型定义说明 407 408### Rdb_ConflictResolution 409 410``` 411typedef enum Rdb_ConflictResolution Rdb_ConflictResolution 412``` 413 414**描述** 415 416表示冲突解决策略的枚举。 417 418**起始版本:** 18 419 420### OH_ColumnType 421 422``` 423typedef enum OH_ColumnType OH_ColumnType 424``` 425 426**描述** 427 428表示列的类型。 429 430**起始版本:** 10 431 432### OH_Data_Value 433 434``` 435typedef struct OH_Data_Value OH_Data_Value 436``` 437 438**描述** 439 440定义[OH_Data_Value](#oh_data_value)结构类型。 441 442**起始版本:** 18 443 444 445### OH_Data_Values 446 447``` 448typedef struct OH_Data_Values OH_Data_Values 449``` 450 451**描述** 452 453定义[OH_Data_Values](#oh_data_values)结构类型。 454 455**起始版本:** 18 456 457 458### OH_Data_VBuckets 459 460``` 461typedef struct OH_Data_VBuckets OH_Data_VBuckets 462``` 463 464**描述** 465 466定义OH_Data_VBuckets结构类型。 467 468**起始版本:** 18 469 470### OH_Rdb_Transaction 471 472``` 473typedef struct OH_Rdb_Transaction OH_Rdb_Transaction 474``` 475 476**描述** 477 478定义[OH_Rdb_Transaction](#oh_rdb_transaction)结构类型。 479 480**起始版本:** 18 481 482 483### OH_RDB_TransOptions 484 485``` 486typedef struct OH_RDB_TransOptions OH_RDB_TransOptions 487``` 488 489**描述** 490 491定义[OH_RDB_TransOptions](#oh_rdb_transoptions)结构类型。 492 493**起始版本:** 18 494 495 496### OH_RDB_TransType 497 498``` 499typedef enum OH_RDB_TransType OH_RDB_TransType 500``` 501 502**描述** 503 504表示关系型数据库事务类型。 505 506**起始版本:** 18 507 508### Rdb_Tokenizer 509 510``` 511typedef enum Rdb_Tokenizer Rdb_Tokenizer 512``` 513 514**描述** 515 516描述数据库的分词器类型。 517 518**起始版本:** 17 519 520### OH_Rdb_ConfigV2 521 522``` 523typedef struct OH_Rdb_ConfigV2 OH_Rdb_ConfigV2 524``` 525 526**描述** 527 528管理关系数据库配置,与[OH_Rdb_Config](_o_h___rdb___config.md)的区别是该结构体成员变量不对外暴露,使用一系列方法配置该结构体的属性。 529 530**起始版本:** 14 531 532 533### Rdb_DBType 534 535``` 536typedef enum Rdb_DBType Rdb_DBType 537``` 538 539**描述** 540 541描述数据库的内核类型。 542 543**起始版本:** 14 544 545### OH_Cursor 546 547``` 548typedef struct OH_Cursor OH_Cursor 549``` 550 551**描述** 552 553表示结果集。 554 555提供通过查询数据库生成的数据库结果集的访问方法。 556 557**起始版本:** 10 558 559 560### OH_OrderType 561 562``` 563typedef enum OH_OrderType OH_OrderType 564``` 565 566**描述** 567 568排序方式。 569 570**起始版本:** 10 571 572 573### OH_Predicates 574 575``` 576typedef struct OH_Predicates OH_Predicates 577``` 578 579**描述** 580 581表示谓词。 582 583**起始版本:** 10 584 585 586### OH_Rdb_ErrCode 587 588``` 589typedef enum OH_Rdb_ErrCode OH_Rdb_ErrCode 590``` 591 592**描述** 593 594表示错误码信息。 595 596**起始版本:** 10 597 598 599### OH_Rdb_SecurityLevel 600 601``` 602typedef enum OH_Rdb_SecurityLevel OH_Rdb_SecurityLevel 603``` 604 605**描述** 606 607数据库的安全级别枚举。 608 609**起始版本:** 10 610 611 612### OH_VBucket 613 614``` 615typedef struct OH_VBucket OH_VBucket 616``` 617 618**描述** 619 620用于存储键值对的类型。 621 622**起始版本:** 10 623 624 625### OH_VObject 626 627``` 628typedef struct OH_VObject OH_VObject 629``` 630 631**描述** 632 633表示允许的数据字段类型。 634 635**起始版本:** 10 636 637 638### Rdb_BriefObserver 639 640``` 641typedef void(* Rdb_BriefObserver) (void *context, const char *values[], uint32_t count) 642``` 643 644**描述** 645 646端云数据更改事件的回调函数。 647 648**起始版本:** 11 649 650**参数:** 651 652| 名称 | 描述 | 653| -------- | -------- | 654| context | 表示数据观察者的上下文。 | 655| values | 表示更改的端云账号。 | 656| count | 表示更改的端云账号数量。 | 657 658 659### Rdb_ChangeInfo 660 661``` 662typedef struct Rdb_ChangeInfo Rdb_ChangeInfo 663``` 664 665**描述** 666 667记录端云同步过程详情。 668 669**起始版本:** 11 670 671 672### Rdb_ChangeType 673 674``` 675typedef enum Rdb_ChangeType Rdb_ChangeType 676``` 677 678**描述** 679 680描述数据变更类型。 681 682**起始版本:** 11 683 684 685### Rdb_DataObserver 686 687``` 688typedef struct Rdb_DataObserver Rdb_DataObserver 689``` 690 691**描述** 692 693表示数据观察者。 694 695**起始版本:** 11 696 697 698### Rdb_DetailsObserver 699 700``` 701typedef void(* Rdb_DetailsObserver) (void *context, const Rdb_ChangeInfo **changeInfo, uint32_t count) 702``` 703 704**描述** 705 706端云数据更改事件的细节的回调函数。 707 708**起始版本:** 11 709 710**参数:** 711 712| 名称 | 描述 | 713| -------- | -------- | 714| context | 表示数据观察者的上下文。 | 715| changeInfo | 表示已更改表的信息[Rdb_ChangeInfo](_rdb___change_info.md)。 | 716| count | 表示更改的表的数量。 | 717 718**参见:** 719 720[Rdb_ChangeInfo](_rdb___change_info.md). 721 722 723### Rdb_DistributedConfig 724 725``` 726typedef struct Rdb_DistributedConfig Rdb_DistributedConfig 727``` 728 729**描述** 730 731记录表的分布式配置信息。 732 733**起始版本:** 11 734 735 736### Rdb_DistributedType 737 738``` 739typedef enum Rdb_DistributedType Rdb_DistributedType 740``` 741 742**描述** 743 744描述表的分布式类型的枚举。 745 746**起始版本:** 11 747 748 749### Rdb_KeyInfo 750 751``` 752typedef struct Rdb_KeyInfo Rdb_KeyInfo 753``` 754 755**描述** 756 757描述发生变化的行的主键或者行号。 758 759**起始版本:** 11 760 761 762### Rdb_Progress 763 764``` 765typedef enum Rdb_Progress Rdb_Progress 766``` 767 768**描述** 769 770描述端云同步过程。 771 772**起始版本:** 11 773 774 775### Rdb_ProgressCallback 776 777``` 778typedef void(* Rdb_ProgressCallback) (void *context, Rdb_ProgressDetails *progressDetails) 779``` 780 781**描述** 782 783端云同步进度的回调函数。 784 785**起始版本:** 11 786 787**参数:** 788 789| 名称 | 描述 | 790| -------- | -------- | 791| progressDetails | 端云同步进度的详细信息。 | 792 793**参见:** 794 795[Rdb_ProgressDetails](_rdb___progress_details.md). 796 797 798### Rdb_ProgressCode 799 800``` 801typedef enum Rdb_ProgressCode Rdb_ProgressCode 802``` 803 804**描述** 805 806表示端云同步过程的状态。 807 808**起始版本:** 11 809 810 811### Rdb_ProgressDetails 812 813``` 814typedef struct Rdb_ProgressDetails Rdb_ProgressDetails 815``` 816 817**描述** 818 819描述数据库整体执行端云同步任务上传和下载的统计信息。 820 821**起始版本:** 11 822 823 824### Rdb_ProgressObserver 825 826``` 827typedef struct Rdb_ProgressObserver Rdb_ProgressObserver 828``` 829 830**描述** 831 832端云同步进度观察者。 833 834**起始版本:** 11 835 836 837### Rdb_SecurityArea 838 839``` 840typedef enum Rdb_SecurityArea Rdb_SecurityArea 841``` 842 843**描述** 844 845描述数据库的安全区域等级。 846 847**起始版本:** 11 848 849 850### Rdb_Statistic 851 852``` 853typedef struct Rdb_Statistic Rdb_Statistic 854``` 855 856**描述** 857 858描述数据库表的端云同步过程的统计信息。 859 860**起始版本:** 11 861 862 863### Rdb_SubscribeCallback 864 865``` 866typedef union Rdb_SubscribeCallback Rdb_SubscribeCallback 867``` 868 869**描述** 870 871表示回调函数。 872 873**起始版本:** 11 874 875 876### Rdb_SubscribeType 877 878``` 879typedef enum Rdb_SubscribeType Rdb_SubscribeType 880``` 881 882**描述** 883 884描述订阅类型。 885 886**起始版本:** 11 887 888 889### Rdb_SyncCallback 890 891``` 892typedef void(* Rdb_SyncCallback) (Rdb_ProgressDetails *progressDetails) 893``` 894 895**描述** 896 897数据库端云同步的回调函数。 898 899**起始版本:** 11 900 901**参数:** 902 903| 名称 | 描述 | 904| -------- | -------- | 905| progressDetails | 数据库端云同步的统计信息。 | 906 907**参见:** 908 909[OH_Rdb_Store](_o_h___rdb___store.md). 910 911 912### Rdb_SyncMode 913 914``` 915typedef enum Rdb_SyncMode Rdb_SyncMode 916``` 917 918**描述** 919 920表示数据库的同步模式。 921 922**起始版本:** 11 923 924 925### Rdb_TableDetails 926 927``` 928typedef struct Rdb_TableDetails Rdb_TableDetails 929``` 930 931**描述** 932 933描述数据库表执行端云同步任务上传和下载的统计信息。 934 935**起始版本:** 11 936 937## 枚举类型说明 938 939### Rdb_ConflictResolution 940 941``` 942enum Rdb_ConflictResolution 943``` 944 945**描述** 946 947表示冲突解决策略的枚举。 948 949**起始版本:** 18 950 951| 枚举值 | 描述 | 952| -------- | -------- | 953| RDB_CONFLICT_NONE | 发生冲突时不执行任何操作。 | 954| RDB_CONFLICT_ROLLBACK | 发生冲突时抛错误码,同时回滚本次事务。 | 955| RDB_CONFLICT_ABORT | 发生冲突时抛错误码,同时回滚本次修改。 | 956| RDB_CONFLICT_FAIL | 发生冲突时抛错误码,不回滚冲突前的修改同时终止本次修改。 | 957| RDB_CONFLICT_IGNORE | 发生冲突时忽略冲突的数据,继续执行后续修改。 | 958| RDB_CONFLICT_REPLACE | 发生冲突时,尝试删除后插入,如果还是冲突则等同于RDB_CONFLICT_ABORT。 | 959 960### OH_Rdb_ErrCode 961 962``` 963enum OH_Rdb_ErrCode 964``` 965 966**描述** 967 968表示错误码信息。 969 970**起始版本:** 10 971 972| 枚举值 | 描述 | 973| -------- | -------- | 974| RDB_ERR | 执行出错。 | 975| RDB_OK | 执行成功。 | 976| E_BASE | 异常错误代码的基础。 | 977| RDB_E_NOT_SUPPORTED | RDB不具备该能力。 | 978| RDB_E_ERROR | 常见异常的错误代码。 | 979| RDB_E_INVALID_ARGS | 参数非法。 | 980| RDB_E_CANNOT_UPDATE_READONLY | 更新只读数据库。 | 981| RDB_E_REMOVE_FILE | 删除文件失败。 | 982| RDB_E_EMPTY_TABLE_NAME | 表名为空。 | 983| RDB_E_EMPTY_VALUES_BUCKET | 键值对内容为空。 | 984| RDB_E_EXECUTE_IN_STEP_QUERY | 查询时执行的SQL语句错误。 | 985| RDB_E_INVALID_COLUMN_INDEX | 列索引非法。 | 986| RDB_E_INVALID_COLUMN_TYPE | 列类型非法。 | 987| RDB_E_EMPTY_FILE_NAME | 文件名称为空。 | 988| RDB_E_INVALID_FILE_PATH | 文件路径非法。 | 989| RDB_E_TRANSACTION_IN_EXECUTE | 开启事务执行出错。 | 990| RDB_E_INVALID_STATEMENT | SQL语句预编译出错。 | 991| RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION | 在读连接中执行写操作。 | 992| RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION | 在读连接中开启事务。 | 993| RDB_E_NO_TRANSACTION_IN_SESSION | 在数据库会话中不存在开启的事务。 | 994| RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION | 在一个数据库会话中执行多次查询。 | 995| RDB_E_NO_ROW_IN_QUERY | 查询得到的结果集不存在任何记录。 | 996| RDB_E_INVALID_BIND_ARGS_COUNT | SQL语句中绑定的参数个数非法。 | 997| RDB_E_INVALID_OBJECT_TYPE | 对象类型非法。 | 998| RDB_E_INVALID_CONFLICT_FLAG | 冲突解决类型非法。 | 999| RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY | HAVING关键字只能用于GROUP BY之后。 | 1000| RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET | 不支持step形式数据库结果集。 | 1001| RDB_E_STEP_RESULT_SET_CROSS_THREADS | 结果集查询出错。 | 1002| RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED | 结果集查询语句未被执行。 | 1003| RDB_E_STEP_RESULT_IS_AFTER_LAST | 结果集的游标已经处于最后一行。 | 1004| RDB_E_STEP_RESULT_QUERY_EXCEEDED | 结果集查询次数已经超过上限。 | 1005| RDB_E_STATEMENT_NOT_PREPARED | SQL语句未被预编译。 | 1006| RDB_E_EXECUTE_RESULT_INCORRECT | 数据库执行结果异常。 | 1007| RDB_E_STEP_RESULT_CLOSED | 结果集已经关闭。 | 1008| RDB_E_RELATIVE_PATH | 相对路径。 | 1009| RDB_E_EMPTY_NEW_ENCRYPT_KEY | 新的密钥文件为空。 | 1010| RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED | 将非加密的数据库更改为加密数据库。 | 1011| RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY | 在数据库繁忙时更新数据库密钥。 | 1012| RDB_E_STEP_STATEMENT_NOT_INIT | 预编译的SQL语句未被初始化。 | 1013| RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE | 在WAL日志模式下不支持ATTACH操作。 | 1014| RDB_E_CREATE_FOLDER_FAIL | 创建文件夹失败。 | 1015| RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL | SQL语句构建失败。 | 1016| RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY | 数据库会话暂未提供连接。 | 1017| RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION | 数据库会话不具有当前的事务。 | 1018| RDB_E_NOT_SUPPORT | 不支持当前操作。 | 1019| RDB_E_INVALID_PARCEL | 当前PARCEL非法。 | 1020| RDB_E_QUERY_IN_EXECUTE | 执行query查询出错。 | 1021| RDB_E_SET_PERSIST_WAL | 设置WAL模式下数据库文件的持久化时出错。 | 1022| RDB_E_DB_NOT_EXIST | 数据库不存在。 | 1023| RDB_E_ARGS_READ_CON_OVERLOAD | 设置的读连接数大于上限。 | 1024| RDB_E_WAL_SIZE_OVER_LIMIT | WAL日志文件大小超过默认值。 | 1025| RDB_E_CON_OVER_LIMIT | 数据库连接数已用完。 | 1026| RDB_E_ALREADY_CLOSED<sup>18+</sup> | 数据库已关闭。 | 1027| RDB_E_DATABASE_BUSY<sup>18+</sup> | 数据库无响应。 | 1028| RDB_E_SQLITE_CORRUPT<sup>18+</sup> | 数据库损坏。 | 1029| RDB_E_SQLITE_PERM<sup>18+</sup> | SQLite错误码:访问权限被拒绝。 | 1030| RDB_E_SQLITE_BUSY<sup>18+</sup> | SQLite错误码:数据库文件被锁定。 | 1031| RDB_E_SQLITE_LOCKED<sup>18+</sup> | SQLite错误码:数据库中的表被锁定。 | 1032| RDB_E_SQLITE_NOMEM<sup>18+</sup> | SQLite错误码:数据库内存不足。| 1033| RDB_E_SQLITE_READONLY<sup>18+</sup> | SQLite错误码:尝试写入只读数据库。 | 1034| RDB_E_SQLITE_IOERR<sup>18+</sup> | SQLite错误码:磁盘I/O错误。 | 1035| RDB_E_SQLITE_FULL<sup>18+</sup> | SQLite错误码:数据库已满。 | 1036| RDB_E_SQLITE_CANT_OPEN<sup>18+</sup> | SQLite错误码:无法打开数据库文件。 | 1037| RDB_E_SQLITE_TOO_BIG<sup>18+</sup> | SQLite错误码:TEXT或BLOB超出大小限制。 | 1038| RDB_E_SQLITE_MISMATCH<sup>18+</sup> | SQLite错误码:数据类型不匹配。 | 1039| RDB_E_DATA_TYPE_NULL<sup>18+</sup> | 表示存储数据为空。 | 1040| RDB_E_TYPE_MISMATCH<sup>18+</sup> | 表示数据类型不匹配。 | 1041| RDB_E_SQLITE_CONSTRAINT<sup>18+</sup> | 表示SQLite错误码:SQLite约束。 | 1042 1043### OH_ColumnType 1044 1045``` 1046enum OH_ColumnType 1047``` 1048 1049**描述** 1050 1051表示列的类型。 1052 1053**起始版本:** 10 1054 1055| 枚举值 | 描述 | 1056| -------- | -------- | 1057| TYPE_NULL | 表示NULL类型。 | 1058| TYPE_INT64 | 表示INT64数据类型。 | 1059| TYPE_REAL | 表示REAL数据类型。 | 1060| TYPE_TEXT | 表示TEXT数据类型。 | 1061| TYPE_BLOB | 表示BLOB数据类型。 | 1062| TYPE_ASSET<sup>11+</sup> | 表示ASSET(资产附件)数据类型。 | 1063| TYPE_ASSETS<sup>11+</sup> | 表示ASSETS(多个资产附件)数据类型。 | 1064| TYPE_FLOAT_VECTOR<sup>18+</sup> | 表示FLOAT VECTOR数据类型。 | 1065| TYPE_UNLIMITED_INT<sup>18+</sup> | 表示列类型为长度大于64位的数字。 | 1066 1067### OH_RDB_TransType 1068 1069``` 1070enum OH_RDB_TransType 1071``` 1072 1073**描述** 1074 1075表示关系型数据库事务类型。 1076 1077**起始版本:** 18 1078 1079| 枚举值 | 描述 | 1080| -------- | -------- | 1081| RDB_TRANS_DEFERRED | 在首次访问数据库之前,事务默认设置不会启动。 | 1082| RDB_TRANS_IMMEDIATE | 数据库连接立即开始新的写入,而无需等待写入语句。 | 1083| RDB_TRANS_EXCLUSIVE | 与RDB_TRANS_IMMEDIATE类型相似,写事务会立即启动。RDB_TRANS_EXCLUSIVE和RDB_TRANS_IMMEDIATE类型在WAL模式下相同,但在其他日志模式下,RDB_TRANS_EXCLUSIVE会阻止其他数据库连接在事务进行时读取数据库。 | 1084| RDB_TRANS_BUTT | RDB事务类型的最大值。 | 1085 1086### Rdb_Tokenizer 1087 1088``` 1089enum Rdb_Tokenizer 1090``` 1091 1092**描述** 1093 1094描述数据库的分词器类型。 1095 1096**起始版本:** 17 1097 1098| 枚举值 | 描述 | 1099| -------- | -------- | 1100| RDB_NONE_TOKENIZER | 表示不使用分词器。 | 1101| RDB_ICU_TOKENIZER | 表示使用原生ICU分词器。 | 1102| RDB_CUSTOM_TOKENIZER<sup>18+</sup> | 表示使用CUSTOM分词器。 | 1103 1104### Rdb_DBType 1105 1106``` 1107enum Rdb_DBType 1108``` 1109 1110**描述** 1111 1112描述数据库的内核类型。 1113 1114**起始版本:** 14 1115 1116| 枚举值 | 描述 | 1117| -------- | -------- | 1118| RDB_SQLITE | 表示使用sqlite作为数据库内核。 | 1119| RDB_CAYLEY | 表示使用凯莱数据库作为数据库内核。 | 1120| DBTYPE_BUTT | 表示内核类型枚举值允许取值的最大值,这是一个非法值。 | 1121 1122### OH_Rdb_SecurityLevel 1123 1124``` 1125enum OH_Rdb_SecurityLevel 1126``` 1127 1128**描述** 1129 1130数据库的安全级别枚举。 1131 1132**起始版本:** 10 1133 1134| 枚举值 | 描述 | 1135| -------- | -------- | 1136| S1 | S1: 表示数据库的安全级别为低级别。<br/>当数据泄露时会产生较低影响。 | 1137| S2 | S2: 表示数据库的安全级别为中级别。<br/>当数据泄露时会产生较大影响。 | 1138| S3 | S3: 表示数据库的安全级别为高级别。<br/>当数据泄露时会产生重大影响。 | 1139| S4 | S4: 表示数据库的安全级别为关键级别。<br/>当数据泄露时会产生严重影响。 | 1140 1141 1142### Rdb_ChangeType 1143 1144``` 1145enum Rdb_ChangeType 1146``` 1147 1148**描述** 1149 1150描述数据变更类型。 1151 1152**起始版本:** 11 1153 1154| 枚举值 | 描述 | 1155| -------- | -------- | 1156| RDB_DATA_CHANGE | 表示是数据发生变更。 | 1157| RDB_ASSET_CHANGE | 表示是资产附件发生了变更。 | 1158 1159 1160### Rdb_DistributedType 1161 1162``` 1163enum Rdb_DistributedType 1164``` 1165 1166**描述** 1167 1168描述表的分布式类型的枚举。 1169 1170**起始版本:** 11 1171 1172| 枚举值 | 描述 | 1173| -------- | -------- | 1174| RDB_DISTRIBUTED_CLOUD | 表示在设备和云端之间分布式的数据库表。 | 1175 1176 1177### Rdb_Progress 1178 1179``` 1180enum Rdb_Progress 1181``` 1182 1183**描述** 1184 1185描述端云同步过程。 1186 1187**起始版本:** 11 1188 1189| 枚举值 | 描述 | 1190| -------- | -------- | 1191| RDB_SYNC_BEGIN | 表示端云同步过程开始。 | 1192| RDB_SYNC_IN_PROGRESS | 表示正在端云同步过程中。 | 1193| RDB_SYNC_FINISH | 表示端云同步过程已完成。 | 1194 1195 1196### Rdb_ProgressCode 1197 1198``` 1199enum Rdb_ProgressCode 1200``` 1201 1202**描述** 1203 1204表示端云同步过程的状态。 1205 1206**起始版本:** 11 1207 1208| 枚举值 | 描述 | 1209| -------- | -------- | 1210| RDB_SUCCESS | 表示端云同步过程成功。 | 1211| RDB_UNKNOWN_ERROR | 表示端云同步过程遇到未知错误。 | 1212| RDB_NETWORK_ERROR | 表示端云同步过程遇到网络错误。 | 1213| RDB_CLOUD_DISABLED | 表示云端不可用。 | 1214| RDB_LOCKED_BY_OTHERS | 表示有其他设备正在端云同步,本设备无法进行端云同步。 | 1215| RDB_RECORD_LIMIT_EXCEEDED | 表示本次端云同步需要同步的条目或大小超出最大值。由云端配置最大值。 | 1216| RDB_NO_SPACE_FOR_ASSET | 表示云空间剩余空间小于待同步的资产大小。 | 1217 1218 1219### Rdb_SecurityArea 1220 1221``` 1222enum Rdb_SecurityArea 1223``` 1224 1225**描述** 1226 1227描述数据库的安全区域等级。 1228 1229**起始版本:** 11 1230 1231| 枚举值 | 描述 | 1232| -------- | -------- | 1233| RDB_SECURITY_AREA_EL1 | 安全区域等级为1。 | 1234| RDB_SECURITY_AREA_EL2 | 安全区域等级为2。 | 1235| RDB_SECURITY_AREA_EL3 | 安全区域等级为3。 | 1236| RDB_SECURITY_AREA_EL4 | 安全区域等级为4。 | 1237| RDB_SECURITY_AREA_EL5<sup>12+</sup> | 安全区域等级为5。 | 1238 1239 1240### Rdb_SubscribeType 1241 1242``` 1243enum Rdb_SubscribeType 1244``` 1245 1246**描述** 1247 1248描述订阅类型。 1249 1250**起始版本:** 11 1251 1252| 枚举值 | 描述 | 1253| -------- | -------- | 1254| RDB_SUBSCRIBE_TYPE_CLOUD | 订阅云端数据更改。 | 1255| RDB_SUBSCRIBE_TYPE_CLOUD_DETAILS | 订阅云端数据更改详情。 | 1256| RDB_SUBSCRIBE_TYPE_LOCAL_DETAILS<sup>12+</sup> | 订阅本地数据更改详情。从API version 12开始支持此枚举。 | 1257 1258 1259### Rdb_SyncMode 1260 1261``` 1262enum Rdb_SyncMode 1263``` 1264 1265**描述** 1266 1267表示数据库的同步模式。 1268 1269**起始版本:** 11 1270 1271| 枚举值 | 描述 | 1272| -------- | -------- | 1273| RDB_SYNC_MODE_TIME_FIRST | 表示数据从修改时间较近的一端同步到修改时间较远的一端。 | 1274| RDB_SYNC_MODE_NATIVE_FIRST | 表示数据从本地设备同步到云端。 | 1275| RDB_SYNC_MODE_CLOUD_FIRST | 表示数据从云端同步到本地设备。 | 1276 1277 1278## 函数说明 1279 1280### OH_RdbTrans_BatchInsert() 1281 1282``` 1283int OH_RdbTrans_BatchInsert (OH_Rdb_Transaction *trans, const char *table, const OH_Data_VBuckets *rows, Rdb_ConflictResolution resolution, int64_t *changes) 1284``` 1285 1286**描述** 1287 1288将一组数据批量插入到目标表中。 1289 1290**起始版本:** 18 1291 1292**参数:** 1293 1294| 名称 | 描述 | 1295| -------- | -------- | 1296| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 1297| table | 表示目标表。 | 1298| rows | 表示要插入到表中的一组数据。 | 1299| resolution | 表示发生冲突时的解决策略。 | 1300| changes | 输出参数,表示插入成功的次数。 | 1301 1302**返回:** 1303 1304返回执行结果。 1305 1306返回RDB_OK表示成功。 1307 1308返回RDB_E_ERROR表示数据库常见错误。 1309 1310返回RDB_E_INVALID_ARGS表示无效参数。 1311 1312返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1313 1314返回RDB_E_WAL_SIZE_OVER_LIMIT表示WAL日志文件大小超过默认值。 1315 1316返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 1317 1318返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1319 1320返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 1321 1322返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 1323 1324返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1325 1326返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 1327 1328返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 1329 1330返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 1331 1332返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 1333 1334返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 1335 1336返回RDB_E_SQLITE_CONSTRAINT表示SQLite错误码:SQLite约束。 1337 1338 1339### OH_Rdb_BatchInsert() 1340 1341``` 1342int OH_Rdb_BatchInsert (OH_Rdb_Store *store, const char *table, const OH_Data_VBuckets *rows, Rdb_ConflictResolution resolution, int64_t *changes ) 1343``` 1344 1345**描述** 1346 1347将一批数据插入到目标表中。 1348 1349**起始版本:** 18 1350 1351**参数:** 1352 1353| 名称 | 描述 | 1354| -------- | -------- | 1355| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1356| tables | 要设置的分布式数据库表表名。 | 1357| rows | 表示要插入到表中的一组数据。 | 1358| resolution | 表示发生冲突时的解决策略。 | 1359| changes | 输出参数,表示插入成功的次数。 | 1360 1361**返回:** 1362 1363返回执行结果。 1364 1365返回RDB_OK表示成功。 1366 1367返回RDB_E_ERROR表示数据库常见错误。 1368 1369返回RDB_E_INVALID_ARGS表示无效参数。 1370 1371返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1372 1373返回RDB_E_WAL_SIZE_OVER_LIMIT表示WAL日志文件大小超过默认值。 1374 1375返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 1376 1377返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1378 1379返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 1380 1381返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 1382 1383返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1384 1385返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 1386 1387返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 1388 1389返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 1390 1391返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 1392 1393返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 1394 1395返回RDB_E_SQLITE_CONSTRAINT表示SQLite错误码:SQLite约束。 1396 1397 1398### OH_Rdb_SetPersistent() 1399 1400``` 1401int OH_Rdb_SetPersistent (OH_Rdb_ConfigV2 *config, bool isPersistent ) 1402``` 1403 1404**描述** 1405 1406指定数据库是否需要持久化。 1407 1408**参数:** 1409 1410| 名称 | 描述 | 1411| -------- | -------- | 1412| config | 表示指向OH_Rdb_ConfigV2实例的指针。指示与此RDB存储相关的数据库的配置。| 1413| isPersistent | 指示数据库是否需要持久性。 | 1414 1415**返回:** 1416 1417返回执行的状态代码。RDB_OK表示成功。RDB_E_INVALID_ARGS表示无效参数。| 1418 1419### OH_Cursor_GetFloatVector() 1420 1421``` 1422int OH_Cursor_GetFloatVector (OH_Cursor *cursor, int32_t columnIndex, float *val, size_t inLen, size_t *outLen ) 1423``` 1424 1425**描述** 1426 1427以浮点数数组的形式获取当前行中指定列的值。 1428 1429**起始版本:** 18 1430 1431**参数:** 1432 1433| 名称 | 描述 | 1434| -------- | -------- | 1435| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 1436| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 1437| val | 该参数是输出参数,结果集中指定列的值会以浮点数数组形式写入该变量,调用者需要申请数组内存。 | 1438| inLen | 表示申请的浮点数数组大小。 | 1439| outLen | 该参数是输出参数,表示实际浮点数数组的大小。 | 1440 1441**返回:** 1442 1443返回执行结果。 1444 1445返回RDB_OK表示成功。 1446 1447返回RDB_E_ERROR表示数据库常见错误。 1448 1449返回RDB_E_INVALID_ARGS表示无效参数。 1450 1451返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1452 1453返回RDB_E_STEP_RESULT_CLOSED表示查询到的结果集已经关闭。 1454 1455返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1456 1457返回RDB_E_SQLITE_PERM表示SQLite错误:访问权限被拒绝。 1458 1459返回RDB_E_SQLITE_BUSY表示SQLite错误:数据库文件被锁定。 1460 1461返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1462 1463返回RDB_E_SQLITE_NOMEM表示SQLite错误:数据库内存不足。 1464 1465返回RDB_E_SQLITE_IOERR表示SQLite错误:磁盘I/O错误。 1466 1467返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 1468 1469**参见:** 1470 1471[OH_Cursor_GetFloatVectorCount](#oh_cursor_getfloatvectorcount). 1472 1473 1474### OH_Cursor_GetFloatVectorCount() 1475 1476``` 1477int OH_Cursor_GetFloatVectorCount (OH_Cursor *cursor, int32_t columnIndex, size_t *length ) 1478``` 1479 1480**描述** 1481 1482获取当前行中指定列的浮点数数组大小。 1483 1484**起始版本:** 18 1485 1486**参数:** 1487 1488| 名称 | 描述 | 1489| -------- | -------- | 1490| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 1491| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 1492| length | 该参数是输出参数,结果集中指定列的浮点数数组大小会写入该变量。 | 1493 1494**返回:** 1495 1496返回执行结果。 1497 1498返回RDB_OK表示成功。 1499 1500返回RDB_E_ERROR表示数据库常见错误。 1501 1502返回RDB_E_INVALID_ARGS表示无效参数。 1503 1504返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1505 1506返回RDB_E_STEP_RESULT_CLOSED表示查询到的结果集已经关闭。 1507 1508返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1509 1510返回RDB_E_SQLITE_PERM表示SQLite错误:访问权限被拒绝。 1511 1512返回RDB_E_SQLITE_BUSY表示SQLite错误:数据库文件被锁定。 1513 1514返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1515 1516返回RDB_E_SQLITE_NOMEM表示SQLite错误:数据库内存不足。 1517 1518返回RDB_E_SQLITE_IOERR表示SQLite错误:磁盘I/O错误。 1519 1520返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 1521 1522返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 1523 1524### OH_Rdb_CreateTransaction() 1525 1526``` 1527int OH_Rdb_CreateTransaction (OH_Rdb_Store *store, const OH_RDB_TransOptions *options, OH_Rdb_Transaction **trans ) 1528``` 1529 1530**描述** 1531 1532创建一个事务对象。 1533 1534**起始版本:** 18 1535 1536**参数:** 1537 1538| 名称 | 描述 | 1539| -------- | -------- | 1540| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1541| options | 表示指向[OH_RDB_TransOptions](#oh_rdb_transoptions)实例的指针。 | 1542| trans | 输出参数,表示执行成功时指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。否则返回 nullptr。使用完成后,必须通过[OH_RdbTrans_Destroy](#oh_rdbtrans_destroy)接口释放内存。 | 1543 1544**返回:** 1545 1546返回执行结果。 1547 1548返回RDB_OK表示成功。 1549 1550返回RDB_E_ERROR表示数据库常见错误。 1551 1552返回RDB_E_INVALID_ARGS表示无效参数。 1553 1554返回RDB_E_ALREADY_CLOSED表示数据库已关闭。 1555 1556返回RDB_E_DATABASE_BUSY表示数据库无响应。 1557 1558返回RDB_E_SQLITE_FULL表示SQLite错误:数据库已满。 1559 1560返回RDB_E_SQLITE_CORRUPT表示数据库已损坏。 1561 1562返回RDB_E_SQLITE_PERM表示SQLite错误:访问权限被拒绝。 1563 1564返回RDB_E_SQLITE_BUSY表示SQLite错误:数据库文件被锁定。 1565 1566返回RDB_E_SQLITE_NOMEM表示SQLite错误:数据库内存不足。 1567 1568返回RDB_E_SQLITE_IOERR表示SQLite错误:磁盘I/O错误。 1569 1570返回RDB_E_SQLITE_CANT_OPEN表示SQLite错误:无法打开数据库文件。 1571 1572**参见:** 1573 1574[OH_RdbTrans_Destroy](#oh_rdbtrans_destroy). 1575 1576 1577### OH_Rdb_ExecuteQueryV2() 1578 1579``` 1580OH_Cursor *OH_Rdb_ExecuteQueryV2 (OH_Rdb_Store *store, const char *sql, const OH_Data_Values *args ) 1581``` 1582 1583**描述** 1584 1585根据指定SQL语句查询数据库中的数据,支持向量数据库。 1586 1587**起始版本:** 18 1588 1589**参数:** 1590 1591| 名称 | 描述 | 1592| -------- | -------- | 1593| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1594| sql | 指定要执行的SQL语句。 | 1595| args | 可选参数,表示指向OH_Data_Values实例的指针。 | 1596 1597**返回:** 1598 1599如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,使用完成后及时释放[OH_Cursor](_o_h___cursor.md)。如果SQL语句无效或内存分配失败,则返回NULL。 1600 1601**参见:** 1602 1603[OH_Rdb_Store](_o_h___rdb___store.md). 1604 1605 1606### OH_Rdb_ExecuteV2() 1607 1608``` 1609int OH_Rdb_ExecuteV2 (OH_Rdb_Store *store, const char *sql, const OH_Data_Values *args, OH_Data_Value **result ) 1610``` 1611 1612**描述** 1613 1614执行有返回值的SQL语句,支持向量数据库。 1615 1616**起始版本:** 18 1617 1618**参数:** 1619 1620| 名称 | 描述 | 1621| -------- | -------- | 1622| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 1623| sql | 指定要执行的SQL语句。 | 1624| args | 可选参数,表示指向{\@OH_Data_Values}实例的指针。 | 1625| result | 执行成功时指向[OH_Data_Value](#oh_data_value)实例的指针,作为出参使用。<br/>使用完成后,必须通过[OH_Value_Destroy](#oh_value_destroy)接口释放内存。 | 1626 1627**返回:** 1628 1629返回执行结果。 1630 1631返回RDB_OK表示成功。 1632 1633返回RDB_E_ERROR表示数据库常见错误。 1634 1635返回RDB_E_INVALID_ARGS表示无效参数。 1636 1637返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1638 1639返回RDB_E_WAL_SIZE_OVER_LIMIT表示WAL日志文件大小超过默认值。 1640 1641返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 1642 1643返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1644 1645返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 1646 1647返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 1648 1649返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1650 1651返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 1652 1653返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 1654 1655返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 1656 1657返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 1658 1659返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 1660 1661**参见:** 1662 1663[OH_Value_Destroy](#oh_value_destroy). 1664 1665 1666### OH_Rdb_IsTokenizerSupported() 1667 1668``` 1669int OH_Rdb_IsTokenizerSupported (Rdb_Tokenizer tokenizer, bool *isSupported ) 1670``` 1671 1672**描述** 1673 1674判断当前平台是否支持传入的分词器。 1675 1676**起始版本:** 18 1677 1678**参数:** 1679 1680| 名称 | 描述 | 1681| -------- | -------- | 1682| tokenizer | 要校验是否支持的分词器。 | 1683| isSupported | 校验结果的指针,作为出参使用。<br/>true表示当前平台支持当前校验的分词器,false表示当前平台不支持当前校验的分词器。 | 1684 1685**返回:** 1686 1687返回接口操作执行的状态码。 1688 1689RDB_OK 表示成功。 1690 1691RDB_E_INVALID_ARGS 表示无效参数。 1692 1693 1694### OH_Rdb_SetTokenizer() 1695 1696``` 1697int OH_Rdb_SetTokenizer (OH_Rdb_ConfigV2 *config, Rdb_Tokenizer tokenizer ) 1698``` 1699 1700**描述** 1701 1702给指定的数据库文件配置设置分词器类型。 1703 1704**起始版本:** 17 1705 1706**参数:** 1707 1708| 名称 | 描述 | 1709| -------- | -------- | 1710| config | 表示指向此RDB存储相关的数据库配置的指针。 | 1711| tokenizer | 表示数据库的分词器类型。 | 1712 1713**返回:** 1714 1715返回接口操作执行的状态码。 1716 1717RDB_OK 表示成功。 1718 1719RDB_E_INVALID_ARGS 表示无效参数。 1720 1721RDB_E_NOT_SUPPORTED 表示不支持当前操作。 1722 1723### OH_RdbTrans_Commit() 1724 1725``` 1726int OH_RdbTrans_Commit (OH_Rdb_Transaction *trans) 1727``` 1728 1729**描述** 1730 1731提交事务。 1732 1733**起始版本:** 18 1734 1735**参数:** 1736 1737| 名称 | 描述 | 1738| -------- | -------- | 1739| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 1740 1741**返回:** 1742 1743返回执行结果。 1744 1745返回RDB_OK表示成功。 1746 1747返回RDB_E_ERROR表示数据库常见错误。 1748 1749返回RDB_E_INVALID_ARGS表示无效参数。 1750 1751返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1752 1753返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 1754 1755返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1756 1757返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 1758 1759返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 1760 1761返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 1762 1763返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 1764 1765返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 1766 1767### OH_RdbTrans_Delete() 1768 1769``` 1770int OH_RdbTrans_Delete (OH_Rdb_Transaction *trans, const OH_Predicates *predicates, int64_t *changes ) 1771``` 1772 1773**描述** 1774 1775根据指定条件从数据库中删除数据。 1776 1777**起始版本:** 18 1778 1779**参数:** 1780 1781| 名称 | 描述 | 1782| -------- | -------- | 1783| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 1784| predicates | 表示[OH_Predicates](_o_h___predicates.md)指定的删除条件。 | 1785| changes | 表示删除成功的次数。 | 1786 1787**返回:** 1788 1789返回执行结果。 1790 1791返回RDB_OK表示成功。 1792 1793返回RDB_E_ERROR表示数据库常见错误。 1794 1795返回RDB_E_INVALID_ARGS表示无效参数。 1796 1797返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1798 1799返回RDB_E_WAL_SIZE_OVER_LIMIT表示WAL日志文件大小超过默认值。 1800 1801返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 1802 1803返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1804 1805返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 1806 1807返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 1808 1809返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1810 1811返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 1812 1813返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 1814 1815返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 1816 1817返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 1818 1819返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 1820 1821### OH_RdbTrans_CreateOptions() 1822 1823``` 1824OH_RDB_TransOptions* OH_RdbTrans_CreateOptions (void ) 1825``` 1826 1827**描述** 1828 1829创建事务配置对象。 1830 1831**起始版本:** 18 1832 1833**返回:** 1834 1835执行成功时返回指向[OH_RDB_TransOptions](#oh_rdb_transoptions)实例的指针。否则返回nullptr。使用完成后,必须通过[OH_RdbTrans_DestroyOptions](#oh_rdbtrans_destroyoptions)接口释放内存。 1836 1837**参见:** 1838 1839[OH_RdbTrans_DestroyOptions](#oh_rdbtrans_destroyoptions). 1840 1841### OH_RdbTrans_Destroy() 1842 1843``` 1844int OH_RdbTrans_Destroy (OH_Rdb_Transaction *trans) 1845``` 1846 1847**描述** 1848 1849销毁事务对象。 1850 1851**起始版本:** 18 1852 1853**参数:** 1854 1855| 名称 | 描述 | 1856| -------- | -------- | 1857| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 1858 1859**返回:** 1860 1861返回错误码。 1862 1863返回RDB_OK表示成功。 1864 1865返回RDB_E_INVALID_ARGS表示无效参数。 1866 1867 1868### OH_RdbTrans_DestroyOptions() 1869 1870``` 1871int OH_RdbTrans_DestroyOptions (OH_RDB_TransOptions *opitons) 1872``` 1873 1874**描述** 1875 1876销毁事务配置对象。 1877 1878**起始版本:** 18 1879 1880**参数:** 1881 1882| 名称 | 描述 | 1883| -------- | -------- | 1884| opitons | 表示指向[OH_RDB_TransOptions](#oh_rdb_transoptions)实例的指针。 | 1885 1886**返回:** 1887 1888返回错误码。 1889 1890返回RDB_OK表示成功。 1891 1892返回RDB_E_INVALID_ARGS表示无效参数。 1893 1894 1895### OH_RdbTrans_Execute() 1896 1897``` 1898int OH_RdbTrans_Execute (OH_Rdb_Transaction *trans, const char *sql, const OH_Data_Values *args, OH_Data_Value **result ) 1899``` 1900 1901**描述** 1902 1903执行包含指定参数的SQL语句。 1904 1905**起始版本:** 18 1906 1907**参数:** 1908 1909| 名称 | 描述 | 1910| -------- | -------- | 1911| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 1912| sql | 表示要执行的SQL语句。 | 1913| args | SQL语句中包含的参数。 | 1914| result | 执行成功时指向[OH_Data_Value](#oh_data_value)实例的指针。使用完成后,必须通过[OH_Value_Destroy](#oh_value_destroy)接口释放内存。 | 1915 1916**返回:** 1917 1918返回执行结果。 1919 1920返回RDB_OK表示成功。 1921 1922返回RDB_E_ERROR表示数据库常见错误。 1923 1924返回RDB_E_INVALID_ARGS表示无效参数。 1925 1926返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1927 1928返回RDB_E_WAL_SIZE_OVER_LIMIT表示WAL日志文件大小超过默认值。 1929 1930返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 1931 1932返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1933 1934返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 1935 1936返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 1937 1938返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1939 1940返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 1941 1942返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 1943 1944返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 1945 1946返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 1947 1948返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 1949 1950**参见:** 1951 1952[OH_Value_Destroy](#oh_value_destroy). 1953 1954 1955### OH_RdbTrans_Insert() 1956 1957``` 1958int OH_RdbTrans_Insert (OH_Rdb_Transaction *trans, const char *table, const OH_VBucket *row, int64_t *rowId ) 1959``` 1960 1961**描述** 1962 1963将一行数据插入到目标表中。 1964 1965**起始版本:** 18 1966 1967**参数:** 1968 1969| 名称 | 描述 | 1970| -------- | -------- | 1971| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 1972| table | 表示目标表。 | 1973| row | 表示要插入到表中的数据行。 | 1974| rowId | 输出参数,表示插入后返回的行号。 | 1975 1976**返回:** 1977 1978返回执行结果。 1979 1980返回RDB_OK表示成功。 1981 1982返回RDB_E_ERROR表示数据库常见错误。 1983 1984返回RDB_E_INVALID_ARGS表示无效参数。 1985 1986返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 1987 1988返回RDB_E_WAL_SIZE_OVER_LIMIT表示WAL日志文件大小超过默认值。 1989 1990返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 1991 1992返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 1993 1994返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 1995 1996返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 1997 1998返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 1999 2000返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 2001 2002返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 2003 2004返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 2005 2006返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 2007 2008返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 2009 2010### OH_RdbTrans_Query() 2011 2012``` 2013OH_Cursor* OH_RdbTrans_Query (OH_Rdb_Transaction *trans, const OH_Predicates *predicates, const char *columns[], int len ) 2014``` 2015 2016**描述** 2017 2018根据指定的条件查询数据库中的数据。 2019 2020**起始版本:** 18 2021 2022**参数:** 2023 2024| 名称 | 描述 | 2025| -------- | -------- | 2026| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 2027| predicates | 表示[OH_Predicates](_o_h___predicates.md)指定的查询条件。 | 2028| columns | 表示要查询的列,如果传入空值,则查询适用于所有列。 | 2029| len | 表示列中元素的个数。 | 2030 2031**返回:** 2032 2033如果执行成功,则返回指向[OH_Cursor](_o_h___cursor.md)实例的指针。如果数据库已关闭或数据库没有响应,则返回空。 2034 2035 2036### OH_RdbTrans_QuerySql() 2037 2038``` 2039OH_Cursor* OH_RdbTrans_QuerySql (OH_Rdb_Transaction *trans, const char *sql, const OH_Data_Values *args ) 2040``` 2041 2042**描述** 2043 2044根据SQL语句查询数据库中的数据。 2045 2046**起始版本:** 18 2047 2048**参数:** 2049 2050| 名称 | 描述 | 2051| -------- | -------- | 2052| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 2053| sql | 表示要执行的SQL语句。 | 2054| args | 表示指向[OH_Data_Values](#oh_data_values)的指针。 | 2055 2056**返回:** 2057 2058如果执行成功,则返回指向[OH_Cursor](_o_h___cursor.md)实例的指针。如果数据库已关闭或数据库没有响应,则返回空。 2059 2060 2061### OH_RdbTrans_Rollback() 2062 2063``` 2064int OH_RdbTrans_Rollback (OH_Rdb_Transaction *trans) 2065``` 2066 2067**描述** 2068 2069回滚事务。 2070 2071**起始版本:** 18 2072 2073**参数:** 2074 2075| 名称 | 描述 | 2076| -------- | -------- | 2077| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 2078 2079**返回:** 2080 2081返回执行结果。 2082 2083返回RDB_OK表示成功。 2084 2085返回RDB_E_ERROR表示数据库常见错误。 2086 2087返回RDB_E_INVALID_ARGS表示无效参数。 2088 2089返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 2090 2091返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 2092 2093返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 2094 2095返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 2096 2097返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 2098 2099返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 2100 2101返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 2102 2103返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 2104 2105 2106### OH_RdbTrans_Update() 2107 2108``` 2109int OH_RdbTrans_Update (OH_Rdb_Transaction *trans, const OH_VBucket *row, const OH_Predicates *predicates, int64_t *changes ) 2110``` 2111 2112**描述** 2113 2114根据指定的条件更新数据库中的数据。 2115 2116**起始版本:** 18 2117 2118**参数:** 2119 2120| 名称 | 描述 | 2121| -------- | -------- | 2122| trans | 表示指向[OH_Rdb_Transaction](#oh_rdb_transaction)实例的指针。 | 2123| row | 表示要更新到表中的数据行。 | 2124| predicates | 表示[OH_Predicates](_o_h___predicates.md)指定的更新条件。 | 2125| changes | 输出参数,表示更新成功的次数。 | 2126 2127**返回:** 2128 2129返回执行结果。 2130 2131返回RDB_OK表示成功。 2132 2133返回RDB_E_ERROR表示数据库常见错误。 2134 2135返回RDB_E_INVALID_ARGS表示无效参数。 2136 2137返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。 2138 2139返回RDB_E_WAL_SIZE_OVER_LIMIT表示WAL日志文件大小超过默认值。 2140 2141返回RDB_E_SQLITE_FULL表示SQLite错误码:数据库已满。 2142 2143返回RDB_E_SQLITE_CORRUPT表示数据库损坏。 2144 2145返回RDB_E_SQLITE_PERM表示SQLite错误码:访问权限被拒绝。 2146 2147返回RDB_E_SQLITE_BUSY表示SQLite错误码:数据库文件被锁定。 2148 2149返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。 2150 2151返回RDB_E_SQLITE_NOMEM表示SQLite错误码:数据库内存不足。 2152 2153返回RDB_E_SQLITE_READONLY表示SQLite错误码:尝试写入只读数据库。 2154 2155返回RDB_E_SQLITE_IOERR表示SQLite错误码:磁盘I/O错误。 2156 2157返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。 2158 2159返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 2160 2161### OH_RdbTransOption_SetType() 2162 2163``` 2164int OH_RdbTransOption_SetType (OH_RDB_TransOptions *opitons, OH_RDB_TransType type ) 2165``` 2166 2167**描述** 2168 2169设置关系型数据库事务类型。 2170 2171**起始版本:** 18 2172 2173**参数:** 2174 2175| 名称 | 描述 | 2176| -------- | -------- | 2177| opitons | 表示指向[OH_RDB_TransOptions](#oh_rdb_transoptions)实例的指针。 | 2178| type | 表示关系型数据库事务类型。 | 2179 2180**返回:** 2181 2182返回错误码。 2183 2184返回RDB_OK表示成功。 2185 2186返回RDB_E_INVALID_ARGS表示无效参数。 2187 2188 2189### OH_Value_Create() 2190 2191``` 2192OH_Data_Value* OH_Value_Create (void ) 2193``` 2194 2195**描述** 2196 2197创建[OH_Data_Value](#oh_data_value)实例,用于储存单条键值对数据。 2198 2199**起始版本:** 18 2200 2201**返回:** 2202 2203执行成功时返回指向[OH_Data_Value](#oh_data_value)实例的指针,否则返回nullptr。使用完成后,必须通过[OH_Value_Destroy](#oh_value_destroy)接口释放内存。 2204 2205**参见:** 2206 2207[OH_Value_Destroy](#oh_value_destroy). 2208 2209 2210### OH_Value_Destroy() 2211 2212``` 2213int OH_Value_Destroy (OH_Data_Value *value) 2214``` 2215 2216**描述** 2217 2218销毁[OH_Data_Value](#oh_data_value)对象。 2219 2220**起始版本:** 18 2221 2222**参数:** 2223 2224| 名称 | 描述 | 2225| -------- | -------- | 2226| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2227 2228**返回:** 2229 2230返回错误码。 2231 2232返回RDB_OK表示成功。 2233 2234返回RDB_E_INVALID_ARGS表示无效参数。 2235 2236 2237### OH_Value_GetAsset() 2238 2239``` 2240int OH_Value_GetAsset (OH_Data_Value *value, Data_Asset *val ) 2241``` 2242 2243**描述** 2244 2245获取ASSET类型数据。 2246 2247**起始版本:** 18 2248 2249**参数:** 2250 2251| 名称 | 描述 | 2252| -------- | -------- | 2253| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2254| val | 表示指向**Data_Asset**对象的指针。需要申请数据内存。此函数仅填充数据。否则执行失败。 | 2255 2256**返回:** 2257 2258返回错误码。 2259 2260返回RDB_OK表示成功。 2261 2262返回RDB_E_INVALID_ARGS表示无效参数。 2263 2264返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2265 2266返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2267 2268### OH_Value_GetAssets() 2269 2270``` 2271int OH_Value_GetAssets (OH_Data_Value *value, Data_Asset **val, size_t inLen, size_t *outLen ) 2272``` 2273 2274**描述** 2275 2276获取ASSETS类型数据。 2277 2278**起始版本:** 18 2279 2280**参数:** 2281 2282| 名称 | 描述 | 2283| -------- | -------- | 2284| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2285| val | 表示指向**Data_Asset**对象的指针。需要申请数据内存。此函数仅填充数据。否则执行失败。 | 2286| inLen | 表示val的大小。可以通过[OH_Values_GetAssetsCount](#oh_values_getassetscount)获取。 | 2287| outLen | 一个输出参数,表示实际获取的数据大小。 | 2288 2289**返回:** 2290 2291返回错误码。 2292 2293返回RDB_OK表示成功。 2294 2295返回RDB_E_INVALID_ARGS表示无效参数。 2296 2297返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2298 2299返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2300 2301**参见:** 2302 2303[OH_Value_GetAssetsCount](#oh_value_getassetscount). 2304 2305 2306### OH_Value_GetAssetsCount() 2307 2308``` 2309int OH_Value_GetAssetsCount (OH_Data_Value *value, size_t *length ) 2310``` 2311 2312**描述** 2313 2314获取ASSETS类型数据的大小。 2315 2316**起始版本:** 18 2317 2318**参数:** 2319 2320| 名称 | 描述 | 2321| -------- | -------- | 2322| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2323| length | 一个输出参数,表示ASSETS类型数据的大小。 | 2324 2325**返回:** 2326 2327返回错误码。 2328 2329返回RDB_OK表示成功。 2330 2331返回RDB_E_INVALID_ARGS表示无效参数。 2332 2333返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2334 2335返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2336 2337 2338### OH_Value_GetBlob() 2339 2340``` 2341int OH_Value_GetBlob (OH_Data_Value *value, const uint8_t **val, size_t *length ) 2342``` 2343 2344**描述** 2345 2346获取BLOB类型数据。 2347 2348**起始版本:** 18 2349 2350**参数:** 2351 2352| 名称 | 描述 | 2353| -------- | -------- | 2354| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2355| val | 一个输出参数,表示指向BLOB类型数据的指针。无需申请内存和释放内存。val的生命周期遵循value中index的值。 | 2356| length | 表示BLOB类型数组的大小。 | 2357 2358**返回:** 2359 2360返回错误码。 2361 2362返回RDB_OK表示成功。 2363 2364返回RDB_E_INVALID_ARGS表示无效参数。 2365 2366返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2367 2368返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2369 2370 2371### OH_Value_GetFloatVector() 2372 2373``` 2374int OH_Value_GetFloatVector (OH_Data_Value *value, float *val, size_t inLen, size_t *outLen ) 2375``` 2376 2377**描述** 2378 2379获取float数组类型数据。 2380 2381**起始版本:** 18 2382 2383**参数:** 2384 2385| 名称 | 描述 | 2386| -------- | -------- | 2387| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2388| val | 表示指向float数组的指针。需要申请数据内存。此函数仅填充数据。否则执行失败。 | 2389| inLen | 表示val的大小。可以通过[OH_Values_GetFloatVectorCount](#oh_values_getfloatvectorcount)获取。 | 2390| outLen | 一个输出参数,表示实际获取的数据大小。 | 2391 2392**返回:** 2393 2394返回错误码。 2395 2396返回RDB_OK表示成功。 2397 2398返回RDB_E_INVALID_ARGS表示无效参数。 2399 2400返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2401 2402返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2403 2404**参见:** 2405 2406[OH_Value_GetFloatVectorCount](#oh_value_getfloatvectorcount). 2407 2408 2409### OH_Value_GetFloatVectorCount() 2410 2411``` 2412int OH_Value_GetFloatVectorCount (OH_Data_Value *value, size_t *length ) 2413``` 2414 2415**描述** 2416 2417获取float数组类型数据的大小。 2418 2419**起始版本:** 18 2420 2421**参数:** 2422 2423| 名称 | 描述 | 2424| -------- | -------- | 2425| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2426| length | 一个输出参数,表示float数组类型数据的大小。 | 2427 2428**返回:** 2429 2430返回错误码。 2431 2432返回RDB_OK表示成功。 2433 2434返回RDB_E_INVALID_ARGS返回。 2435 2436返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2437 2438返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2439 2440 2441### OH_Value_GetInt() 2442 2443``` 2444int OH_Value_GetInt (OH_Data_Value *value, int64_t *val ) 2445``` 2446 2447**描述** 2448 2449获取整型数据。 2450 2451**起始版本:** 18 2452 2453**参数:** 2454 2455| 名称 | 描述 | 2456| -------- | -------- | 2457| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2458| val | 一个输出参数,表示指向整型数据的指针。 | 2459 2460**返回:** 2461 2462返回错误码。 2463 2464返回RDB_OK表示成功。 2465 2466返回RDB_E_INVALID_ARGS表示无效参数。 2467 2468返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2469 2470返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2471 2472 2473### OH_Value_GetReal() 2474 2475``` 2476int OH_Value_GetReal (OH_Data_Value *value, double *val ) 2477``` 2478 2479**描述** 2480 2481获取REAL类型数据。 2482 2483**起始版本:** 18 2484 2485**参数:** 2486 2487| 名称 | 描述 | 2488| -------- | -------- | 2489| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2490| val | 一个输出参数,表示指向REAL类型数据的指针。 | 2491 2492**返回:** 2493 2494返回错误码。 2495 2496返回RDB_OK表示成功。 2497 2498返回RDB_E_INVALID_ARGS表示无效参数。 2499 2500返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2501 2502返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2503 2504 2505### OH_Value_GetText() 2506 2507``` 2508int OH_Value_GetText (OH_Data_Value *value, const char **val ) 2509``` 2510 2511**描述** 2512 2513获取字符串类型数据。 2514 2515**起始版本:** 18 2516 2517**参数:** 2518 2519| 名称 | 描述 | 2520| -------- | -------- | 2521| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2522| val | 一个输出参数,表示指向字符串类型数据的指针。无需申请内存和释放内存。val的生命周期遵循value中index的值。 | 2523 2524**返回:** 2525 2526返回错误码。 2527 2528返回RDB_OK表示成功。 2529 2530返回RDB_E_INVALID_ARGS表示无效参数。 2531 2532返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2533 2534返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2535 2536### OH_Value_GetType() 2537 2538``` 2539int OH_Value_GetType (OH_Data_Value *value, OH_ColumnType *type ) 2540``` 2541 2542**描述** 2543 2544获取数据类型。 2545 2546**起始版本:** 18 2547 2548**参数:** 2549 2550| 名称 | 描述 | 2551| -------- | -------- | 2552| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2553| type | 一个输出参数,表示数据类型。 | 2554 2555**返回:** 2556 2557返回错误码。 2558 2559返回RDB_OK表示成功。 2560 2561返回RDB_E_INVALID_ARGS表示无效参数。 2562 2563 2564### OH_Value_GetUnlimitedInt() 2565 2566``` 2567int OH_Value_GetUnlimitedInt (OH_Data_Value *value, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen ) 2568``` 2569 2570**描述** 2571 2572获取任意长度的整型数据。 2573 2574**起始版本:** 18 2575 2576**参数:** 2577 2578| 名称 | 描述 | 2579| -------- | -------- | 2580| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2581| sign | 一个输出参数,表示正负数,0表示正整数,1表示负整数。 | 2582| trueForm | 表示指向整型数组的指针。需要申请数据内存。此函数仅填充数据。否则执行失败。 | 2583| inLen | 表示trueForm的大小。可以通过[OH_Values_GetUnlimitedIntBand](#oh_values_getunlimitedintband)获取。 | 2584| outLen | 一个输出参数,表示实际获取的数据大小。 | 2585 2586**返回:** 2587 2588返回错误码。 2589 2590返回RDB_OK表示成功。 2591 2592返回RDB_E_INVALID_ARGS表示无效参数。 2593 2594返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2595 2596返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2597 2598**参见:** 2599 2600[OH_Value_GetUnlimitedIntBand](#oh_value_getunlimitedintband). 2601 2602 2603### OH_Value_GetUnlimitedIntBand() 2604 2605``` 2606int OH_Value_GetUnlimitedIntBand (OH_Data_Value *value, size_t *length ) 2607``` 2608 2609**描述** 2610 2611获取任意长度的整型数据的大小。 2612 2613**起始版本:** 18 2614 2615**参数:** 2616 2617| 名称 | 描述 | 2618| -------- | -------- | 2619| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2620| length | 一个输出参数,表示整型数组的大小。 | 2621 2622**返回:** 2623 2624返回错误码。 2625 2626返回RDB_OK表示成功。 2627 2628返回RDB_E_INVALID_ARGS表示无效参数。 2629 2630返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 2631 2632返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 2633 2634### OH_Value_IsNull() 2635 2636``` 2637int OH_Value_IsNull (OH_Data_Value *value, bool *val ) 2638``` 2639 2640**描述** 2641 2642检查数据是否为空。 2643 2644**起始版本:** 18 2645 2646**参数:** 2647 2648| 名称 | 描述 | 2649| -------- | -------- | 2650| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2651| val | 一个输出参数,ture表示空,false表示不为空。 | 2652 2653**返回:** 2654 2655返回错误码。 2656 2657返回RDB_OK表示成功。 2658 2659返回RDB_E_INVALID_ARGS表示无效参数。 2660 2661 2662### OH_Value_PutAsset() 2663 2664``` 2665int OH_Value_PutAsset (OH_Data_Value *value, const Data_Asset *val ) 2666``` 2667 2668**描述** 2669 2670添加ASSET类型数据。 2671 2672**起始版本:** 18 2673 2674**参数:** 2675 2676| 名称 | 描述 | 2677| -------- | -------- | 2678| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2679| val | 表示指向**Data_Asset**对象的指针。 | 2680 2681**返回:** 2682 2683返回错误码。 2684 2685返回RDB_OK表示成功。 2686 2687返回RDB_E_INVALID_ARGS表示无效参数。 2688 2689 2690### OH_Value_PutAssets() 2691 2692``` 2693int OH_Value_PutAssets (OH_Data_Value *value, const Data_Asset * const * val, size_t length ) 2694``` 2695 2696**描述** 2697 2698添加ASSETS类型数据。 2699 2700**起始版本:** 18 2701 2702**参数:** 2703 2704| 名称 | 描述 | 2705| -------- | -------- | 2706| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2707| val | 表示指向**Data_Asset**对象的指针。 | 2708| length | 表示传入的**Data_Asset**对象数组元素的个数。 | 2709 2710**返回:** 2711 2712返回错误码。 2713 2714返回RDB_OK表示成功。 2715 2716返回RDB_E_INVALID_ARGS表示无效参数。 2717 2718 2719### OH_Value_PutBlob() 2720 2721``` 2722int OH_Value_PutBlob (OH_Data_Value *value, const unsigned char *val, size_t length ) 2723``` 2724 2725**描述** 2726 2727添加BLOB类型数据。 2728 2729**起始版本:** 18 2730 2731**参数:** 2732 2733| 名称 | 描述 | 2734| -------- | -------- | 2735| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2736| val | 表示BLOB类型数据。 | 2737| length | 表示BLOB类型数据的大小。 | 2738 2739**返回:** 2740 2741返回错误码。 2742 2743返回RDB_OK表示成功。 2744 2745返回RDB_E_INVALID_ARGS表示无效参数。 2746 2747 2748### OH_Value_PutFloatVector() 2749 2750``` 2751int OH_Value_PutFloatVector (OH_Data_Value *value, const float *val, size_t length ) 2752``` 2753 2754**描述** 2755 2756添加float数组类型数据。 2757 2758**起始版本:** 18 2759 2760**参数:** 2761 2762| 名称 | 描述 | 2763| -------- | -------- | 2764| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2765| val | 表示指向float数组对象的指针。 | 2766| length | 表示float数组的大小。 | 2767 2768**返回:** 2769 2770返回错误码。 2771 2772返回RDB_OK表示成功。 2773 2774返回RDB_E_INVALID_ARGS表示无效参数。 2775 2776### OH_Value_PutInt() 2777 2778``` 2779int OH_Value_PutInt (OH_Data_Value *value, int64_t val ) 2780``` 2781 2782**描述** 2783 2784添加整型数据。 2785 2786**起始版本:** 18 2787 2788**参数:** 2789 2790| 名称 | 描述 | 2791| -------- | -------- | 2792| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2793| val | 表示整型数据。 | 2794 2795**返回:** 2796 2797返回错误码。 2798 2799返回RDB_OK表示成功。 2800 2801返回RDB_E_INVALID_ARGS表示无效参数。 2802 2803 2804### OH_Value_PutNull() 2805 2806``` 2807int OH_Value_PutNull (OH_Data_Value *value) 2808``` 2809 2810**描述** 2811 2812添加空数据。 2813 2814**起始版本:** 18 2815 2816**参数:** 2817 2818| 名称 | 描述 | 2819| -------- | -------- | 2820| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2821 2822**返回:** 2823 2824返回错误码。 2825 2826返回RDB_OK表示成功。 2827 2828返回RDB_E_INVALID_ARGS表示无效参数。 2829 2830 2831### OH_Value_PutReal() 2832 2833``` 2834int OH_Value_PutReal (OH_Data_Value *value, double val ) 2835``` 2836 2837**描述** 2838 2839添加REAL类型数据。 2840 2841**起始版本:** 18 2842 2843**参数:** 2844 2845| 名称 | 描述 | 2846| -------- | -------- | 2847| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2848| val | 表示REAL类型数据。 | 2849 2850**返回:** 2851 2852返回错误码。 2853 2854返回RDB_OK表示成功。 2855 2856返回RDB_E_INVALID_ARGS表示无效参数。 2857 2858 2859### OH_Value_PutText() 2860 2861``` 2862int OH_Value_PutText (OH_Data_Value *value, const char *val ) 2863``` 2864 2865**描述** 2866 2867添加字符串类型数据。 2868 2869**起始版本:** 18 2870 2871**参数:** 2872 2873| 名称 | 描述 | 2874| -------- | -------- | 2875| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2876| val | 表示字符串类型数据。 | 2877 2878**返回:** 2879 2880返回错误码。 2881 2882返回RDB_OK表示成功。 2883 2884返回RDB_E_INVALID_ARGS表示无效参数。 2885 2886 2887### OH_Value_PutUnlimitedInt() 2888 2889``` 2890int OH_Value_PutUnlimitedInt (OH_Data_Value *value, int sign, const uint64_t *trueForm, size_t length ) 2891``` 2892 2893**描述** 2894 2895添加任意长度的整型数组数据。 2896 2897**起始版本:** 18 2898 2899**参数:** 2900 2901| 名称 | 描述 | 2902| -------- | -------- | 2903| value | 表示指向[OH_Data_Value](#oh_data_value)实例的指针。 | 2904| sign | 表示正负数,0表示正整数,1表示负整数。 | 2905| trueForm | 表示指向整型数组的指针。 | 2906| length | 表示整型数组的大小。 | 2907 2908**返回:** 2909 2910返回错误码。 2911 2912返回RDB_OK表示成功。 2913 2914返回RDB_E_INVALID_ARGS表示无效参数。 2915 2916### OH_Values_Count() 2917 2918``` 2919int OH_Values_Count (OH_Data_Values *values, size_t *count ) 2920``` 2921 2922**描述** 2923 2924获取数据个数。 2925 2926**起始版本:** 18 2927 2928**参数:** 2929 2930| 名称 | 描述 | 2931| -------- | -------- | 2932| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 2933| count | 一个输出参数,表示values中数据的个数。 | 2934 2935**返回:** 2936 2937返回错误码。 2938 2939返回RDB_OK表示成功。 2940 2941返回RDB_E_INVALID_ARGS表示无效参数。 2942 2943 2944### OH_Values_Create() 2945 2946``` 2947OH_Data_Values* OH_Values_Create (void ) 2948``` 2949 2950**描述** 2951 2952创建[OH_Data_Values](#oh_data_values)实例,用于储存多条键值对数据。 2953 2954**起始版本:** 18 2955 2956**返回:** 2957 2958执行成功时返回指向[OH_Data_Values](#oh_data_values)实例的指针,否则返回nullptr。使用完成后,必须通过[OH_Values_Destroy](#oh_values_destroy)接口释放内存。 2959 2960**参见:** 2961 2962[OH_Values_Destroy](#oh_values_destroy). 2963 2964 2965### OH_Values_Destroy() 2966 2967``` 2968int OH_Values_Destroy (OH_Data_Values *values) 2969``` 2970 2971**描述** 2972 2973销毁[OH_Data_Values](#oh_data_values)对象。 2974 2975**起始版本:** 18 2976 2977**参数:** 2978 2979| 名称 | 描述 | 2980| -------- | -------- | 2981| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 2982 2983**返回:** 2984 2985返回错误码。 2986 2987返回RDB_OK表示成功。 2988 2989返回RDB_E_INVALID_ARGS表示无效参数。 2990 2991 2992### OH_Values_Get() 2993 2994``` 2995int OH_Values_Get (OH_Data_Values *values, int index, OH_Data_Value **val ) 2996``` 2997 2998**描述** 2999 3000获取OH_Data_Value类型数据。 3001 3002**起始版本:** 18 3003 3004**参数:** 3005 3006| 名称 | 描述 | 3007| -------- | -------- | 3008| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3009| index | 表示values中目标数据的从零开始的索引。 | 3010| val | 一个输出参数,表示指向[OH_Data_Value](#oh_data_value)实例的指针。无需申请内存和释放内存。 | 3011 3012**返回:** 3013 3014返回错误码。 3015 3016返回RDB_OK表示成功。 3017 3018返回RDB_E_INVALID_ARGS表示无效参数。 3019 3020### OH_Values_GetAsset() 3021 3022``` 3023int OH_Values_GetAsset (OH_Data_Values *values, int index, Data_Asset *val ) 3024``` 3025 3026**描述** 3027 3028获取ASSET类型数据。 3029 3030**起始版本:** 18 3031 3032**参数:** 3033 3034| 名称 | 描述 | 3035| -------- | -------- | 3036| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3037| index | 表示values中目标数据的从零开始的索引。 | 3038| val | 表示指向**Data_Asset**对象的指针。需要申请数据内存。此函数仅填充数据。否则执行失败。 | 3039 3040**返回:** 3041 3042返回错误码。 3043 3044返回RDB_OK表示成功。 3045 3046返回RDB_E_INVALID_ARGS表示无效参数。 3047 3048返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3049 3050返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3051 3052 3053### OH_Values_GetAssets() 3054 3055``` 3056int OH_Values_GetAssets (OH_Data_Values *values, int index, Data_Asset **val, size_t inLen, size_t *outLen ) 3057``` 3058 3059**描述** 3060 3061获取ASSETS类型数据。 3062 3063**起始版本:** 18 3064 3065**参数:** 3066 3067| 名称 | 描述 | 3068| -------- | -------- | 3069| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3070| index | 表示values中目标数据的从零开始的索引。 | 3071| val | 表示指向**Data_Asset**对象的指针。使用时需要申请数据内存。此函数仅填充数据。否则执行失败。 | 3072| inLen | 表示val的大小。可以通过[OH_Values_GetAssetsCount](#oh_values_getassetscount)获取。 | 3073| outLen | 一个输出参数,表示实际获取的数据大小。 | 3074 3075**返回:** 3076 3077返回错误码。 3078 3079返回RDB_OK表示成功。 3080 3081返回RDB_E_INVALID_ARGS表示无效参数。 3082 3083返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3084 3085返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3086 3087**参见:** 3088 3089[OH_Values_GetAssetsCount](#oh_values_getassetscount). 3090 3091 3092### OH_Values_GetAssetsCount() 3093 3094``` 3095int OH_Values_GetAssetsCount (OH_Data_Values *values, int index, size_t *length ) 3096``` 3097 3098**描述** 3099 3100获取ASSETS类型数据的大小。 3101 3102**起始版本:** 18 3103 3104**参数:** 3105 3106| 名称 | 描述 | 3107| -------- | -------- | 3108| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3109| index | 表示values中目标数据的从零开始的索引。 | 3110| length | 一个输出参数,表示ASSETS类型数据的大小。 | 3111 3112**返回:** 3113 3114返回错误码。 3115 3116返回RDB_OK表示成功。 3117 3118返回RDB_E_INVALID_ARGS表示无效参数。 3119 3120返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3121 3122返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3123 3124 3125### OH_Values_GetBlob() 3126 3127``` 3128int OH_Values_GetBlob (OH_Data_Values *values, int index, const uint8_t **val, size_t *length ) 3129``` 3130 3131**描述** 3132 3133获取BLOB类型数据。 3134 3135**起始版本:** 18 3136 3137**参数:** 3138 3139| 名称 | 描述 | 3140| -------- | -------- | 3141| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3142| index | 表示values中目标数据的从零开始的索引。 | 3143| val | 一个输出参数,表示指向BLOB类型数据的指针。无需申请内存和释放内存。val的生命周期遵循values中index的值。 | 3144| length | 表示BLOB类型数组的大小。 | 3145 3146**返回:** 3147 3148返回错误码。 3149 3150返回RDB_OK表示成功。 3151 3152返回RDB_E_INVALID_ARGS表示无效参数。 3153 3154返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3155 3156返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3157 3158### OH_Values_GetFloatVector() 3159 3160``` 3161int OH_Values_GetFloatVector (OH_Data_Values *values, int index, float *val, size_t inLen, size_t *outLen ) 3162``` 3163 3164**描述** 3165 3166获取float数组类型数据。 3167 3168**起始版本:** 18 3169 3170**参数:** 3171 3172| 名称 | 描述 | 3173| -------- | -------- | 3174| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3175| index | 表示values中目标数据的从零开始的索引。 | 3176| val | 表示指向float数组的指针。需要申请数据内存。此函数仅填充数据。否则执行失败。 | 3177| inLen | 表示val的大小。可以通过[OH_Values_GetFloatVectorCount](#oh_values_getfloatvectorcount)获取。 | 3178| outLen | 一个输出参数,表示实际获取的数据大小。 | 3179 3180**返回:** 3181 3182返回错误码。 3183 3184返回RDB_OK表示成功。 3185 3186返回RDB_E_INVALID_ARGS表示无效参数。 3187 3188返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3189 3190返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3191 3192**参见:** 3193 3194[OH_Values_GetFloatVectorCount](#oh_values_getfloatvectorcount). 3195 3196 3197### OH_Values_GetFloatVectorCount() 3198 3199``` 3200int OH_Values_GetFloatVectorCount (OH_Data_Values *values, int index, size_t *length ) 3201``` 3202 3203**描述** 3204 3205获取float数组类型数据的大小。 3206 3207**起始版本:** 18 3208 3209**参数:** 3210 3211| 名称 | 描述 | 3212| -------- | -------- | 3213| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3214| index | 表示values中目标数据的从零开始的索引。 | 3215| length | 一个输出参数,表示float数组类型数据的大小。 | 3216 3217**返回:** 3218 3219返回错误码。 3220 3221返回RDB_OK表示成功。 3222 3223返回RDB_E_INVALID_ARGS表示无效参数。 3224 3225返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3226 3227返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3228 3229 3230### OH_Values_GetInt() 3231 3232``` 3233int OH_Values_GetInt (OH_Data_Values *values, int index, int64_t *val ) 3234``` 3235 3236**描述** 3237 3238获取整型数据。 3239 3240**起始版本:** 18 3241 3242**参数:** 3243 3244| 名称 | 描述 | 3245| -------- | -------- | 3246| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3247| index | 表示values中目标数据的从零开始的索引。 | 3248| val | 一个输出参数,表示指向整型数据的指针。 | 3249 3250**返回:** 3251 3252返回错误码。 3253 3254返回RDB_OK表示成功。 3255 3256返回RDB_E_INVALID_ARGS表示无效参数。 3257 3258返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3259 3260返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3261 3262### OH_Values_GetReal() 3263 3264``` 3265int OH_Values_GetReal (OH_Data_Values *values, int index, double *val ) 3266``` 3267 3268**描述** 3269 3270获取REAL类型数据。 3271 3272**起始版本:** 18 3273 3274**参数:** 3275 3276| 名称 | 描述 | 3277| -------- | -------- | 3278| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3279| index | 表示values中目标数据的从零开始的索引。 | 3280| val | 一个输出参数,表示指向REAL类型数据的指针。 | 3281 3282**返回:** 3283 3284返回错误码。 3285 3286返回RDB_OK表示成功。 3287 3288返回RDB_E_INVALID_ARGS表示无效参数。 3289 3290返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3291 3292返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3293 3294 3295### OH_Values_GetText() 3296 3297``` 3298int OH_Values_GetText (OH_Data_Values *values, int index, const char **val ) 3299``` 3300 3301**描述** 3302 3303获取字符串类型数据。 3304 3305**起始版本:** 18 3306 3307**参数:** 3308 3309| 名称 | 描述 | 3310| -------- | -------- | 3311| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3312| index | 表示values中目标数据的从零开始的索引。 | 3313| val | 一个输出参数,表示指向字符串类型数据的指针。无需申请内存和释放内存。val的生命周期遵循values中index的值。 | 3314 3315**返回:** 3316 3317返回错误码。 3318 3319返回RDB_OK表示成功。 3320 3321返回RDB_E_INVALID_ARGS表示无效参数。 3322 3323返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3324 3325返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3326 3327 3328### OH_Values_GetType() 3329 3330``` 3331int OH_Values_GetType (OH_Data_Values *values, int index, OH_ColumnType *type ) 3332``` 3333 3334**描述** 3335 3336获取数据类型。 3337 3338**起始版本:** 18 3339 3340**参数:** 3341 3342| 名称 | 描述 | 3343| -------- | -------- | 3344| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3345| index | 表示values中目标数据的从零开始的索引。 | 3346| type | 一个输出参数,表示数据类型。 | 3347 3348**返回:** 3349 3350返回错误码。 3351 3352返回RDB_OK表示成功。 3353 3354返回RDB_E_INVALID_ARGS表示无效参数。 3355 3356 3357### OH_Values_GetUnlimitedInt() 3358 3359``` 3360int OH_Values_GetUnlimitedInt (OH_Data_Values *values, int index, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen ) 3361``` 3362 3363**描述** 3364 3365获取任意长度的整型数据。 3366 3367**起始版本:** 18 3368 3369**参数:** 3370 3371| 名称 | 描述 | 3372| -------- | -------- | 3373| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3374| index | 表示values中目标数据的从零开始的索引。 | 3375| sign | 一个输出参数,表示正负数,0表示正整数,1表示负整数。 | 3376| trueForm | 表示指向整型数组的指针。需要申请数据内存。此函数仅填充数据。否则执行失败。 | 3377| inLen | 表示trueForm的大小。可以通过[OH_Values_GetUnlimitedIntBand](#oh_values_getunlimitedintband)获取。 | 3378| outLen | 一个输出参数,表示实际获取的数据大小。 | 3379 3380**返回:** 3381 3382返回错误码。 3383 3384返回RDB_OK表示成功。 3385 3386返回RDB_E_INVALID_ARGS表示无效参数。 3387 3388返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3389 3390返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3391 3392**参见:** 3393 3394[OH_Values_GetUnlimitedIntBand](#oh_values_getunlimitedintband). 3395 3396 3397### OH_Values_GetUnlimitedIntBand() 3398 3399``` 3400int OH_Values_GetUnlimitedIntBand (OH_Data_Values *values, int index, size_t *length ) 3401``` 3402 3403**描述** 3404 3405获取任意长度的整型数据的大小。 3406 3407**起始版本:** 18 3408 3409**参数:** 3410 3411| 名称 | 描述 | 3412| -------- | -------- | 3413| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3414| index | 表示values中目标数据的从零开始的索引。 | 3415| length | 一个输出参数,表示整型数组的大小。 | 3416 3417**返回:** 3418 3419返回错误码。 3420 3421返回RDB_OK表示成功。 3422 3423返回RDB_E_INVALID_ARGS表示无效参数。 3424 3425返回RDB_E_DATA_TYPE_NULL表示存储数据为空。 3426 3427返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 3428 3429 3430### OH_Values_IsNull() 3431 3432``` 3433int OH_Values_IsNull (OH_Data_Values *values, int index, bool *val ) 3434``` 3435 3436**描述** 3437 3438检查数据是否为空。 3439 3440**起始版本:** 18 3441 3442**参数:** 3443 3444| 名称 | 描述 | 3445| -------- | -------- | 3446| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3447| index | 表示values中目标数据的从零开始的索引。 | 3448| val | 一个输出参数,ture表示空,false表示不为空。 | 3449 3450**返回:** 3451 3452返回错误码。 3453 3454返回RDB_OK表示成功。 3455 3456返回RDB_E_INVALID_ARGS表示无效参数。 3457 3458### OH_Values_Put() 3459 3460``` 3461int OH_Values_Put (OH_Data_Values *values, const OH_Data_Value *val ) 3462``` 3463 3464**描述** 3465 3466添加OH_Data_Value类型数据给OH_Data_Values对象。 3467 3468**起始版本:** 18 3469 3470**参数:** 3471 3472| 名称 | 描述 | 3473| -------- | -------- | 3474| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3475| val | 表示指向[OH_Data_Value](#oh_data_value)对象的指针。 | 3476 3477**返回:** 3478 3479返回错误码。 3480 3481返回RDB_OK表示成功。 3482 3483返回RDB_E_INVALID_ARGS表示无效参数。 3484 3485 3486### OH_Values_PutAsset() 3487 3488``` 3489int OH_Values_PutAsset (OH_Data_Values *values, const Data_Asset *val ) 3490``` 3491 3492**描述** 3493 3494添加ASSET类型数据给OH_Data_Values对象。 3495 3496**起始版本:** 18 3497 3498**参数:** 3499 3500| 名称 | 描述 | 3501| -------- | -------- | 3502| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3503| val | 表示指向**Data_Asset**对象的指针。 | 3504 3505**返回:** 3506 3507返回错误码。 3508 3509返回RDB_OK表示成功。 3510 3511返回RDB_E_INVALID_ARGS表示无效参数。 3512 3513 3514### OH_Values_PutAssets() 3515 3516``` 3517int OH_Values_PutAssets (OH_Data_Values *values, const Data_Asset * const * val, size_t length ) 3518``` 3519 3520**描述** 3521 3522添加ASSETS类型数据给OH_Data_Values对象。 3523 3524**起始版本:** 18 3525 3526**参数:** 3527 3528| 名称 | 描述 | 3529| -------- | -------- | 3530| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3531| val | 表示指向**Data_Asset**对象的指针。 | 3532| length | 表示传入的**Data_Asset**对象数组元素的个数。 | 3533 3534**返回:** 3535 3536返回错误码。 3537 3538返回RDB_OK表示成功。 3539 3540返回RDB_E_INVALID_ARGS表示无效参数。 3541 3542 3543### OH_Values_PutBlob() 3544 3545``` 3546int OH_Values_PutBlob (OH_Data_Values *values, const unsigned char *val, size_t length ) 3547``` 3548 3549**描述** 3550 3551添加BLOB类型数据给OH_Data_Values对象。 3552 3553**起始版本:** 18 3554 3555**参数:** 3556 3557| 名称 | 描述 | 3558| -------- | -------- | 3559| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3560| val | 表示BLOB类型数据。 | 3561| length | 表示BLOB类型数据的大小。 | 3562 3563**返回:** 3564 3565返回错误码。 3566 3567返回RDB_OK表示成功。 3568 3569返回RDB_E_INVALID_ARGS表示无效参数。 3570 3571 3572### OH_Values_PutFloatVector() 3573 3574``` 3575int OH_Values_PutFloatVector (OH_Data_Values *values, const float *val, size_t length ) 3576``` 3577 3578**描述** 3579 3580添加float数组类型数据给OH_Data_Values对象。 3581 3582**起始版本:** 18 3583 3584**参数:** 3585 3586| 名称 | 描述 | 3587| -------- | -------- | 3588| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3589| val | 表示指向float数组对象的指针。 | 3590| length | 表示float数组的长度。 | 3591 3592**返回:** 3593 3594返回错误码。 3595 3596返回RDB_OK表示成功。 3597 3598返回RDB_E_INVALID_ARGS表示无效参数。 3599 3600 3601### OH_Values_PutInt() 3602 3603``` 3604int OH_Values_PutInt (OH_Data_Values *values, int64_t val ) 3605``` 3606 3607**描述** 3608 3609添加整型数据给OH_Data_Values对象。 3610 3611**起始版本:** 18 3612 3613**参数:** 3614 3615| 名称 | 描述 | 3616| -------- | -------- | 3617| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3618| val | 表示整型数据。 | 3619 3620**返回:** 3621 3622返回错误码。 3623 3624返回RDB_OK表示成功。 3625 3626返回RDB_E_INVALID_ARGS表示无效参数。 3627 3628 3629### OH_Values_PutNull() 3630 3631``` 3632int OH_Values_PutNull (OH_Data_Values *values) 3633``` 3634 3635**描述** 3636 3637添加空数据给OH_Data_Values对象。 3638 3639**起始版本:** 18 3640 3641**参数:** 3642 3643| 名称 | 描述 | 3644| -------- | -------- | 3645| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3646 3647**返回:** 3648 3649返回错误码。 3650 3651返回RDB_OK表示成功。 3652 3653返回RDB_E_INVALID_ARGS表示无效参数。 3654 3655 3656### OH_Values_PutReal() 3657 3658``` 3659int OH_Values_PutReal (OH_Data_Values *values, double val ) 3660``` 3661 3662**描述** 3663 3664添加REAL类型数据给OH_Data_Values对象。 3665 3666**起始版本:** 18 3667 3668**参数:** 3669 3670| 名称 | 描述 | 3671| -------- | -------- | 3672| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3673| val | 表示REAL类型数据。 | 3674 3675**返回:** 3676 3677返回错误码。 3678 3679返回RDB_OK表示成功。 3680 3681返回RDB_E_INVALID_ARGS表示无效参数。 3682 3683 3684### OH_Values_PutText() 3685 3686``` 3687int OH_Values_PutText (OH_Data_Values *values, const char *val ) 3688``` 3689 3690**描述** 3691 3692添加字符串类型数据给OH_Data_Values对象。 3693 3694**起始版本:** 18 3695 3696**参数:** 3697 3698| 名称 | 描述 | 3699| -------- | -------- | 3700| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3701| val | 表示字符串类型数据。 | 3702 3703**返回:** 3704 3705返回错误码。 3706 3707返回RDB_OK表示成功。 3708 3709返回RDB_E_INVALID_ARGS表示无效参数。 3710 3711 3712### OH_Values_PutUnlimitedInt() 3713 3714``` 3715int OH_Values_PutUnlimitedInt (OH_Data_Values *values, int sign, const uint64_t *trueForm, size_t length ) 3716``` 3717 3718**描述** 3719 3720添加任意长度的整型数组数据给OH_Data_Values对象。 3721 3722**起始版本:** 18 3723 3724**参数:** 3725 3726| 名称 | 描述 | 3727| -------- | -------- | 3728| values | 表示指向[OH_Data_Values](#oh_data_values)实例的指针。 | 3729| sign | 表示正负数,0表示正整数,1表示负整数。 | 3730| trueForm | 表示指向整型数组的指针。 | 3731| length | 表示整型数组的大小。 | 3732 3733**返回:** 3734 3735返回错误码。 3736 3737返回RDB_OK表示成功。 3738 3739返回RDB_E_INVALID_ARGS表示无效参数。 3740 3741### OH_VBucket_PutFloatVector() 3742 3743``` 3744int OH_VBucket_PutFloatVector (OH_VBucket *bucket, const char *field, const float *vec, size_t len ) 3745``` 3746 3747**描述** 3748 3749将float数组类型对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 3750 3751**起始版本:** 18 3752 3753**参数:** 3754 3755| 名称 | 描述 | 3756| -------- | -------- | 3757| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3758| field | 数据库表中的列名。 | 3759| vec | 表示指向float数组的指针。 | 3760| len | 表示float数组的大小。 | 3761 3762**返回:** 3763 3764返回操作是否成功,出错时返回对应的错误码。 3765 3766RDB_OK 表示成功。 3767 3768RDB_E_INVALID_ARGS 表示无效参数。 3769 3770**参见:** 3771 3772[OH_VBucket](_o_h___v_bucket.md). 3773 3774 3775### OH_VBucket_PutUnlimitedInt() 3776 3777``` 3778int OH_VBucket_PutUnlimitedInt (OH_VBucket *bucket, const char *field, int sign, const uint64_t *trueForm, size_t len ) 3779``` 3780 3781**描述** 3782 3783将任意长度的整数类型对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 3784 3785**起始版本:** 18 3786 3787**参数:** 3788 3789| 名称 | 描述 | 3790| -------- | -------- | 3791| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3792| field | 数据库表中的列名。 | 3793| sign | 表示整数类型对象是正数还是负数,0表示正数,1表示负数。 | 3794| trueForm | 表示指向整数类型数组的指针。 | 3795| len | 表示整数数组的大小。 | 3796 3797**返回:** 3798 3799返回操作是否成功,出错时返回对应的错误码。 3800 3801RDB_OK 表示成功。 3802 3803RDB_E_INVALID_ARGS 表示无效参数。 3804 3805**参见:** 3806 3807[OH_VBucket](_o_h___v_bucket.md). 3808 3809 3810### OH_VBuckets_Create() 3811 3812``` 3813OH_Data_VBuckets* OH_VBuckets_Create (void) 3814``` 3815 3816**描述** 3817 3818创建OH_Data_VBuckets实例。 3819 3820**起始版本:** 18 3821 3822**返回:** 3823 3824执行成功时返回指向[OH_Data_VBuckets](#oh_data_vbuckets)实例的指针,否则返回nullptr。使用完成后,必须通过[OH_VBuckets_Destroy](#oh_vbuckets_destroy)接口释放内存。 3825 3826**参见:** 3827 3828[OH_VBuckets_Destroy](#oh_vbuckets_destroy). 3829 3830 3831### OH_VBuckets_Destroy() 3832 3833``` 3834int OH_VBuckets_Destroy (OH_Data_VBuckets *buckets) 3835``` 3836 3837**描述** 3838 3839销毁OH_Data_VBuckets对象。 3840 3841**起始版本:** 18 3842 3843**参数:** 3844 3845| 名称 | 描述 | 3846| -------- | -------- | 3847| buckets | 表示指向[OH_Data_VBuckets](#oh_data_vbuckets)实例的指针。 | 3848 3849**返回:** 3850 3851返回错误码。 3852 3853返回RDB_OK表示成功。 3854 3855返回RDB_E_INVALID_ARGS表示无效参数。 3856 3857 3858### OH_VBuckets_PutRow() 3859 3860``` 3861int OH_VBuckets_PutRow (OH_Data_VBuckets *buckets, const OH_VBucket *row ) 3862``` 3863 3864**描述** 3865 3866添加OH_VBucket类型数据。 3867 3868**起始版本:** 18 3869 3870**参数:** 3871 3872| 名称 | 描述 | 3873| -------- | -------- | 3874| buckets | 表示指向[OH_Data_VBuckets](#oh_data_vbuckets)实例的指针。 | 3875| row | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 3876 3877**返回:** 3878 3879返回错误码。 3880 3881返回RDB_OK表示成功。 3882 3883返回RDB_E_INVALID_ARGS表示无效参数。 3884 3885 3886### OH_VBuckets_PutRows() 3887 3888``` 3889int OH_VBuckets_PutRows (OH_Data_VBuckets *buckets, const OH_Data_VBuckets *rows ) 3890``` 3891 3892**描述** 3893 3894添加OH_Data_VBuckets类型数据。 3895 3896**起始版本:** 18 3897 3898**参数:** 3899 3900| 名称 | 描述 | 3901| -------- | -------- | 3902| buckets | 表示指向[OH_Data_VBuckets](#oh_data_vbuckets)实例的指针。 | 3903| rows | 表示指向[OH_Data_VBuckets](#oh_data_vbuckets)实例的指针。 | 3904 3905**返回:** 3906 3907返回错误码。 3908 3909返回RDB_OK表示成功。 3910 3911返回RDB_E_INVALID_ARGS表示无效参数。 3912 3913 3914### OH_VBuckets_RowCount() 3915 3916``` 3917int OH_VBuckets_RowCount (OH_Data_VBuckets *buckets, size_t *count ) 3918``` 3919 3920**描述** 3921 3922获取OH_Data_VBuckets中OH_VBucket的行数。 3923 3924**起始版本:** 18 3925 3926**参数:** 3927 3928| 名称 | 描述 | 3929| -------- | -------- | 3930| buckets | 表示指向[OH_Data_VBuckets](#oh_data_vbuckets)实例的指针。 | 3931| count | 一个输出参数,表示[OH_Data_VBuckets](#oh_data_vbuckets)中[OH_VBucket](_o_h___v_bucket.md)的个数。 | 3932 3933**返回:** 3934 3935返回错误码。 3936 3937返回RDB_OK表示成功。 3938 3939返回RDB_E_INVALID_ARGS表示无效参数。 3940 3941### OH_Rdb_CreateOrOpen() 3942 3943``` 3944OH_Rdb_Store *OH_Rdb_CreateOrOpen (const OH_Rdb_ConfigV2 *config, int *errCode ) 3945``` 3946 3947**描述** 3948 3949使用指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),获得一个对应的[OH_Rdb_Store](_o_h___rdb___store.md)实例,用来操作关系型数据库。 3950 3951**起始版本:** 14 3952 3953**参数:** 3954 3955| 名称 | 描述 | 3956| -------- | -------- | 3957| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 3958| errCode | 表示函数执行状态,作为出参使用。RDB_OK表示成功。RDB_E_INVALID_ARGS表示无效参数。 | 3959 3960**返回:** 3961 3962创建成功则返回一个指向[OH_Rdb_Store](_o_h___rdb___store.md)结构体实例的指针,否则返回NULL。 3963 3964**参见:** 3965 3966[OH_Rdb_ConfigV2](#oh_rdb_configv2), [OH_Rdb_Store](_o_h___rdb___store.md). 3967 3968 3969### OH_Rdb_BeginTransWithTrxId() 3970 3971``` 3972int OH_Rdb_BeginTransWithTrxId (OH_Rdb_Store *store, int64_t *trxId ) 3973``` 3974 3975**描述** 3976 3977在开始执行SQL语句之前,开始事务,并获得该事务的ID,仅支持向量数据库。 3978 3979**起始版本:** 14 3980 3981**参数:** 3982 3983| 名称 | 描述 | 3984| -------- | -------- | 3985| store | 表示一个指向 [OH_Rdb_Store](_o_h___rdb___store.md) 实例的指针。 | 3986| trxId | 事务ID,作为出参使用。 | 3987 3988**返回:** 3989 3990返回操作是否成功,出错时返回对应的错误码。 3991 3992RDB_OK 表示成功。 3993 3994RDB_E_INVALID_ARGS 表示无效参数。 3995 3996RDB_E_NOT_SUPPORTED 表示不支持当前操作。 3997 3998**参见:** 3999 4000[OH_Rdb_Store](_o_h___rdb___store.md). 4001 4002 4003### OH_Rdb_CommitByTrxId() 4004 4005``` 4006int OH_Rdb_CommitByTrxId (OH_Rdb_Store *store, int64_t trxId ) 4007``` 4008 4009**描述** 4010 4011使用指定的事务ID,提交已经执行的SQL语句,仅支持向量数据库。 4012 4013**起始版本:** 14 4014 4015**参数:** 4016 4017| 名称 | 描述 | 4018| -------- | -------- | 4019| store | 表示一个指向 [OH_Rdb_Store](_o_h___rdb___store.md) 实例的指针。 | 4020| trxId | 表示需要提交的事务的ID。 | 4021 4022**返回:** 4023 4024返回操作是否成功,出错时返回对应的错误码。 4025 4026RDB_OK 表示成功。RDB_E_INVALID_ARGS 表示无效参数,可能情况如下:传入参数为空指针。当前事务ID不是调用[OH_Rdb_BeginTransWithTrxId](#oh_rdb_begintranswithtrxid)获得的。当前事务ID已经调用[OH_Rdb_CommitByTrxId](#oh_rdb_commitbytrxid)提交。当前事务ID已经调用[OH_Rdb_RollBackByTrxId](#oh_rdb_rollbackbytrxid)回滚。 4027 4028RDB_E_NOT_SUPPORTED 表示不支持当前操作。 4029 4030**参见:** 4031 4032[OH_Rdb_Store](_o_h___rdb___store.md). 4033 4034 4035### OH_Rdb_CreateConfig() 4036 4037``` 4038OH_Rdb_ConfigV2 *OH_Rdb_CreateConfig () 4039``` 4040 4041**描述** 4042 4043创建一个[OH_Rdb_ConfigV2](#oh_rdb_configv2)实例,并返回指向该实例的指针。 4044 4045**起始版本:** 14 4046 4047**返回:** 4048 4049返回一个指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)实例的指针。 4050 4051**参见:** 4052 4053[OH_Rdb_ConfigV2](#oh_rdb_configv2) 4054 4055 4056 4057### OH_Rdb_DeleteStoreV2() 4058 4059``` 4060int OH_Rdb_DeleteStoreV2 (const OH_Rdb_ConfigV2 *config) 4061``` 4062 4063**描述** 4064 4065使用指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2)删除数据库。当使用向量数据库时,在调用接口前,应当确保向量数据库已经被正确关闭。 4066 4067**起始版本:** 14 4068 4069**参数:** 4070 4071| 名称 | 描述 | 4072| -------- | -------- | 4073| config | 表示数据库的配置。 | 4074 4075**返回:** 4076 4077返回操作是否成功,出错时返回对应的错误码。 4078 4079RDB_OK 表示成功。 4080 4081RDB_E_INVALID_ARGS 表示无效参数。 4082 4083**参见:** 4084 4085OH_Rdb_ErrCode. 4086 4087 4088### OH_Rdb_DestroyConfig() 4089 4090``` 4091int OH_Rdb_DestroyConfig (OH_Rdb_ConfigV2 *config) 4092``` 4093 4094**描述** 4095 4096销毁由[OH_Rdb_CreateConfig](#oh_rdb_createconfig)创建的[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象。 4097 4098**起始版本:** 14 4099 4100**参数:** 4101 4102| 名称 | 描述 | 4103| -------- | -------- | 4104| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4105 4106**返回:** 4107 4108返回操作是否成功,出错时返回对应的错误码。 4109 4110RDB_OK 表示成功。 4111 4112RDB_E_INVALID_ARGS 表示无效参数。 4113 4114 4115### OH_Rdb_ExecuteByTrxId() 4116 4117``` 4118int OH_Rdb_ExecuteByTrxId (OH_Rdb_Store *store, int64_t trxId, const char *sql ) 4119``` 4120 4121**描述** 4122 4123使用指定的事务ID执行无返回值的SQL语句,仅支持向量数据库。 4124 4125**起始版本:** 14 4126 4127**参数:** 4128 4129| 名称 | 描述 | 4130| -------- | -------- | 4131| store | 表示一个指向 [OH_Rdb_Store](_o_h___rdb___store.md) 实例的指针。 | 4132| trxId | 调用[OH_Rdb_BeginTransWithTrxId](#oh_rdb_begintranswithtrxid)获得的事务ID,当设置为0时,表示不启用事务。 | 4133| sql | 指定要执行的SQL语句。 | 4134 4135**返回:** 4136 4137返回操作是否成功,出错时返回对应的错误码。 4138 4139RDB_OK 表示成功。 4140 4141RDB_E_INVALID_ARGS 表示无效参数,可能情况如下:传入参数为空指针。当前事务ID不是调用[OH_Rdb_BeginTransWithTrxId](#oh_rdb_begintranswithtrxid)获得的。当前事务ID已经调用[OH_Rdb_CommitByTrxId](#oh_rdb_commitbytrxid)提交。当前事务ID已经调用[OH_Rdb_RollBackByTrxId](#oh_rdb_rollbackbytrxid)回滚。当store或者sql为NULL时。 4142 4143RDB_E_NOT_SUPPORTED 表示不支持当前操作。 4144 4145**参见:** 4146 4147[OH_Rdb_Store](_o_h___rdb___store.md). 4148 4149 4150### OH_Rdb_GetSupportedDbType() 4151 4152``` 4153const int *OH_Rdb_GetSupportedDbType (int *typeCount) 4154``` 4155 4156**描述** 4157 4158获得支持的数据库类型[Rdb_DBType](#rdb_dbtype)。 4159 4160**起始版本:** 14 4161 4162**参数:** 4163 4164| 名称 | 描述 | 4165| -------- | -------- | 4166| typeCount | 表示支持的数据库类型的数组的长度,作为出参使用。 | 4167 4168**返回:** 4169 4170返回操作是否成功,出错时返回对应的错误码。 4171 4172RDB_OK 表示成功。 4173 4174RDB_E_INVALID_ARGS 表示无效参数。 4175 4176 4177### OH_Rdb_RollBackByTrxId() 4178 4179``` 4180int OH_Rdb_RollBackByTrxId (OH_Rdb_Store *store, int64_t trxId ) 4181``` 4182 4183**描述** 4184 4185使用指定的事务ID,回滚已经执行的SQL语句,仅支持向量数据库。 4186 4187**起始版本:** 14 4188 4189**参数:** 4190 4191| 名称 | 描述 | 4192| -------- | -------- | 4193| store | 表示一个指向 [OH_Rdb_Store](_o_h___rdb___store.md) 实例的指针。 | 4194| trxId | 表示需要回滚的事务的ID。 | 4195 4196**返回:** 4197 4198返回操作是否成功,出错时返回对应的错误码。 4199 4200RDB_OK 表示成功。 4201 4202RDB_E_INVALID_ARGS 表示无效参数,可能情况如下:传入参数为空指针。当前事务ID不是调用[OH_Rdb_BeginTransWithTrxId](#oh_rdb_begintranswithtrxid)获得的。当前事务ID已经调用[OH_Rdb_CommitByTrxId](#oh_rdb_commitbytrxid)提交。当前事务ID已经调用[OH_Rdb_RollBackByTrxId](#oh_rdb_rollbackbytrxid)回滚。 4203 4204RDB_E_NOT_SUPPORTED 表示不支持当前操作。 4205 4206**参见:** 4207 4208[OH_Rdb_Store](_o_h___rdb___store.md). 4209 4210 4211### OH_Rdb_SetArea() 4212 4213``` 4214int OH_Rdb_SetArea (OH_Rdb_ConfigV2 *config, int area ) 4215``` 4216 4217**描述** 4218 4219给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库安全区域等级[Rdb_SecurityArea](#rdb_securityarea)。 4220 4221**起始版本:** 14 4222 4223**参数:** 4224 4225| 名称 | 描述 | 4226| -------- | -------- | 4227| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4228| area | 表示数据库安全区域等级[Rdb_SecurityArea](#rdb_securityarea)。 | 4229 4230**返回:** 4231 4232返回操作是否成功,出错时返回对应的错误码。 4233 4234RDB_OK 表示成功。 4235 4236RDB_E_INVALID_ARGS 表示无效参数。 4237 4238 4239### OH_Rdb_SetBundleName() 4240 4241``` 4242int OH_Rdb_SetBundleName (OH_Rdb_ConfigV2 *config, const char *bundleName ) 4243``` 4244 4245**描述** 4246 4247给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置应用包名。 4248 4249**起始版本:** 14 4250 4251**参数:** 4252 4253| 名称 | 描述 | 4254| -------- | -------- | 4255| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4256| bundleName | 表示数据库应用包名。 | 4257 4258**返回:** 4259 4260返回操作是否成功,出错时返回对应的错误码。 4261 4262RDB_OK 表示成功。 4263 4264RDB_E_INVALID_ARGS 表示无效参数。 4265 4266 4267### OH_Rdb_SetDatabaseDir() 4268 4269``` 4270int OH_Rdb_SetDatabaseDir (OH_Rdb_ConfigV2 *config, const char *databaseDir ) 4271``` 4272 4273**描述** 4274 4275给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库文件路径。 4276 4277**起始版本:** 14 4278 4279**参数:** 4280 4281| 名称 | 描述 | 4282| -------- | -------- | 4283| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4284| dataBaseDir | 表示数据库文件路径。包含数据库名称在内的全路径长度不超过1024个字符。 | 4285 4286**返回:** 4287 4288返回操作是否成功,出错时返回对应的错误码。 4289 4290RDB_OK 表示成功。 4291 4292RDB_E_INVALID_ARGS 表示无效参数。 4293 4294 4295### OH_Rdb_SetDbType() 4296 4297``` 4298int OH_Rdb_SetDbType (OH_Rdb_ConfigV2 *config, int dbType ) 4299``` 4300 4301**描述** 4302 4303给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库类型[Rdb_DBType](#rdb_dbtype)。 4304 4305**起始版本:** 14 4306 4307**参数:** 4308 4309| 名称 | 描述 | 4310| -------- | -------- | 4311| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4312| dbType | 表示数据库的数据库类型 [Rdb_DBType](#rdb_dbtype)。 | 4313 4314**返回:** 4315 4316返回操作是否成功,出错时返回对应的错误码。 4317 4318RDB_OK 表示成功。 4319 4320RDB_E_INVALID_ARGS 表示无效参数。 4321 4322RDB_E_NOT_SUPPORTED 表示不支持当前操作。 4323 4324 4325### OH_Rdb_SetEncrypted() 4326 4327``` 4328int OH_Rdb_SetEncrypted (OH_Rdb_ConfigV2 *config, bool isEncrypted ) 4329``` 4330 4331**描述** 4332 4333给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库是否加密。 4334 4335**起始版本:** 14 4336 4337**参数:** 4338 4339| 名称 | 描述 | 4340| -------- | -------- | 4341| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4342| isEncrypted | 表示数据库是否加密,true表示加密,false表示不加密。 | 4343 4344**返回:** 4345 4346返回操作是否成功,出错时返回对应的错误码。 4347 4348RDB_OK 表示成功。 4349 4350RDB_E_INVALID_ARGS 表示无效参数。 4351 4352 4353### OH_Rdb_SetModuleName() 4354 4355``` 4356int OH_Rdb_SetModuleName (OH_Rdb_ConfigV2 *config, const char *moduleName ) 4357``` 4358 4359**描述** 4360 4361给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置应用模块名。 4362 4363**起始版本:** 14 4364 4365**参数:** 4366 4367| 名称 | 描述 | 4368| -------- | -------- | 4369| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4370| moduleName | 表示数据库应用模块名。 | 4371 4372**返回:** 4373 4374返回操作是否成功,出错时返回对应的错误码。 4375 4376RDB_OK 表示成功。 4377 4378RDB_E_INVALID_ARGS 表示无效参数。 4379 4380 4381### OH_Rdb_SetSecurityLevel() 4382 4383``` 4384int OH_Rdb_SetSecurityLevel (OH_Rdb_ConfigV2 *config, int securityLevel ) 4385``` 4386 4387**描述** 4388 4389给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 4390 4391**起始版本:** 14 4392 4393**参数:** 4394 4395| 名称 | 描述 | 4396| -------- | -------- | 4397| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4398| securityLevel | 表示数据库安全级别 [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 | 4399 4400**返回:** 4401 4402返回操作是否成功,出错时返回对应的错误码。 4403 4404RDB_OK 表示成功。 4405 4406RDB_E_INVALID_ARGS 表示无效参数。 4407 4408 4409### OH_Rdb_SetStoreName() 4410 4411``` 4412int OH_Rdb_SetStoreName (OH_Rdb_ConfigV2 *config, const char *storeName ) 4413``` 4414 4415**描述** 4416 4417给指定的数据库文件配置[OH_Rdb_ConfigV2](#oh_rdb_configv2),设置数据库名称。 4418 4419**起始版本:** 14 4420 4421**参数:** 4422 4423| 名称 | 描述 | 4424| -------- | -------- | 4425| config | 表示指向[OH_Rdb_ConfigV2](#oh_rdb_configv2)对象的指针,即与此RDB存储相关的数据库配置。 | 4426| storeName | 表示数据库名称。 | 4427 4428**返回:** 4429 4430返回操作是否成功,出错时返回对应的错误码。 4431 4432RDB_OK 表示成功。 4433 4434RDB_E_INVALID_ARGS 表示无效参数。 4435 4436### OH_Rdb_Backup() 4437 4438``` 4439int OH_Rdb_Backup (OH_Rdb_Store *store, const char *databasePath ) 4440``` 4441 4442**描述** 4443 4444以指定路径备份数据库,支持向量数据库。 4445 4446**起始版本:** 10 4447 4448**参数:** 4449 4450| 名称 | 描述 | 4451| -------- | -------- | 4452| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4453| databasePath | 指定数据库的备份文件路径。 | 4454 4455**返回:** 4456 4457返回操作是否成功,出错时返回对应的错误码。 4458 4459RDB_OK 表示成功。 4460 4461RDB_E_INVALID_ARGS 表示无效参数。 4462 4463**参见:** 4464 4465[OH_Rdb_Store](_o_h___rdb___store.md). 4466 4467 4468### OH_Rdb_BeginTransaction() 4469 4470``` 4471int OH_Rdb_BeginTransaction (OH_Rdb_Store *store) 4472``` 4473 4474**描述** 4475 4476在开始执行SQL语句之前,开始事务。 4477 4478**起始版本:** 10 4479 4480**参数:** 4481 4482| 名称 | 描述 | 4483| -------- | -------- | 4484| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4485 4486**返回:** 4487 4488返回操作是否成功,出错时返回对应的错误码。 4489 4490RDB_OK 表示成功。 4491 4492RDB_E_INVALID_ARGS 表示无效参数。 4493 4494**参见:** 4495 4496[OH_Rdb_Store](_o_h___rdb___store.md). 4497 4498 4499### OH_Rdb_CloseStore() 4500 4501``` 4502int OH_Rdb_CloseStore (OH_Rdb_Store *store) 4503``` 4504 4505**描述** 4506 4507销毁[OH_Rdb_Store](_o_h___rdb___store.md)对象,并回收该对象占用的内存。 4508 4509**起始版本:** 10 4510 4511**参数:** 4512 4513| 名称 | 描述 | 4514| -------- | -------- | 4515| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4516 4517**返回:** 4518 4519返回操作是否成功,出错时返回对应的错误码。 4520 4521RDB_OK 表示成功。 4522 4523RDB_E_INVALID_ARGS 表示无效参数。 4524 4525**参见:** 4526 4527[OH_Rdb_Store](_o_h___rdb___store.md). 4528 4529 4530### OH_Rdb_CloudSync() 4531 4532``` 4533int OH_Rdb_CloudSync (OH_Rdb_Store *store, Rdb_SyncMode mode, const char *tables[], uint32_t count, const Rdb_ProgressObserver *observer ) 4534``` 4535 4536**描述** 4537 4538进行端云同步。 4539 4540**起始版本:** 11 4541 4542**参数:** 4543 4544| 名称 | 描述 | 4545| -------- | -------- | 4546| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4547| mode | 表示同步过程的类型[Rdb_SyncMode](#rdb_syncmode). | 4548| tables | 表示需要同步的表名。 | 4549| count | 同步的表的数量,如果传入的值为0,同步数据库的所有表。 | 4550| observer | 端云同步进度的观察者[Rdb_ProgressObserver](_rdb___progress_observer.md)。 | 4551 4552**返回:** 4553 4554返回操作是否成功,出错时返回对应的错误码。 4555 4556RDB_OK 表示成功。 4557 4558RDB_E_INVALID_ARGS 表示无效参数。 4559 4560**参见:** 4561 4562[OH_Rdb_Store](_o_h___rdb___store.md). 4563 4564 4565### OH_Rdb_Commit() 4566 4567``` 4568int OH_Rdb_Commit (OH_Rdb_Store *store) 4569``` 4570 4571**描述** 4572 4573提交已执行的SQL语句。 4574 4575**起始版本:** 10 4576 4577**参数:** 4578 4579| 名称 | 描述 | 4580| -------- | -------- | 4581| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4582 4583**返回:** 4584 4585返回操作是否成功,出错时返回对应的错误码。 4586 4587RDB_OK 表示成功。 4588 4589RDB_E_INVALID_ARGS 表示无效参数。 4590 4591**参见:** 4592 4593[OH_Rdb_Store](_o_h___rdb___store.md). 4594 4595 4596### OH_Rdb_CreatePredicates() 4597 4598``` 4599OH_Predicates* OH_Rdb_CreatePredicates (const char *table) 4600``` 4601 4602**描述** 4603 4604创建[OH_Predicates](_o_h___predicates.md)实例。 4605 4606**起始版本:** 10 4607 4608**参数:** 4609 4610| 名称 | 描述 | 4611| -------- | -------- | 4612| table | 表示数据库表名。 | 4613 4614**返回:** 4615 4616创建成功则返回一个指向[OH_Predicates](_o_h___predicates.md)结构体实例的指针,否则返回NULL。 4617 4618**参见:** 4619 4620[OH_Predicates](_o_h___predicates.md). 4621 4622 4623### OH_Rdb_CreateValueObject() 4624 4625``` 4626OH_VObject* OH_Rdb_CreateValueObject () 4627``` 4628 4629**描述** 4630 4631创建[OH_VObject](_o_h___v_object.md)实例。 4632 4633**起始版本:** 10 4634 4635**返回:** 4636 4637创建成功则返回一个指向[OH_VObject](_o_h___v_object.md)结构体实例的指针,否则返回NULL。 4638 4639**参见:** 4640 4641[OH_VObject](_o_h___v_object.md). 4642 4643 4644### OH_Rdb_CreateValuesBucket() 4645 4646``` 4647OH_VBucket* OH_Rdb_CreateValuesBucket () 4648``` 4649 4650**描述** 4651 4652创建[OH_VBucket](_o_h___v_bucket.md)实例。 4653 4654**起始版本:** 10 4655 4656**返回:** 4657 4658创建成功则返回一个指向[OH_VBucket](_o_h___v_bucket.md)结构体实例的指针,否则返回NULL。 4659 4660**参见:** 4661 4662[OH_VBucket](_o_h___v_bucket.md). 4663 4664 4665### OH_Rdb_Delete() 4666 4667``` 4668int OH_Rdb_Delete (OH_Rdb_Store *store, OH_Predicates *predicates ) 4669``` 4670 4671**描述** 4672 4673根据指定的条件删除数据库中的数据。 4674 4675**起始版本:** 10 4676 4677**参数:** 4678 4679| 名称 | 描述 | 4680| -------- | -------- | 4681| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4682| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定删除条件。 | 4683 4684**返回:** 4685 4686如果删除成功,返回删除的行数;如果失败,则返回的结果小于0。 4687 4688**参见:** 4689 4690[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md). 4691 4692 4693### OH_Rdb_DeleteStore() 4694 4695``` 4696int OH_Rdb_DeleteStore (const OH_Rdb_Config *config) 4697``` 4698 4699**描述** 4700 4701使用指定的数据库文件配置删除数据库。 4702 4703**起始版本:** 10 4704 4705**参数:** 4706 4707| 名称 | 描述 | 4708| -------- | -------- | 4709| config | 表示数据库的配置。 | 4710 4711**返回:** 4712 4713返回操作是否成功,出错时返回对应的错误码。 4714 4715 4716### OH_Rdb_Execute() 4717 4718``` 4719int OH_Rdb_Execute (OH_Rdb_Store *store, const char *sql ) 4720``` 4721 4722**描述** 4723 4724执行无返回值的SQL语句。 4725 4726**起始版本:** 10 4727 4728**参数:** 4729 4730| 名称 | 描述 | 4731| -------- | -------- | 4732| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4733| sql | 指定要执行的SQL语句。 | 4734 4735**返回:** 4736 4737返回操作是否成功,出错时返回对应的错误码。 4738 4739RDB_OK 表示成功。 4740 4741RDB_E_INVALID_ARGS 表示无效参数。 4742 4743**参见:** 4744 4745[OH_Rdb_Store](_o_h___rdb___store.md). 4746 4747 4748### OH_Rdb_ExecuteQuery() 4749 4750``` 4751OH_Cursor* OH_Rdb_ExecuteQuery (OH_Rdb_Store *store, const char *sql ) 4752``` 4753 4754**描述** 4755 4756根据指定SQL语句查询数据库中的数据,支持向量数据库 。 4757 4758**起始版本:** 10 4759 4760**参数:** 4761 4762| 名称 | 描述 | 4763| -------- | -------- | 4764| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4765| sql | 指定要执行的SQL语句。 | 4766 4767**返回:** 4768 4769如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。 4770 4771**参见:** 4772 4773[OH_Rdb_Store](_o_h___rdb___store.md). 4774 4775 4776### OH_Rdb_FindModifyTime() 4777 4778``` 4779OH_Cursor* OH_Rdb_FindModifyTime (OH_Rdb_Store *store, const char *tableName, const char *columnName, OH_VObject *values ) 4780``` 4781 4782**描述** 4783 4784获取数据库表中数据的最后修改时间。 4785 4786**起始版本:** 11 4787 4788**参数:** 4789 4790| 名称 | 描述 | 4791| -------- | -------- | 4792| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4793| tableName | 要查找的分布式数据库表表名。 | 4794| columnName | 指定要查询的数据库表的列名。 | 4795| values | 指定要查询的行的主键。如果数据库表无主键,参数columnName需传入"rowid",此时values为要查询的数据库表的行号。 | 4796 4797**返回:** 4798 4799返回操作是否成功,出错时返回对应的错误码。 4800 4801**参见:** 4802 4803[OH_Rdb_Store](_o_h___rdb___store.md). 4804 4805 4806### OH_Rdb_GetOrOpen() 4807 4808``` 4809OH_Rdb_Store* OH_Rdb_GetOrOpen (const OH_Rdb_Config *config, int *errCode ) 4810``` 4811 4812**描述** 4813 4814获得一个相关的[OH_Rdb_Store](_o_h___rdb___store.md)实例,操作关系型数据库。 4815 4816**起始版本:** 10 4817 4818**参数:** 4819 4820| 名称 | 描述 | 4821| -------- | -------- | 4822| config | 表示指向[OH_Rdb_Config](_o_h___rdb___config.md)实例的指针,与此RDB存储相关的数据库配置。 | 4823| errCode | 该参数是输出参数,函数执行状态写入该变量。 | 4824 4825**返回:** 4826 4827创建成功则返回一个指向[OH_Rdb_Store](_o_h___rdb___store.md)结构体实例的指针,否则返回NULL。 4828 4829**参见:** 4830 4831[OH_Rdb_Config](_o_h___rdb___config.md), [OH_Rdb_Store](_o_h___rdb___store.md). 4832 4833 4834### OH_Rdb_GetTableDetails() 4835 4836``` 4837Rdb_TableDetails* OH_Rdb_GetTableDetails (Rdb_ProgressDetails *progress, int32_t version ) 4838``` 4839 4840**描述** 4841 4842从端云同步任务的统计信息中获取数据库表的统计信息。 4843 4844**起始版本:** 11 4845 4846**参数:** 4847 4848| 名称 | 描述 | 4849| -------- | -------- | 4850| progress | 表示指向**OH_ProgressDetails**实例的指针。 | 4851| version | 表示当前[Rdb_ProgressDetails](_rdb___progress_details.md)的版本。 | 4852 4853**返回:** 4854 4855如果操作成功,会返回一个[Rdb_TableDetails](_rdb___table_details.md)结构体的指针,否则返回NULL。 4856 4857**参见:** 4858 4859[Rdb_ProgressDetails](_rdb___progress_details.md) 4860 4861[Rdb_TableDetails](_rdb___table_details.md) 4862 4863 4864### OH_Rdb_GetVersion() 4865 4866``` 4867int OH_Rdb_GetVersion (OH_Rdb_Store *store, int *version ) 4868``` 4869 4870**描述** 4871 4872获取数据库版本。 4873 4874**起始版本:** 10 4875 4876**参数:** 4877 4878| 名称 | 描述 | 4879| -------- | -------- | 4880| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4881| version | 该参数是输出参数,表示版本号。 | 4882 4883**返回:** 4884 4885返回操作是否成功,出错时返回对应的错误码。 4886 4887**参见:** 4888 4889[OH_Rdb_Store](_o_h___rdb___store.md). 4890 4891 4892### OH_Rdb_Insert() 4893 4894``` 4895int OH_Rdb_Insert (OH_Rdb_Store *store, const char *table, OH_VBucket *valuesBucket ) 4896``` 4897 4898**描述** 4899 4900向目标表中插入一行数据。 4901 4902**起始版本:** 10 4903 4904**参数:** 4905 4906| 名称 | 描述 | 4907| -------- | -------- | 4908| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4909| table | 表示指定的目标表名。 | 4910| valuesBucket | 表示要插入到表中的数据行[OH_VBucket](_o_h___v_bucket.md)。 | 4911 4912**返回:** 4913 4914如果插入成功,返回rowID,否则返回的结果小于0。 4915 4916**参见:** 4917 4918[OH_Rdb_Store](_o_h___rdb___store.md), [OH_VBucket](_o_h___v_bucket.md). 4919 4920### OH_Rdb_LockRow() 4921 4922``` 4923int OH_Rdb_LockRow (OH_Rdb_Store *store, OH_Predicates *predicates ) 4924``` 4925 4926**描述** 4927 4928根据指定的条件锁定数据库中的数据,锁定数据不执行端云同步。 4929 4930**起始版本:** 12 4931 4932**参数:** 4933 4934| 名称 | 描述 | 4935| -------- | -------- | 4936| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4937| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定锁定条件。 | 4938 4939**返回:** 4940 4941返回锁定结果。 4942 4943**参见:** 4944 4945[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md). 4946 4947### OH_Rdb_Query() 4948 4949``` 4950OH_Cursor* OH_Rdb_Query (OH_Rdb_Store *store, OH_Predicates *predicates, const char *const *columnNames, int length ) 4951``` 4952 4953**描述** 4954 4955根据指定条件查询数据库中的数据。 4956 4957**起始版本:** 10 4958 4959**参数:** 4960 4961| 名称 | 描述 | 4962| -------- | -------- | 4963| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4964| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定查询条件。 | 4965| columnNames | 表示要查询的列。如果值为空,则查询应用于所有列。 | 4966| length | 表示columnNames数组的长度。若length大于columnNames数组的实际长度,则会访问越界。 | 4967 4968**返回:** 4969 4970如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。 4971 4972**参见:** 4973 4974[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md), [OH_Cursor](_o_h___cursor.md). 4975 4976### OH_Rdb_QueryLockedRow() 4977 4978``` 4979OH_Cursor *OH_Rdb_QueryLockedRow (OH_Rdb_Store *store, OH_Predicates *predicates, const char *const *columnNames, int length ) 4980``` 4981 4982**描述** 4983 4984根据指定条件查询数据库中锁定的数据。 4985 4986**起始版本:** 12 4987 4988**参数:** 4989 4990| 名称 | 描述 | 4991| -------- | -------- | 4992| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 4993| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定查询条件。 | 4994| columnNames | 表示要查询的列。如果值为空,则查询应用于所有列。 | 4995| length | 表示columnNames数组的长度。若length大于columnNames数组的实际长度,则会访问越界。 | 4996 4997**返回:** 4998 4999如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。 5000 5001**参见:** 5002 5003[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md), [OH_Cursor](_o_h___cursor.md). 5004 5005### OH_Rdb_Restore() 5006 5007``` 5008int OH_Rdb_Restore (OH_Rdb_Store *store, const char *databasePath ) 5009``` 5010 5011**描述** 5012 5013从指定的数据库备份文件恢复数据库,支持向量数据库。 5014 5015**起始版本:** 10 5016 5017**参数:** 5018 5019| 名称 | 描述 | 5020| -------- | -------- | 5021| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5022| databasePath | 指定数据库的备份文件路径。 | 5023 5024**返回:** 5025 5026返回操作是否成功,出错时返回对应的错误码。 5027 5028RDB_OK 表示成功。 5029 5030RDB_E_INVALID_ARGS 表示无效参数。 5031 5032**参见:** 5033 5034[OH_Rdb_Store](_o_h___rdb___store.md). 5035 5036 5037### OH_Rdb_RollBack() 5038 5039``` 5040int OH_Rdb_RollBack (OH_Rdb_Store *store) 5041``` 5042 5043**描述** 5044 5045回滚已经执行的SQL语句。 5046 5047**起始版本:** 10 5048 5049**参数:** 5050 5051| 名称 | 描述 | 5052| -------- | -------- | 5053| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5054 5055**返回:** 5056 5057返回操作是否成功,出错时返回对应的错误码。 5058 5059RDB_OK 表示成功。 5060 5061RDB_E_INVALID_ARGS 表示无效参数。 5062 5063**参见:** 5064 5065[OH_Rdb_Store](_o_h___rdb___store.md). 5066 5067 5068### OH_Rdb_SetDistributedTables() 5069 5070``` 5071int OH_Rdb_SetDistributedTables (OH_Rdb_Store *store, const char *tables[], uint32_t count, Rdb_DistributedType type, const Rdb_DistributedConfig * config ) 5072``` 5073 5074**描述** 5075 5076设置分布式数据库表。 5077 5078**起始版本:** 11 5079 5080**参数:** 5081 5082| 名称 | 描述 | 5083| -------- | -------- | 5084| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5085| tables | 要设置的分布式数据库表表名。 | 5086| count | 要设置的分布式数据库表的数量。 | 5087| type | 表的分布式类型 [Rdb_DistributedType](#rdb_distributedtype)。 | 5088| config | 表的分布式配置信息。[Rdb_DistributedConfig](_rdb___distributed_config.md)。 | 5089 5090**返回:** 5091 5092返回操作是否成功,出错时返回对应的错误码。 5093 5094RDB_OK 表示成功。 5095 5096RDB_E_INVALID_ARGS 表示无效参数。 5097 5098**参见:** 5099 5100[OH_Rdb_Store](_o_h___rdb___store.md). 5101 5102 5103### OH_Rdb_SetVersion() 5104 5105``` 5106int OH_Rdb_SetVersion (OH_Rdb_Store *store, int version ) 5107``` 5108 5109**描述** 5110 5111设置数据库版本。 5112 5113**起始版本:** 10 5114 5115**参数:** 5116 5117| 名称 | 描述 | 5118| -------- | -------- | 5119| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5120| version | 表示版本号。 | 5121 5122**返回:** 5123 5124返回操作是否成功,出错时返回对应的错误码。 5125 5126RDB_OK 表示成功。 5127 5128RDB_E_INVALID_ARGS 表示无效参数。 5129 5130**参见:** 5131 5132[OH_Rdb_Store](_o_h___rdb___store.md). 5133 5134 5135### OH_Rdb_Subscribe() 5136 5137``` 5138int OH_Rdb_Subscribe (OH_Rdb_Store *store, Rdb_SubscribeType type, const Rdb_DataObserver *observer ) 5139``` 5140 5141**描述** 5142 5143为数据库注册观察者。当分布式数据库中的数据发生更改时,将调用回调。 5144 5145**起始版本:** 11 5146 5147**参数:** 5148 5149| 名称 | 描述 | 5150| -------- | -------- | 5151| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5152| type | 表示在[Rdb_SubscribeType](#rdb_subscribetype)中定义的订阅类型。 | 5153| observer | 数据库中更改事件的观察者[Rdb_DataObserver](_rdb___data_observer.md)。 | 5154 5155**返回:** 5156 5157返回操作是否成功,出错时返回对应的错误码。 5158 5159RDB_OK 表示成功。 5160 5161RDB_E_INVALID_ARGS 表示无效参数。 5162 5163**参见:** 5164 5165[OH_Rdb_Store](_o_h___rdb___store.md). 5166 5167[Rdb_DataObserver](_rdb___data_observer.md). 5168 5169 5170### OH_Rdb_SubscribeAutoSyncProgress() 5171 5172``` 5173int OH_Rdb_SubscribeAutoSyncProgress (OH_Rdb_Store *store, const Rdb_ProgressObserver *observer ) 5174``` 5175 5176**描述** 5177 5178订阅RDB存储的自动同步进度。当收到自动同步进度的通知时,将调用回调。RDB_OK表示成功。RDB_E_INVALID_ARGS表示无效参数。 5179 5180**起始版本:** 11 5181 5182**参数:** 5183 5184| 名称 | 描述 | 5185| -------- | -------- | 5186| store | 表示指向目标[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5187| observer | 用于自动同步进度的观察者[Rdb_ProgressObserver](_rdb___progress_observer.md)。表示调用返回自动同步进度的回调。 | 5188 5189**返回:** 5190 5191返回操作是否成功,出错时返回对应的错误码。 5192 5193**参见:** 5194 5195[OH_Rdb_Store](_o_h___rdb___store.md). 5196 5197[Rdb_ProgressObserver](_rdb___progress_observer.md). 5198 5199### OH_Rdb_UnlockRow() 5200 5201``` 5202int OH_Rdb_UnlockRow (OH_Rdb_Store *store, OH_Predicates *predicates ) 5203``` 5204 5205**描述** 5206 5207根据指定的条件锁解锁数据库中的数据。 5208 5209**起始版本:** 12 5210 5211**参数:** 5212 5213| 名称 | 描述 | 5214| -------- | -------- | 5215| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5216| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定解锁条件。 | 5217 5218**返回:** 5219 5220返回解锁结果。 5221 5222**参见:** 5223 5224[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md). 5225 5226### OH_Rdb_Unsubscribe() 5227 5228``` 5229int OH_Rdb_Unsubscribe (OH_Rdb_Store *store, Rdb_SubscribeType type, const Rdb_DataObserver *observer ) 5230``` 5231 5232**描述** 5233 5234从数据库中删除指定类型的指定观察者。 5235 5236**起始版本:** 11 5237 5238**参数:** 5239 5240| 名称 | 描述 | 5241| -------- | -------- | 5242| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5243| type | 表示在[Rdb_SubscribeType](#rdb_subscribetype)中定义的订阅类型。 | 5244| observer | 数据库中更改事件的观察者[Rdb_DataObserver](_rdb___data_observer.md)。如果这是nullptr,表示删除该类型的所有观察者。 | 5245 5246**返回:** 5247 5248返回操作是否成功,出错时返回对应的错误码。 5249 5250RDB_OK 表示成功。 5251 5252RDB_E_INVALID_ARGS 表示无效参数。 5253 5254**参见:** 5255 5256[OH_Rdb_Store](_o_h___rdb___store.md). 5257 5258[Rdb_DataObserver](_rdb___data_observer.md). 5259 5260 5261### OH_Rdb_UnsubscribeAutoSyncProgress() 5262 5263``` 5264int OH_Rdb_UnsubscribeAutoSyncProgress (OH_Rdb_Store *store, const Rdb_ProgressObserver *observer ) 5265``` 5266 5267**描述** 5268 5269取消订阅RDB存储的自动同步进程。 5270 5271**起始版本:** 11 5272 5273**参数:** 5274 5275| 名称 | 描述 | 5276| -------- | -------- | 5277| store | 表示指向目标[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5278| observer | 表示自动同步进度的观察者[Rdb_ProgressObserver](_rdb___progress_observer.md)。如果是空指针,则自动同步进程的所有回调都将被取消注册。 | 5279 5280**返回:** 5281 5282返回操作是否成功,出错时返回对应的错误码。 5283 5284RDB_OK 表示成功。 5285 5286RDB_E_INVALID_ARGS 表示无效参数。 5287 5288**参见:** 5289 5290[OH_Rdb_Store](_o_h___rdb___store.md). 5291 5292[Rdb_ProgressObserver](_rdb___progress_observer.md). 5293 5294 5295### OH_Rdb_Update() 5296 5297``` 5298int OH_Rdb_Update (OH_Rdb_Store *store, OH_VBucket *valuesBucket, OH_Predicates *predicates ) 5299``` 5300 5301**描述** 5302 5303根据指定的条件更新数据库中的数据。 5304 5305**起始版本:** 10 5306 5307**参数:** 5308 5309| 名称 | 描述 | 5310| -------- | -------- | 5311| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 | 5312| valuesBucket | 表示要更新到表中的数据行[OH_VBucket](_o_h___v_bucket.md)。 | 5313| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定更新条件。 | 5314 5315**返回:** 5316 5317如果更新成功,返回更新的行数,否则返回的结果小于0。 5318 5319**参见:** 5320 5321[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Bucket](_o_h___v_bucket.md), [OH_Predicates](_o_h___predicates.md). 5322 5323 5324### OH_VBucket_PutAsset() 5325 5326``` 5327int OH_VBucket_PutAsset (OH_VBucket *bucket, const char *field, Data_Asset *value ) 5328``` 5329 5330**描述** 5331 5332将**Data_Asset**类型的对象放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 5333 5334**起始版本:** 11 5335 5336**参数:** 5337 5338| 名称 | 描述 | 5339| -------- | -------- | 5340| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 5341| field | 数据库表中的列名。 | 5342| value | 数据库表中指定列名对应的值。 | 5343 5344**返回:** 5345 5346返回操作是否成功,出错时返回对应的错误码。 5347 5348**参见:** 5349 5350[OH_VBucket](_o_h___v_bucket.md). 5351 5352 5353### OH_VBucket_PutAssets() 5354 5355``` 5356int OH_VBucket_PutAssets (OH_VBucket *bucket, const char *field, Data_Asset **value, int count ) 5357``` 5358 5359**描述** 5360 5361将**Data_Asset**类型的对象数组放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 5362 5363**起始版本:** 11 5364 5365**参数:** 5366 5367| 名称 | 描述 | 5368| -------- | -------- | 5369| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 5370| field | 数据库表中的列名。 | 5371| value | 数据库表中指定列名对应的值。 | 5372| count | 表示传入的**Data_Asset**对象数组元素的个数。 | 5373 5374**返回:** 5375 5376返回操作是否成功,出错时返回对应的错误码。 5377 5378**参见:** 5379 5380[OH_VBucket](_o_h___v_bucket.md). 5381 5382## 变量说明 5383 5384 5385### andOperate 5386 5387``` 5388OH_Predicates *(*andOperate) (OH_Predicates *predicates) 5389``` 5390 5391**描述** 5392 5393函数指针,向谓词添加和条件。 5394 5395该方法等同于SQL语句中的“AND”。 5396 5397**起始版本:** 10 5398 5399**参数:** 5400 5401| 名称 | 描述 | 5402| -------- | -------- | 5403| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5404 5405**返回:** 5406 5407返回带有和条件的谓词。 5408 5409**参见:** 5410 5411[OH_Predicates](_o_h___predicates.md). 5412 5413 5414### area 5415 5416``` 5417int OH_Rdb_Config::area 5418``` 5419 5420**描述** 5421 5422设置数据库安全区域等级[Rdb_SecurityArea](#rdb_securityarea)。 5423 5424**起始版本:** 11 5425 5426 5427### beginWrap 5428 5429``` 5430OH_Predicates *(*beginWrap) (OH_Predicates *predicates) 5431``` 5432 5433**描述** 5434 5435函数指针,向谓词添加左括号。 5436 5437该方法等同于SQL语句中的“(”。 5438 5439**起始版本:** 10 5440 5441**参数:** 5442 5443| 名称 | 描述 | 5444| -------- | -------- | 5445| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5446 5447**返回:** 5448 5449返回带有左括号的谓词。 5450 5451**参见:** 5452 5453[OH_Predicates](_o_h___predicates.md). 5454 5455 5456### between 5457 5458``` 5459OH_Predicates *(*between) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 5460``` 5461 5462**描述** 5463 5464函数指针,将谓词配置为匹配数据字段为field且其值在给定范围内的指定字段。 5465 5466该方法等同于SQL语句中的“BETWEEN”。 5467 5468**起始版本:** 10 5469 5470**参数:** 5471 5472| 名称 | 描述 | 5473| -------- | -------- | 5474| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5475| field | 数据库表中的列名。 | 5476| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 5477 5478**返回:** 5479 5480返回与指定字段匹配的谓词。 5481 5482**参见:** 5483 5484[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 5485 5486 5487### briefObserver 5488 5489``` 5490Rdb_BriefObserver Rdb_SubscribeCallback::briefObserver 5491``` 5492 5493**描述** 5494 5495端云数据更改事件的回调函数。 5496 5497 5498### bundleName 5499 5500``` 5501const char* OH_Rdb_Config::bundleName 5502``` 5503 5504**描述** 5505 5506应用包名。 5507 5508 5509### callback [1/2] 5510 5511``` 5512Rdb_SubscribeCallback Rdb_DataObserver::callback 5513``` 5514 5515**描述** 5516 5517数据观察者的回调。 5518 5519 5520### callback [2/2] 5521 5522``` 5523Rdb_ProgressCallback Rdb_ProgressObserver::callback 5524``` 5525 5526**描述** 5527 5528端云同步进度观察者的回调函数。 5529 5530 5531### capability 5532 5533``` 5534uint16_t OH_VBucket::capability 5535``` 5536 5537**描述** 5538 5539表示结构体的存储键值对的数量。 5540 5541 5542### ChangeType 5543 5544``` 5545int Rdb_ChangeInfo::ChangeType 5546``` 5547 5548**描述** 5549 5550表示发生变化的数据的类型,数据或者资产附件发生变化。 5551 5552 5553### clear [1/2] 5554 5555``` 5556OH_Predicates *(*clear) (OH_Predicates *predicates) 5557``` 5558 5559**描述** 5560 5561函数指针,清空谓词。 5562 5563**起始版本:** 10 5564 5565**参数:** 5566 5567| 名称 | 描述 | 5568| -------- | -------- | 5569| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5570 5571**返回:** 5572 5573返回清空后的谓词。 5574 5575**参见:** 5576 5577[OH_Predicates](_o_h___predicates.md). 5578 5579 5580### clear [2/2] 5581 5582``` 5583int(*clear) (OH_VBucket *bucket) 5584``` 5585 5586**描述** 5587 5588清空[OH_VBucket](_o_h___v_bucket.md)对象。 5589 5590**起始版本:** 10 5591 5592**参数:** 5593 5594| 名称 | 描述 | 5595| -------- | -------- | 5596| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 5597 5598**返回:** 5599 5600返回操作是否成功,出错时返回对应的错误码。 5601 5602**参见:** 5603 5604[OH_VBucket](_o_h___v_bucket.md). 5605 5606 5607### code 5608 5609``` 5610int Rdb_ProgressDetails::code 5611``` 5612 5613**描述** 5614 5615表示端云同步过程的状态。 5616 5617 5618### context [1/2] 5619 5620``` 5621void* Rdb_DataObserver::context 5622``` 5623 5624**描述** 5625 5626表示数据观察者的上下文。 5627 5628 5629### context [2/2] 5630 5631``` 5632void* Rdb_ProgressObserver::context 5633``` 5634 5635**描述** 5636 5637端云同步进度观察者的上下文。 5638 5639 5640### count 5641 5642``` 5643int Rdb_KeyInfo::count 5644``` 5645 5646**描述** 5647 5648表示发生变化的主键或者行号的数量。 5649 5650 5651### dataBaseDir 5652 5653``` 5654const char* OH_Rdb_Config::dataBaseDir 5655``` 5656 5657**描述** 5658 5659数据库文件路径。 5660 5661 5662### deleted 5663 5664``` 5665Rdb_KeyInfo Rdb_ChangeInfo::deleted 5666``` 5667 5668**描述** 5669 5670记录删除数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示删除数据的行号。 5671 5672 5673### destroy [1/4] 5674 5675``` 5676int(*destroy) (OH_Cursor *cursor) 5677``` 5678 5679**描述** 5680 5681函数指针,关闭结果集。 5682 5683**起始版本:** 10 5684 5685**参数:** 5686 5687| 名称 | 描述 | 5688| -------- | -------- | 5689| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 5690 5691**返回:** 5692 5693返回操作是否成功,出错时返回对应的错误码。 5694 5695**参见:** 5696 5697[OH_Cursor](_o_h___cursor.md). 5698 5699 5700### destroy [2/4] 5701 5702``` 5703int(*destroy) (OH_Predicates *predicates) 5704``` 5705 5706**描述** 5707 5708销毁[OH_Predicates](_o_h___predicates.md)对象,并回收该对象占用的内存。 5709 5710**起始版本:** 10 5711 5712**参数:** 5713 5714| 名称 | 描述 | 5715| -------- | -------- | 5716| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5717 5718**返回:** 5719 5720返回操作是否成功,出错时返回对应的错误码。 5721 5722**参见:** 5723 5724[OH_Predicates](_o_h___predicates.md). 5725 5726 5727### destroy [3/4] 5728 5729``` 5730int(*destroy) (OH_VBucket *bucket) 5731``` 5732 5733**描述** 5734 5735销毁[OH_VBucket](_o_h___v_bucket.md)对象,并回收该对象占用的内存。 5736 5737**起始版本:** 10 5738 5739**参数:** 5740 5741| 名称 | 描述 | 5742| -------- | -------- | 5743| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 5744 5745**返回:** 5746 5747返回操作是否成功,出错时返回对应的错误码。 5748 5749**参见:** 5750 5751[OH_VBucket](_o_h___v_bucket.md). 5752 5753 5754### destroy [4/4] 5755 5756``` 5757int(*destroy) (OH_VObject *valueObject) 5758``` 5759 5760**描述** 5761 5762销毁[OH_VObject](_o_h___v_object.md)对象,并回收该对象占用的内存。 5763 5764**起始版本:** 10 5765 5766**参数:** 5767 5768| 名称 | 描述 | 5769| -------- | -------- | 5770| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 5771 5772**返回:** 5773 5774返回操作是否成功,出错时返回对应的错误码。 5775 5776**参见:** 5777 5778[OH_VObject](_o_h___v_object.md). 5779 5780 5781### detailsObserver 5782 5783``` 5784Rdb_DetailsObserver Rdb_SubscribeCallback::detailsObserver 5785``` 5786 5787**描述** 5788 5789端云数据更改事件的细节的回调函数。 5790 5791 5792### distinct 5793 5794``` 5795OH_Predicates *(*distinct) (OH_Predicates *predicates) 5796``` 5797 5798**描述** 5799 5800函数指针,配置谓词以过滤重复记录并仅保留其中一个。 5801 5802该方法等同于SQL语句中的“DISTINCT”。 5803 5804**起始版本:** 10 5805 5806**参数:** 5807 5808| 名称 | 描述 | 5809| -------- | -------- | 5810| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5811 5812**返回:** 5813 5814返回可用于过滤重复记录的谓词。 5815 5816**参见:** 5817 5818[OH_Predicates](_o_h___predicates.md). 5819 5820 5821### download 5822 5823``` 5824Rdb_Statistic Rdb_TableDetails::download 5825``` 5826 5827**描述** 5828 5829表示数据库表中端云同步下载过程的统计信息。 5830 5831 5832### endWrap 5833 5834``` 5835OH_Predicates *(*endWrap) (OH_Predicates *predicates) 5836``` 5837 5838**描述** 5839 5840函数指针,向谓词添加右括号。 5841 5842该方法等同于SQL语句中的“)”。 5843 5844**起始版本:** 10 5845 5846**参数:** 5847 5848| 名称 | 描述 | 5849| -------- | -------- | 5850| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5851 5852**返回:** 5853 5854返回带有右括号的谓词。 5855 5856**参见:** 5857 5858[OH_Predicates](_o_h___predicates.md). 5859 5860 5861### equalTo 5862 5863``` 5864OH_Predicates *(*equalTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 5865``` 5866 5867**描述** 5868 5869函数指针,配置谓词以匹配数据字段等于指定值的字段。 5870 5871该方法等同于SQL语句中的“=”。 5872 5873**起始版本:** 10 5874 5875**参数:** 5876 5877| 名称 | 描述 | 5878| -------- | -------- | 5879| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 5880| field | 数据库表中的列名 | 5881| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 5882 5883**返回:** 5884 5885返回与指定字段匹配的谓词。 5886 5887**参见:** 5888 5889[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 5890 5891 5892### failed 5893 5894``` 5895int Rdb_Statistic::failed 5896``` 5897 5898**描述** 5899 5900表示数据库表中端云同步失败的行数。 5901 5902 5903### getAsset 5904 5905``` 5906int(*getAsset) (OH_Cursor *cursor, int32_t columnIndex, Data_Asset *value) 5907``` 5908 5909**描述** 5910 5911函数指针,以资产的形式获取当前行中指定列的值。 5912 5913**起始版本:** 11 5914 5915**参数:** 5916 5917| 名称 | 描述 | 5918| -------- | -------- | 5919| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 5920| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 5921| value | 该参数是输出参数,结果集中指定列的值会以资产形式写入该变量。 | 5922 5923**返回:** 5924 5925返回操作是否成功,出错时返回对应的错误码。 5926 5927**参见:** 5928 5929[OH_Cursor](_o_h___cursor.md). 5930 5931 5932### getAssets 5933 5934``` 5935int(*getAssets) (OH_Cursor *cursor, int32_t columnIndex, Data_Asset **value, uint32_t length) 5936``` 5937 5938**描述** 5939 5940函数指针,以资产数组的形式获取当前行中指定列的值。 5941 5942**起始版本:** 11 5943 5944**参数:** 5945 5946| 名称 | 描述 | 5947| -------- | -------- | 5948| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 5949| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 5950| value | 该参数是输出参数,结果集中指定列的值会以资产数组形式写入该变量。 | 5951| length | 表示资产数组的长度。 | 5952 5953**返回:** 5954 5955返回操作是否成功,出错时返回对应的错误码。 5956 5957**参见:** 5958 5959[OH_Cursor](_o_h___cursor.md). 5960 5961 5962### getBlob 5963 5964``` 5965int(*getBlob) (OH_Cursor *cursor, int32_t columnIndex, unsigned char *value, int length) 5966``` 5967 5968**描述** 5969 5970函数指针,以字节数组的形式获取当前行中指定列的值。 5971 5972**起始版本:** 10 5973 5974**参数:** 5975 5976| 名称 | 描述 | 5977| -------- | -------- | 5978| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 5979| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 5980| value | 该参数是输出参数,结果集中指定列的值会以字节数组形式写入该变量。 | 5981| length | 表示value的长度,该值可通过getSize获取。 | 5982 5983**返回:** 5984 5985返回操作是否成功,出错时返回对应的错误码。 5986 5987**参见:** 5988 5989[OH_Cursor](_o_h___cursor.md). 5990 5991 5992### getColumnCount 5993 5994``` 5995int(*getColumnCount) (OH_Cursor *cursor, int *count) 5996``` 5997 5998**描述** 5999 6000函数指针,获取结果集中的列数。 6001 6002**起始版本:** 10 6003 6004**参数:** 6005 6006| 名称 | 描述 | 6007| -------- | -------- | 6008| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6009| count | 该参数是输出参数,结果集中的列数会写入该变量。 | 6010 6011**返回:** 6012 6013返回操作是否成功,出错时返回对应的错误码。 6014 6015**参见:** 6016 6017[OH_Cursor](_o_h___cursor.md). 6018 6019 6020### getColumnIndex 6021 6022``` 6023int(*getColumnIndex) (OH_Cursor *cursor, const char *name, int *columnIndex) 6024``` 6025 6026**描述** 6027 6028函数指针,根据指定的列名获取列索引。 6029 6030**起始版本:** 10 6031 6032**参数:** 6033 6034| 名称 | 描述 | 6035| -------- | -------- | 6036| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6037| name | 表示结果集中指定列的名称。 | 6038| columnIndex | 该参数是输出参数,结果集中指定列的索引会写入该变量。 | 6039 6040**返回:** 6041 6042返回操作是否成功,出错时返回对应的错误码。 6043 6044**参见:** 6045 6046[OH_Cursor](_o_h___cursor.md). 6047 6048 6049### getColumnName 6050 6051``` 6052int(*getColumnName) (OH_Cursor *cursor, int32_t columnIndex, char *name, int length) 6053``` 6054 6055**描述** 6056 6057函数指针,根据指定的列索引获取列名。 6058 6059**起始版本:** 10 6060 6061**参数:** 6062 6063| 名称 | 描述 | 6064| -------- | -------- | 6065| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6066| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 6067| name | 该参数是输出参数,结果集中指定列的名称会写入该变量。 | 6068| length | 表示列名的长度。 | 6069 6070**返回:** 6071 6072返回操作是否成功,出错时返回对应的错误码。 6073 6074**参见:** 6075 6076[OH_Cursor](_o_h___cursor.md). 6077 6078 6079### getColumnType 6080 6081``` 6082int(*getColumnType) (OH_Cursor *cursor, int32_t columnIndex, OH_ColumnType *columnType) 6083``` 6084 6085**描述** 6086 6087函数指针,根据指定的列索引获取列类型。 6088 6089**起始版本:** 10 6090 6091**参数:** 6092 6093| 名称 | 描述 | 6094| -------- | -------- | 6095| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6096| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 6097| columnType | 该参数是输出参数,结果集中指定列的数据类型[OH_ColumnType](#oh_columntype)会写入该变量。 | 6098 6099**返回:** 6100 6101返回操作是否成功,出错时返回对应的错误码。 6102 6103**参见:** 6104 6105[OH_Cursor](_o_h___cursor.md), [OH_ColumnType](#oh_columntype). 6106 6107 6108### getInt64 6109 6110``` 6111int(*getInt64) (OH_Cursor *cursor, int32_t columnIndex, int64_t *value) 6112``` 6113 6114**描述** 6115 6116函数指针,以int64_t形式获取当前行中指定列的值。 6117 6118**起始版本:** 10 6119 6120**参数:** 6121 6122| 名称 | 描述 | 6123| -------- | -------- | 6124| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6125| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 6126| value | 该参数是输出参数,结果集中指定列的值会以int64_t形式写入该变量。 | 6127 6128**返回:** 6129 6130返回操作是否成功,出错时返回对应的错误码。 6131 6132**参见:** 6133 6134[OH_Cursor](_o_h___cursor.md). 6135 6136 6137### getReal 6138 6139``` 6140int(*getReal) (OH_Cursor *cursor, int32_t columnIndex, double *value) 6141``` 6142 6143**描述** 6144 6145函数指针,以double形式获取当前行中指定列的值。 6146 6147**起始版本:** 10 6148 6149**参数:** 6150 6151| 名称 | 描述 | 6152| -------- | -------- | 6153| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6154| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 6155| value | 该参数是输出参数,结果集中指定列的值会以double形式写入该变量。 | 6156 6157**返回:** 6158 6159返回操作是否成功,出错时返回对应的错误码。 6160 6161**参见:** 6162 6163[OH_Cursor](_o_h___cursor.md). 6164 6165 6166### getRowCount 6167 6168``` 6169int(*getRowCount) (OH_Cursor *cursor, int *count) 6170``` 6171 6172**描述** 6173 6174函数指针,获取结果集中的行数。 6175 6176**起始版本:** 10 6177 6178**参数:** 6179 6180| 名称 | 描述 | 6181| -------- | -------- | 6182| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6183| count | 该参数是输出参数,结果集中的行数会写入该变量。 | 6184 6185**返回:** 6186 6187返回操作是否成功,出错时返回对应的错误码。 6188 6189**参见:** 6190 6191[OH_Cursor](_o_h___cursor.md). 6192 6193 6194### getSize 6195 6196``` 6197int(*getSize) (OH_Cursor *cursor, int32_t columnIndex, size_t *size) 6198``` 6199 6200**描述** 6201 6202函数指针,当结果集中列的数据类型是BLOB或者TEXT时,获取其值所需的内存。 6203 6204**起始版本:** 10 6205 6206**参数:** 6207 6208| 名称 | 描述 | 6209| -------- | -------- | 6210| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6211| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 6212| size | 该参数是输出参数,BLOB或者TEXT数据所需内存大小会写入该变量。 | 6213 6214**返回:** 6215 6216返回操作是否成功,出错时返回对应的错误码。 6217 6218**参见:** 6219 6220[OH_Cursor](_o_h___cursor.md). 6221 6222 6223### getText 6224 6225``` 6226int(*getText) (OH_Cursor *cursor, int32_t columnIndex, char *value, int length) 6227``` 6228 6229**描述** 6230 6231函数指针,以字符串形式获取当前行中指定列的值。 6232 6233**起始版本:** 10 6234 6235**参数:** 6236 6237| 名称 | 描述 | 6238| -------- | -------- | 6239| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6240| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 6241| value | 该参数是输出参数,结果集中指定列的值会以字符串形式写入该变量。 | 6242| length | 表示value的长度,该值可通过getSize获取。 | 6243 6244**返回:** 6245 6246返回操作是否成功,出错时返回对应的错误码。 6247 6248**参见:** 6249 6250[OH_Cursor](_o_h___cursor.md). 6251 6252 6253### goToNextRow 6254 6255``` 6256int(*goToNextRow) (OH_Cursor *cursor) 6257``` 6258 6259**描述** 6260 6261函数指针,转到结果集的下一行。 6262 6263**起始版本:** 10 6264 6265**参数:** 6266 6267| 名称 | 描述 | 6268| -------- | -------- | 6269| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6270 6271**返回:** 6272 6273返回操作是否成功,出错时返回对应的错误码。 6274 6275**参见:** 6276 6277[OH_Cursor](_o_h___cursor.md). 6278 6279 6280### greaterThan 6281 6282``` 6283OH_Predicates *(*greaterThan) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6284``` 6285 6286**描述** 6287 6288函数指针,配置谓词以匹配数据字段为field且值大于指定值valueObject的字段。 6289 6290该方法等同于SQL语句中的“>”。 6291 6292**起始版本:** 10 6293 6294**参数:** 6295 6296| 名称 | 描述 | 6297| -------- | -------- | 6298| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6299| field | 数据库表中的列名。 | 6300| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6301 6302**返回:** 6303 6304返回与指定字段匹配的谓词。 6305 6306**参见:** 6307 6308[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6309 6310 6311### greaterThanOrEqualTo 6312 6313``` 6314OH_Predicates *(*greaterThanOrEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6315``` 6316 6317**描述** 6318 6319函数指针,配置谓词以匹配数据字段为field且值大于或等于指定值valueObject的字段。 6320 6321该方法等同于SQL语句中的“>=”。 6322 6323**起始版本:** 10 6324 6325**参数:** 6326 6327| 名称 | 描述 | 6328| -------- | -------- | 6329| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6330| field | 数据库表中的列名。 | 6331| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6332 6333**返回:** 6334 6335返回与指定字段匹配的谓词。 6336 6337**参见:** 6338 6339[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6340 6341 6342### groupBy 6343 6344``` 6345OH_Predicates *(*groupBy) (OH_Predicates *predicates, char const *const *fields, int length) 6346``` 6347 6348**描述** 6349 6350函数指针,配置R谓词按指定列分组查询结果。 6351 6352该方法等同于SQL语句中的“GROUP BY”。 6353 6354**起始版本:** 10 6355 6356**参数:** 6357 6358| 名称 | 描述 | 6359| -------- | -------- | 6360| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6361| fields | 指定分组依赖的列名。 | 6362| length | 表示fields数值的长度。 | 6363 6364**返回:** 6365 6366返回分组查询列的谓词。 6367 6368**参见:** 6369 6370[OH_Predicates](_o_h___predicates.md). 6371 6372 6373### id [1/5] 6374 6375``` 6376int64_t OH_Cursor::id 6377``` 6378 6379**描述** 6380 6381OH_Cursor结构体的唯一标识符。 6382 6383 6384### id [2/5] 6385 6386``` 6387int64_t OH_Predicates::id 6388``` 6389 6390**描述** 6391 6392OH_Predicates结构体的唯一标识符。 6393 6394 6395### id [3/5] 6396 6397``` 6398int64_t OH_VObject::id 6399``` 6400 6401**描述** 6402 6403OH_VObject结构体的唯一标识符。 6404 6405 6406### id [4/5] 6407 6408``` 6409int64_t OH_VBucket::id 6410``` 6411 6412**描述** 6413 6414OH_VBucket结构体的唯一标识符。 6415 6416 6417### id [5/5] 6418 6419``` 6420int64_t OH_Rdb_Store::id 6421``` 6422 6423**描述** 6424 6425OH_Rdb_Store结构体的唯一标识符。 6426 6427 6428### in 6429 6430``` 6431OH_Predicates *(*in) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6432``` 6433 6434**描述** 6435 6436函数指针,配置谓词以匹配数据字段为field且值在给定范围内的指定字段。 6437 6438该方法等同于SQL语句中的“IN”。 6439 6440**起始版本:** 10 6441 6442**参数:** 6443 6444| 名称 | 描述 | 6445| -------- | -------- | 6446| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6447| field | 表示数据库表中的列名。 | 6448| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6449 6450**返回:** 6451 6452返回与指定字段匹配的谓词。 6453 6454**参见:** 6455 6456[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6457 6458 6459### inserted 6460 6461``` 6462Rdb_KeyInfo Rdb_ChangeInfo::inserted 6463``` 6464 6465**描述** 6466 6467记录插入数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示插入数据的行号。 6468 6469 6470### integer 6471 6472``` 6473uint64_t Rdb_KeyInfo::Rdb_KeyData::integer 6474``` 6475 6476**描述** 6477 6478存放uint64_t类型的数据。 6479 6480 6481### isAutoSync 6482 6483``` 6484bool Rdb_DistributedConfig::isAutoSync 6485``` 6486 6487**描述** 6488 6489表示该表是否支持自动同步。 6490 6491 6492### isEncrypt 6493 6494``` 6495bool OH_Rdb_Config::isEncrypt 6496``` 6497 6498**描述** 6499 6500指定数据库是否加密。 6501 6502 6503### isNotNull 6504 6505``` 6506OH_Predicates *(*isNotNull) (OH_Predicates *predicates, const char *field) 6507``` 6508 6509**描述** 6510 6511函数指针,配置谓词以匹配值不为null的指定字段。 6512 6513该方法等同于SQL语句中的“IS NOT NULL”。 6514 6515**起始版本:** 10 6516 6517**参数:** 6518 6519| 名称 | 描述 | 6520| -------- | -------- | 6521| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6522| field | 数据库表中的列名。 | 6523 6524**返回:** 6525 6526返回与指定字段匹配的谓词。 6527 6528**参见:** 6529 6530[OH_Predicates](_o_h___predicates.md). 6531 6532 6533### isNull [1/2] 6534 6535``` 6536int(*isNull) (OH_Cursor *cursor, int32_t columnIndex, bool *isNull) 6537``` 6538 6539**描述** 6540 6541函数指针,检查当前行中指定列的值是否为null。 6542 6543**起始版本:** 10 6544 6545**参数:** 6546 6547| 名称 | 描述 | 6548| -------- | -------- | 6549| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 | 6550| columnIndex | 表示结果集中指定列的索引,索引值从0开始。 | 6551| isNull | 该参数是输出参数,如果当前行中指定列的值为null,该值为true,否则为false。 | 6552 6553**返回:** 6554 6555返回操作是否成功,出错时返回对应的错误码。 6556 6557**参见:** 6558 6559[OH_Cursor](_o_h___cursor.md). 6560 6561 6562### isNull [2/2] 6563 6564``` 6565OH_Predicates *(*isNull) (OH_Predicates *predicates, const char *field) 6566``` 6567 6568**描述** 6569 6570函数指针,配置谓词以匹配值为null的字段。 6571 6572该方法等同于SQL语句中的“IS NULL”。 6573 6574**起始版本:** 10 6575 6576**参数:** 6577 6578| 名称 | 描述 | 6579| -------- | -------- | 6580| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6581| field | 数据库表中的列名。 | 6582 6583**返回:** 6584 6585返回与指定字段匹配的谓词。 6586 6587**参见:** 6588 6589[OH_Predicates](_o_h___predicates.md). 6590 6591 6592### lessThan 6593 6594``` 6595OH_Predicates *(*lessThan) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6596``` 6597 6598**描述** 6599 6600函数指针,配置谓词以匹配数据字段为field且值小于指定值valueObject的字段。 6601 6602该方法等同于SQL语句中的“<”。 6603 6604**起始版本:** 10 6605 6606**参数:** 6607 6608| 名称 | 描述 | 6609| -------- | -------- | 6610| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6611| field | 数据库表中的列名。 | 6612| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6613 6614**返回:** 6615 6616返回与指定字段匹配的谓词。 6617 6618**参见:** 6619 6620[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6621 6622 6623### lessThanOrEqualTo 6624 6625``` 6626OH_Predicates *(*lessThanOrEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6627``` 6628 6629**描述** 6630 6631函数指针,配置谓词以匹配数据字段为field且值小于或等于指定值valueObject的字段。 6632 6633该方法等同于SQL语句中的“<=”。 6634 6635**起始版本:** 10 6636 6637**参数:** 6638 6639| 名称 | 描述 | 6640| -------- | -------- | 6641| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6642| field | 数据库表中的列名。 | 6643| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6644 6645**返回:** 6646 6647返回与指定字段匹配的谓词。 6648 6649**参见:** 6650 6651[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6652 6653 6654### like 6655 6656``` 6657OH_Predicates *(*like) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6658``` 6659 6660**描述** 6661 6662函数指针,配置谓词以匹配数据字段为field且值类似于指定字符串的字段。 6663 6664该方法等同于SQL语句中的“LIKE”。 6665 6666**起始版本:** 10 6667 6668**参数:** 6669 6670| 名称 | 描述 | 6671| -------- | -------- | 6672| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6673| field | 数据库表中的列名。 | 6674| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6675 6676**返回:** 6677 6678返回与指定字段匹配的谓词。 6679 6680**参见:** 6681 6682[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6683 6684 6685### limit 6686 6687``` 6688OH_Predicates *(*limit) (OH_Predicates *predicates, unsigned int value) 6689``` 6690 6691**描述** 6692 6693函数指针,设置最大数据记录数的谓词。 6694 6695该方法等同于SQL语句中的“LIMIT”。 6696 6697**起始版本:** 10 6698 6699**参数:** 6700 6701| 名称 | 描述 | 6702| -------- | -------- | 6703| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6704| value | 表示最大数据记录数。 | 6705 6706**返回:** 6707 6708返回可用于设置最大数据记录数的谓词。 6709 6710**参见:** 6711 6712[OH_Predicates](_o_h___predicates.md). 6713 6714 6715### moduleName 6716 6717``` 6718const char* OH_Rdb_Config::moduleName 6719``` 6720 6721**描述** 6722 6723应用模块名。 6724 6725 6726### notBetween 6727 6728``` 6729OH_Predicates *(*notBetween) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6730``` 6731 6732**描述** 6733 6734函数指针,将谓词配置为匹配数据字段为field且其值超出给定范围内的指定字段。 6735 6736该方法等同于SQL语句中的“NOT BETWEEN”。 6737 6738**起始版本:** 10 6739 6740**参数:** 6741 6742| 名称 | 描述 | 6743| -------- | -------- | 6744| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6745| field | 数据库表中的列名。 | 6746| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6747 6748**返回:** 6749 6750返回与指定字段匹配的谓词。 6751 6752**参见:** 6753 6754[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6755 6756 6757### notEqualTo 6758 6759``` 6760OH_Predicates *(*notEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6761``` 6762 6763**描述** 6764 6765函数指针,配置谓词以匹配数据字段不等于指定值的字段。 6766 6767该方法等同于SQL语句中的“!=”。 6768 6769**起始版本:** 10 6770 6771**参数:** 6772 6773| 名称 | 描述 | 6774| -------- | -------- | 6775| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6776| field | 数据库表中的列名。 | 6777| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6778 6779**返回:** 6780 6781返回与指定字段匹配的谓词。 6782 6783**参见:** 6784 6785[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6786 6787 6788### notIn 6789 6790``` 6791OH_Predicates *(*notIn) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject) 6792``` 6793 6794**描述** 6795 6796函数指针,配置谓词以匹配数据字段为field且值超出给定范围内的指定字段。 6797 6798该方法等同于SQL语句中的“NOT IN”。 6799 6800**起始版本:** 10 6801 6802**参数:** 6803 6804| 名称 | 描述 | 6805| -------- | -------- | 6806| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6807| field | 表示数据库表中的列名。 | 6808| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 | 6809 6810**返回:** 6811 6812返回与指定字段匹配的谓词。 6813 6814**参见:** 6815 6816[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md). 6817 6818 6819### offset 6820 6821``` 6822OH_Predicates *(*offset) (OH_Predicates *predicates, unsigned int rowOffset) 6823``` 6824 6825**描述** 6826 6827函数指针,配置谓词以指定返回结果的起始位置。 6828 6829该方法等同于SQL语句中的“OFFSET”。 6830 6831**起始版本:** 10 6832 6833**参数:** 6834 6835| 名称 | 描述 | 6836| -------- | -------- | 6837| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6838| rowOffset | 返回结果的起始位置,取值为正整数。 | 6839 6840**返回:** 6841 6842返回具有指定返回结果起始位置的谓词。 6843 6844**参见:** 6845 6846[OH_Predicates](_o_h___predicates.md). 6847 6848 6849### orderBy 6850 6851``` 6852OH_Predicates *(*orderBy) (OH_Predicates *predicates, const char *field, OH_OrderType type) 6853``` 6854 6855**描述** 6856 6857函数指针,配置谓词以匹配其值按升序或降序排序的列。 6858 6859该方法等同于SQL语句中的“ORDER BY”。 6860 6861**起始版本:** 10 6862 6863**参数:** 6864 6865| 名称 | 描述 | 6866| -------- | -------- | 6867| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6868| field | 数据库表中的列名。 | 6869| type | 表示排序类型 [OH_OrderType](#oh_ordertype). | 6870 6871**返回:** 6872 6873返回与指定字段匹配的谓词。 6874 6875**参见:** 6876 6877[OH_Predicates](_o_h___predicates.md), [OH_OrderType](#oh_ordertype). 6878 6879 6880### orOperate 6881 6882``` 6883OH_Predicates *(*orOperate) (OH_Predicates *predicates) 6884``` 6885 6886**描述** 6887 6888函数指针,将或条件添加到谓词中。 6889 6890该方法等同于SQL语句中的“OR”。 6891 6892**起始版本:** 10 6893 6894**参数:** 6895 6896| 名称 | 描述 | 6897| -------- | -------- | 6898| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 | 6899 6900**返回:** 6901 6902返回带有或条件的谓词。 6903 6904**参见:** 6905 6906[OH_Predicates](_o_h___predicates.md). 6907 6908 6909### putBlob 6910 6911``` 6912int(*putBlob) (OH_VBucket *bucket, const char *field, const uint8_t *value, uint32_t size) 6913``` 6914 6915**描述** 6916 6917将const uint8_t \*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 6918 6919**起始版本:** 10 6920 6921**参数:** 6922 6923| 名称 | 描述 | 6924| -------- | -------- | 6925| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 6926| field | 数据库表中的列名。 | 6927| value | 数据库表中指定列名对应的值。 | 6928| size | 表示value的长度。 | 6929 6930**返回:** 6931 6932返回操作是否成功,出错时返回对应的错误码。 6933 6934**参见:** 6935 6936[OH_VBucket](_o_h___v_bucket.md). 6937 6938 6939### putDouble 6940 6941``` 6942int(*putDouble) (OH_VObject *valueObject, double *value, uint32_t count) 6943``` 6944 6945**描述** 6946 6947将double类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 6948 6949**起始版本:** 10 6950 6951**参数:** 6952 6953| 名称 | 描述 | 6954| -------- | -------- | 6955| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 6956| value | 表示指向double类型的单个参数或者数组的指针。 | 6957| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 | 6958 6959**返回:** 6960 6961返回操作是否成功,出错时返回对应的错误码。 6962 6963**参见:** 6964 6965[OH_VObject](_o_h___v_object.md). 6966 6967 6968### putInt64 [1/2] 6969 6970``` 6971int(*putInt64) (OH_VBucket *bucket, const char *field, int64_t value) 6972``` 6973 6974**描述** 6975 6976将int64_t值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 6977 6978**起始版本:** 10 6979 6980**参数:** 6981 6982| 名称 | 描述 | 6983| -------- | -------- | 6984| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 6985| field | 数据库表中的列名。 | 6986| value | 数据库表中指定列名对应的值。 | 6987 6988**返回:** 6989 6990返回操作是否成功,出错时返回对应的错误码。 6991 6992**参见:** 6993 6994[OH_VBucket](_o_h___v_bucket.md). 6995 6996 6997### putInt64 [2/2] 6998 6999``` 7000int(*putInt64) (OH_VObject *valueObject, int64_t *value, uint32_t count) 7001``` 7002 7003**描述** 7004 7005将int64类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 7006 7007**起始版本:** 10 7008 7009**参数:** 7010 7011| 名称 | 描述 | 7012| -------- | -------- | 7013| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 7014| value | 表示指向int64_t类型的单个参数或者数组的指针。 | 7015| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 | 7016 7017**返回:** 7018 7019返回操作是否成功,出错时返回对应的错误码。 7020 7021**参见:** 7022 7023[OH_VObject](_o_h___v_object.md). 7024 7025 7026### putNull 7027 7028``` 7029int(*putNull) (OH_VBucket *bucket, const char *field) 7030``` 7031 7032**描述** 7033 7034将NULL值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 7035 7036**起始版本:** 10 7037 7038**参数:** 7039 7040| 名称 | 描述 | 7041| -------- | -------- | 7042| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 7043| field | 数据库表中的列名。 | 7044 7045**返回:** 7046 7047返回操作是否成功,出错时返回对应的错误码。 7048 7049**参见:** 7050 7051[OH_VBucket](_o_h___v_bucket.md). 7052 7053 7054### putReal 7055 7056``` 7057int(*putReal) (OH_VBucket *bucket, const char *field, double value) 7058``` 7059 7060**描述** 7061 7062将double值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 7063 7064**起始版本:** 10 7065 7066**参数:** 7067 7068| 名称 | 描述 | 7069| -------- | -------- | 7070| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 7071| field | 数据库表中的列名。 | 7072| value | 数据库表中指定列名对应的值。 | 7073 7074**返回:** 7075 7076返回操作是否成功,出错时返回对应的错误码。 7077 7078**参见:** 7079 7080[OH_VBucket](_o_h___v_bucket.md). 7081 7082 7083### putText [1/2] 7084 7085``` 7086int(*putText) (OH_VBucket *bucket, const char *field, const char *value) 7087``` 7088 7089**描述** 7090 7091将char\*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 7092 7093**起始版本:** 10 7094 7095**参数:** 7096 7097| 名称 | 描述 | 7098| -------- | -------- | 7099| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 | 7100| field | 数据库表中的列名。 | 7101| value | 数据库表中指定列名对应的值。 | 7102 7103**返回:** 7104 7105返回操作是否成功,出错时返回对应的错误码。 7106 7107**参见:** 7108 7109[OH_VBucket](_o_h___v_bucket.md). 7110 7111 7112### putText [2/2] 7113 7114``` 7115int(*putText) (OH_VObject *valueObject, const char *value) 7116``` 7117 7118**描述** 7119 7120将char \*类型的字符数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 7121 7122**起始版本:** 10 7123 7124**参数:** 7125 7126| 名称 | 描述 | 7127| -------- | -------- | 7128| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 7129| value | 表示字符数组参数。 | 7130 7131**返回:** 7132 7133返回操作是否成功,出错时返回对应的错误码。 7134 7135**参见:** 7136 7137[OH_VObject](_o_h___v_object.md). 7138 7139 7140### putTexts 7141 7142``` 7143int(*putTexts) (OH_VObject *valueObject, const char **value, uint32_t count) 7144``` 7145 7146**描述** 7147 7148将char \*类型的字符串数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 7149 7150**起始版本:** 10 7151 7152**参数:** 7153 7154| 名称 | 描述 | 7155| -------- | -------- | 7156| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 | 7157| value | 表示字符串数组参数。 | 7158| count | 表示字符串数组参数value的长度。 | 7159 7160**返回:** 7161 7162返回操作是否成功,出错时返回对应的错误码。 7163 7164**参见:** 7165 7166[OH_VObject](_o_h___v_object.md). 7167 7168 7169### real 7170 7171``` 7172double Rdb_KeyInfo::Rdb_KeyData::real 7173``` 7174 7175**描述** 7176 7177存放double类型的数据。 7178 7179 7180### remained 7181 7182``` 7183int Rdb_Statistic::remained 7184``` 7185 7186**描述** 7187 7188表示数据库表中端云同步剩余未执行的行数。 7189 7190 7191### schedule 7192 7193``` 7194int Rdb_ProgressDetails::schedule 7195``` 7196 7197**描述** 7198 7199表示端云同步过程。 7200 7201 7202### securityLevel 7203 7204``` 7205int OH_Rdb_Config::securityLevel 7206``` 7207 7208**描述** 7209 7210设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 7211 7212 7213### selfSize 7214 7215``` 7216int OH_Rdb_Config::selfSize 7217``` 7218 7219**描述** 7220 7221该结构体的大小。 7222 7223 7224### storeName 7225 7226``` 7227const char* OH_Rdb_Config::storeName 7228``` 7229 7230**描述** 7231 7232数据库名称。 7233 7234 7235### successful 7236 7237``` 7238int Rdb_Statistic::successful 7239``` 7240 7241**描述** 7242 7243表示数据库表中端云同步成功的行数。 7244 7245 7246### table 7247 7248``` 7249const char* Rdb_TableDetails::table 7250``` 7251 7252**描述** 7253 7254数据库表名。 7255 7256 7257### tableLength 7258 7259``` 7260int32_t Rdb_ProgressDetails::tableLength 7261``` 7262 7263**描述** 7264 7265表示端云同步的表的数量。 7266 7267 7268### tableName 7269 7270``` 7271const char* Rdb_ChangeInfo::tableName 7272``` 7273 7274**描述** 7275 7276表示发生变化的表的名称。 7277 7278 7279### text 7280 7281``` 7282const char* Rdb_KeyInfo::Rdb_KeyData::text 7283``` 7284 7285**描述** 7286 7287存放char \*类型的数据。 7288 7289 7290### total 7291 7292``` 7293int Rdb_Statistic::total 7294``` 7295 7296**描述** 7297 7298表示数据库表中需要端云同步的总行数。 7299 7300 7301### type 7302 7303``` 7304int Rdb_KeyInfo::type 7305``` 7306 7307**描述** 7308 7309表示主键的类型[OH_ColumnType](#oh_columntype)。 7310 7311 7312### updated 7313 7314``` 7315Rdb_KeyInfo Rdb_ChangeInfo::updated 7316``` 7317 7318**描述** 7319 7320记录更新数据的位置,如果该表的主键是string类型,该值是主键的值,否则该值表示更新数据的行号。 7321 7322 7323### upload 7324 7325``` 7326Rdb_Statistic Rdb_TableDetails::upload 7327``` 7328 7329**描述** 7330 7331表示数据库表中端云同步上传过程的统计信息。 7332 7333 7334### version [1/3] 7335 7336``` 7337int Rdb_DistributedConfig::version 7338``` 7339 7340**描述** 7341 7342用于唯一标识Rdb_DistributedConfig结构的版本。 7343 7344 7345### version [2/3] 7346 7347``` 7348int Rdb_ChangeInfo::version 7349``` 7350 7351**描述** 7352 7353用于唯一标识Rdb_DistributedConfig结构的版本。 7354 7355 7356### version [3/3] 7357 7358``` 7359int Rdb_ProgressDetails::version 7360``` 7361 7362**描述** 7363 7364用于唯一标识OH_TableDetails结构的版本。