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