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