• 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**起始版本:**
11
1210
13
14
15## 汇总
16
17
18### 文件
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [oh_cursor.h](oh__cursor_8h.md) | 提供通过查询数据库生成的数据库结果集的访问方法。<br>引用文件:\<database/rdb/oh_cursor.h> <br> 库:native_rdb_ndk_header.so |
23| [oh_predicates.h](oh__predicates_8h.md) | 表示关系型数据库(RDB)的谓词。<br>引用文件:\<database/rdb/oh_predicates.h> <br> 库:native_rdb_ndk_header.so |
24| [oh_value_object.h](oh__value__object_8h.md) | 提供类型转换方法。<br>引用文件:\<database/rdb/oh_value_object.h> <br> 库:native_rdb_ndk_header.so |
25| [oh_values_bucket.h](oh__values__bucket_8h.md) | 用于存储键值对的类型。<br>引用文件:\<database/rdb/oh_values_bucket.h> <br> 库:native_rdb_ndk_header.so |
26| [relational_store.h](relational__store_8h.md) | 提供管理关系数据库(RDB)方法的接口。<br>引用文件:\<database/rdb/relational_store.h> <br> 库:native_rdb_ndk_header.so |
27| [relational_store_error_code.h](relational__store__error__code_8h.md) | 声明关系型数据库(RDB)的错误码信息。<br>引用文件:\<database/rdb/relational_error_code.h> <br> 库:native_rdb_ndk_header.so |
28
29
30### 结构体
31
32| 名称 | 描述 |
33| -------- | -------- |
34| [OH_Cursor](_o_h___cursor.md) | 表示结果集。 |
35| [OH_Predicates](_o_h___predicates.md) | 表示谓词。 |
36| [OH_VObject](_o_h___v_object.md) | 表示允许的数据字段类型。 |
37| [OH_VBucket](_o_h___v_bucket.md) | 用于存储键值对的类型。 |
38| [OH_Rdb_Config](_o_h___rdb___config.md) | 管理关系数据库配置。 |
39| [OH_Rdb_Store](_o_h___rdb___store.md) | 表示数据库类型。 |
40
41
42### 类型定义
43
44| 名称 | 描述 |
45| -------- | -------- |
46| [OH_ColumnType](#oh_columntype) | 数据库字段类型。 |
47| [OH_Cursor](#oh_cursor) | 表示结果集。 |
48| [OH_OrderType](#oh_ordertype) | 排序方式。 |
49| [OH_Predicates](#oh_predicates) | 表示谓词。 |
50| [OH_VObject](#oh_vobject) | 表示允许的数据字段类型。 |
51| [OH_VBucket](#oh_vbucket) | 用于存储键值对的类型。 |
52| [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel) | 数据库的安全级别枚举。 |
53| [OH_Rdb_ErrCode](#oh_rdb_errcode) | 表示错误码信息。 |
54
55
56### 枚举
57
58| 名称 | 描述 |
59| -------- | -------- |
60| [OH_ColumnType](#oh_columntype) {<br/>TYPE_NULL = 0, TYPE_INT64, TYPE_REAL, TYPE_TEXT,<br/>TYPE_BLOB<br/>} | 数据库字段类型。 |
61| [OH_OrderType](#oh_ordertype) { ASC = 0, DESC = 1 } | 排序方式。 |
62| [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel) { S1 = 1, S2, S3, S4 } | 数据库的安全级别枚举。 |
63| [OH_Rdb_ErrCode](#oh_rdb_errcode) {<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/>} | 表示错误码信息。 |
64
65
66### 函数
67
68| 名称 | 描述 |
69| -------- | -------- |
70| [OH_Rdb_CreateValueObject](#oh_rdb_createvalueobject) (void) | 创建[OH_VObject](_o_h___v_object.md)实例。 |
71| [OH_Rdb_CreateValuesBucket](#oh_rdb_createvaluesbucket) (void) | 创建[OH_VBucket](_o_h___v_bucket.md)实例。 |
72| [OH_Rdb_CreatePredicates](#oh_rdb_createpredicates) (const char \*table) | 创建[OH_Predicates](_o_h___predicates.md)实例。 |
73| [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)实例,操作关系型数据库。 |
74| [OH_Rdb_CloseStore](#oh_rdb_closestore) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 销毁[OH_Rdb_Store](_o_h___rdb___store.md)对象,并回收该对象占用的内存。 |
75| [OH_Rdb_DeleteStore](#oh_rdb_deletestore) (const [OH_Rdb_Config](_o_h___rdb___config.md) \*config) | 使用指定的数据库文件配置删除数据库。 |
76| [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) | 向目标表中插入一行数据。 |
77| [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) | 根据指定的条件更新数据库中的数据。 |
78| [OH_Rdb_Delete](#oh_rdb_delete) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, [OH_Predicates](_o_h___predicates.md) \*predicates) | 根据指定的条件删除数据库中的数据。 |
79| [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) | 根据指定条件查询数据库中的数据 |
80| [OH_Rdb_Execute](#oh_rdb_execute) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql) | 执行无返回值的SQL语句。 |
81| [OH_Rdb_ExecuteQuery](#oh_rdb_executequery) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*sql) | 根据指定SQL语句查询数据库中的数据。 |
82| [OH_Rdb_BeginTransaction](#oh_rdb_begintransaction) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 在开始执行SQL语句之前,开始事务。 |
83| [OH_Rdb_RollBack](#oh_rdb_rollback) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 回滚已经执行的SQL语句。 |
84| [OH_Rdb_Commit](#oh_rdb_commit) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store) | 提交已执行的SQL语句 |
85| [OH_Rdb_Backup](#oh_rdb_backup) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*databasePath) | 以指定路径备份数据库。 |
86| [OH_Rdb_Restore](#oh_rdb_restore) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, const char \*databasePath) | 从指定的数据库备份文件恢复数据库。 |
87| [OH_Rdb_GetVersion](#oh_rdb_getversion) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int \*version) | 获取数据库版本。 |
88| [OH_Rdb_SetVersion](#oh_rdb_setversion) ([OH_Rdb_Store](_o_h___rdb___store.md) \*store, int version) | 设置数据库版本。 |
89
90
91### 变量
92
93| 名称 | 描述 |
94| -------- | -------- |
95| OH_Cursor::id | OH_Cursor结构体的唯一标识符。 |
96| [OH_Cursor::getColumnCount](#getcolumncount) | 函数指针,获取结果集中的列数。 |
97| [OH_Cursor::getColumnType](#getcolumntype) | 函数指针,根据指定的列索引获取列类型。 |
98| [OH_Cursor::getColumnIndex](#getcolumnindex) | 函数指针,根据指定的列名获取列索引。 |
99| [OH_Cursor::getColumnName](#getcolumnname) | 函数指针,根据指定的列索引获取列名。 |
100| [OH_Cursor::getRowCount](#getrowcount) | 函数指针,获取结果集中的行数。 |
101| [OH_Cursor::goToNextRow](#gotonextrow) | 函数指针,转到结果集的下一行。 |
102| [OH_Cursor::getSize](#getsize) | 函数指针,当结果集中列的数据类型是BLOB或者TEXT时,获取其值所需的内存。 |
103| [OH_Cursor::getText](#gettext) | 函数指针,以字符串形式获取当前行中指定列的值。 |
104| [OH_Cursor::getInt64](#getint64) | 函数指针,以int64_t形式获取当前行中指定列的值。 |
105| [OH_Cursor::getReal](#getreal) | 函数指针,以double形式获取当前行中指定列的值。 |
106| [OH_Cursor::getBlob](#getblob) | 函数指针,以字节数组的形式获取当前行中指定列的值。 |
107| [OH_Cursor::isNull](#isnull-12) | 函数指针,检查当前行中指定列的值是否为null。 |
108| [OH_Cursor::destroy](#destroy-14) | 函数指针,关闭结果集。 |
109| [OH_Predicates::id](#id-14) | OH_Predicates结构体的唯一标识符。 |
110| [OH_Predicates::equalTo](#equalto) | 函数指针,配置谓词以匹配数据字段等于指定值的字段。 |
111| [OH_Predicates::notEqualTo](#notequalto) | 函数指针,配置谓词以匹配数据字段不等于指定值的字段。 |
112| [OH_Predicates::beginWrap](#beginwrap) | 函数指针,向谓词添加左括号。 |
113| [OH_Predicates::endWrap](#endwrap) | 函数指针,向谓词添加右括号。 |
114| [OH_Predicates::orOperate](#oroperate) | 函数指针,将或条件添加到谓词中。 |
115| [OH_Predicates::andOperate](#andoperate) | 函数指针,向谓词添加和条件。 |
116| [OH_Predicates::isNull](#isnull-22) | 函数指针,配置谓词以匹配值为null的字段。 |
117| [OH_Predicates::isNotNull](#isnotnull) | 函数指针,配置谓词以匹配值不为null的指定字段。 |
118| [OH_Predicates::like](#like) | 函数指针,配置谓词以匹配数据字段为field且值类似于指定字符串的字段。 |
119| [OH_Predicates::between](#between) | 函数指针,将谓词配置为匹配数据字段为field且其值在给定范围内的指定字段。 |
120| [OH_Predicates::notBetween](#notbetween) | 函数指针,将谓词配置为匹配数据字段为field且其值超出给定范围内的指定字段。 |
121| [OH_Predicates::greaterThan](#greaterthan) | 函数指针,配置谓词以匹配数据字段为field且值大于指定值valueObject的字段。 |
122| [OH_Predicates::lessThan](#lessthan) | 函数指针,配置谓词以匹配数据字段为field且值小于指定值valueObject的字段。 |
123| [OH_Predicates::greaterThanOrEqualTo](#greaterthanorequalto) | 函数指针,配置谓词以匹配数据字段为field且值大于或等于指定值valueObject的字段。 |
124| [OH_Predicates::lessThanOrEqualTo](#lessthanorequalto) | 函数指针,配置谓词以匹配数据字段为field且值小于或等于指定值valueObject的字段。 |
125| [OH_Predicates::orderBy](#orderby) | 函数指针,配置谓词以匹配其值按升序或降序排序的列。 |
126| [OH_Predicates::distinct](#distinct) | 函数指针,配置谓词以过滤重复记录并仅保留其中一个。 |
127| [OH_Predicates::limit](#limit) | 函数指针,设置最大数据记录数的谓词。 |
128| [OH_Predicates::offset](#offset) | 函数指针,配置谓词以指定返回结果的起始位置。 |
129| [OH_Predicates::groupBy](#groupby) | 函数指针,配置R谓词按指定列分组查询结果。 |
130| [OH_Predicates::in](#in) | 函数指针,配置谓词以匹配数据字段为field且值在给定范围内的指定字段。 |
131| [OH_Predicates::notIn](#notin) | 函数指针,配置谓词以匹配数据字段为field且值超出给定范围内的指定字段。 |
132| [OH_Predicates::clear](#clear-12) | 函数指针,清空谓词。 |
133| [OH_Predicates::destroy](#destroy-24) | 销毁[OH_Predicates](_o_h___predicates.md)对象,并回收该对象占用的内存。 |
134| [OH_VObject::id](#id-24) | OH_VObject结构体的唯一标识符。 |
135| [OH_VObject::putInt64](#putint64-22) | 将int64类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 |
136| [OH_VObject::putDouble](#putdouble) | 将double类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 |
137| [OH_VObject::putText](#puttext-22) | 将char \*类型的字符数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 |
138| [OH_VObject::putTexts](#puttexts) | 将char \*类型的字符串数组转换为[OH_VObject](_o_h___v_object.md)类型的值。 |
139| [OH_VObject::destroy](#destroy-44) | 销毁[OH_VObject](_o_h___v_object.md)对象,并回收该对象占用的内存。 |
140| [OH_VBucket::id](#id-34) | OH_VBucket结构体的唯一标识符。 |
141| [OH_VBucket::capability](#capability) | 表示结构体的存储键值对的数量 |
142| [OH_VBucket::putText](#puttext-12) | 将char\*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 |
143| [OH_VBucket::putInt64](#putint64-12) | 将int64_t值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 |
144| [OH_VBucket::putReal](#putreal) | 将double值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中**。** |
145| [OH_VBucket::putBlob](#putblob) | 将const uint8_t \*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 |
146| [OH_VBucket::putNull](#putnull) | 将NULL值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。 |
147| [OH_VBucket::clear](#clear-22) | 清空[OH_VBucket](_o_h___v_bucket.md)对象。 |
148| [OH_VBucket::destroy](#destroy-34) | 销毁[OH_VBucket](_o_h___v_bucket.md)对象,并回收该对象占用的内存。 |
149| [OH_Rdb_Config::selfSize](#selfsize) | 该结构体的大小。 |
150| [OH_Rdb_Config::dataBaseDir](#databasedir) | 数据库文件路径。 |
151| [OH_Rdb_Config::storeName](#storename) | 数据库名称。 |
152| [OH_Rdb_Config::bundleName](#bundlename) | 应用包名。 |
153| [OH_Rdb_Config::moduleName](#modulename) | 应用模块名。 |
154| [OH_Rdb_Config::isEncrypt](#isencrypt) | 指定数据库是否加密。 |
155| [OH_Rdb_Config::securityLevel](#securitylevel) | 设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。 |
156| [OH_Rdb_Store::id](#id-44) | OH_Rdb_Store结构体的唯一标识符。 |
157
158
159## 类型定义说明
160
161
162### OH_ColumnType
163
164```
165typedef enum OH_ColumnType OH_ColumnType
166```
167
168**描述:**
169
170数据库字段类型.
171
172
173### OH_Cursor
174
175```
176typedef struct OH_Cursor OH_Cursor
177```
178
179**描述:**
180
181表示结果集。
182
183提供通过查询数据库生成的数据库结果集的访问方法。
184
185
186### OH_OrderType
187
188```
189typedef enum OH_OrderType OH_OrderType
190```
191
192**描述:**
193
194排序方式。
195
196
197### OH_Predicates
198
199```
200typedef struct OH_Predicates OH_Predicates
201```
202
203**描述:**
204
205表示谓词。
206
207
208### OH_Rdb_ErrCode
209
210```
211typedef enum OH_Rdb_ErrCode OH_Rdb_ErrCode
212```
213
214**描述:**
215
216表示错误码信息。
217
218
219### OH_Rdb_SecurityLevel
220
221```
222typedef enum OH_Rdb_SecurityLevel OH_Rdb_SecurityLevel
223```
224
225**描述:**
226
227数据库的安全级别枚举。
228
229
230### OH_VBucket
231
232```
233typedef struct OH_VBucket OH_VBucket
234```
235
236**描述:**
237
238用于存储键值对的类型。
239
240
241### OH_VObject
242
243```
244typedef struct OH_VObject OH_VObject
245```
246
247**描述:**
248
249表示允许的数据字段类型。
250
251
252## 枚举类型说明
253
254
255### OH_ColumnType
256
257```
258enum OH_ColumnType
259```
260
261**描述:**
262
263数据库字段类型。
264
265| 枚举值 | 描述 |
266| -------- | -------- |
267| TYPE_NULL | 表示NULL类型。 |
268| TYPE_INT64 | 表示INT64数据类型。 |
269| TYPE_REAL | 表示REAL数据类型。 |
270| TYPE_TEXT | 表示TEXT数据类型。 |
271| TYPE_BLOB | 表示BLOB数据类型。 |
272
273
274### OH_OrderType
275
276```
277enum OH_OrderType
278```
279
280**描述:**
281
282排序方式。
283
284| 枚举值 | 描述 |
285| -------- | -------- |
286| ASC | 升序排列。 |
287| DESC | 降序排列。 |
288
289
290### OH_Rdb_ErrCode
291
292```
293enum OH_Rdb_ErrCode
294```
295
296**描述:**
297
298表示错误码信息。
299
300| 枚举值 | 描述 |
301| -------- | -------- |
302| RDB_ERR | 执行出错。 |
303| RDB_OK | 执行成功。 |
304| E_BASE | 异常错误代码的基础。 |
305| RDB_E_NOT_SUPPORTED | RDB不具备该能力。 |
306| RDB_E_ERROR | 常见异常的错误代码。 |
307| RDB_E_INVALID_ARGS | 参数非法。 |
308| RDB_E_CANNOT_UPDATE_READONLY | 更新只读数据库。 |
309| RDB_E_REMOVE_FILE | 删除文件失败。 |
310| RDB_E_EMPTY_TABLE_NAME | 表名为空。 |
311| RDB_E_EMPTY_VALUES_BUCKET | 键值对内容为空。 |
312| RDB_E_EXECUTE_IN_STEP_QUERY | 查询时执行的SQL语句错误。 |
313| RDB_E_INVALID_COLUMN_INDEX | 列索引非法. |
314| RDB_E_INVALID_COLUMN_TYPE | 列类型非法. |
315| RDB_E_EMPTY_FILE_NAME | 文件名称为空。 |
316| RDB_E_INVALID_FILE_PATH | 文件路径非法。 |
317| RDB_E_TRANSACTION_IN_EXECUTE | 开启事务执行出错, |
318| RDB_E_INVALID_STATEMENT | SQL语句预编译出错. |
319| RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION | 在读连接中执行写操作。 |
320| RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION | 在读连接中开启事务。 |
321| RDB_E_NO_TRANSACTION_IN_SESSION | 在数据库会话中不存在开启的事务. |
322| RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION | 在一个数据库会话中执行多次查询。 |
323| RDB_E_NO_ROW_IN_QUERY | 查询得到的结果集不存在任何记录。 |
324| RDB_E_INVALID_BIND_ARGS_COUNT | SQL语句中绑定的参数个数非法。 |
325| RDB_E_INVALID_OBJECT_TYPE | 对象类型非法。 |
326| RDB_E_INVALID_CONFLICT_FLAG | 冲突解决类型非法。 |
327| RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY | HAVING关键字只能用于GROUP BY之后. |
328| RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET | 不支持step形式数据库结果集。 |
329| RDB_E_STEP_RESULT_SET_CROSS_THREADS | 结果集查询出错。 |
330| RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED | 结果集查询语句未被执行。 |
331| RDB_E_STEP_RESULT_IS_AFTER_LAST | 结果集的游标已经处于最后一行。 |
332| RDB_E_STEP_RESULT_QUERY_EXCEEDED | 结果集查询次数已经超过上限。 |
333| RDB_E_STATEMENT_NOT_PREPARED | SQL语句未被预编译。 |
334| RDB_E_EXECUTE_RESULT_INCORRECT | 数据库执行结果异常. |
335| RDB_E_STEP_RESULT_CLOSED | 结果集已经关闭。 |
336| RDB_E_RELATIVE_PATH | 相对路径。 |
337| RDB_E_EMPTY_NEW_ENCRYPT_KEY | 新的密钥文件为空。 |
338| RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED | 将非加密的数据库更改为加密数据库。 |
339| RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY | 在数据库繁忙时更新数据库密钥。 |
340| RDB_E_STEP_STATEMENT_NOT_INIT | 预编译的SQL语句未被初始化。 |
341| RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE | 在WAL日志模式下不支持ATTACH操作。 |
342| RDB_E_CREATE_FOLDER_FAIL | 创建文件夹失败。 |
343| RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL | SQL语句构建失败。 |
344| RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY | 数据库会话暂未提供连接。 |
345| RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION | 数据库会话不具有当前的事务。 |
346| RDB_E_NOT_SUPPORT | 不支持当前操作。 |
347| RDB_E_INVALID_PARCEL | 当前PARCEL非法。 |
348| RDB_E_QUERY_IN_EXECUTE | 执行query查询出错。 |
349| RDB_E_SET_PERSIST_WAL | 设置WAL模式下数据库文件的持久化时出错。 |
350| RDB_E_DB_NOT_EXIST | 数据库不存在。 |
351| RDB_E_ARGS_READ_CON_OVERLOAD | 设置的读连接数大于上限。 |
352| RDB_E_WAL_SIZE_OVER_LIMIT | WAL日志文件大小超过默认值。 |
353| RDB_E_CON_OVER_LIMIT | 数据库连接数已用完。 |
354
355
356### OH_Rdb_SecurityLevel
357
358```
359enum OH_Rdb_SecurityLevel
360```
361
362**描述:**
363
364数据库的安全级别枚举。
365
366| 枚举值 | 描述 |
367| -------- | -------- |
368| S1 | S1: 表示数据库的安全级别为低级别。<br/>当数据泄露时会产生较低影响。 |
369| S2 | S2: 表示数据库的安全级别为中级别。<br/>当数据泄露时会产生较大影响。 |
370| S3 | S3: 表示数据库的安全级别为高级别。<br/>当数据泄露时会产生重大影响。 |
371| S4 | S4: 表示数据库的安全级别为关键级别。<br/>当数据泄露时会产生严重影响。 |
372
373
374## 函数说明
375
376
377### OH_Rdb_Backup()
378
379```
380int OH_Rdb_Backup (OH_Rdb_Store * store, const char * databasePath )
381```
382
383**描述:**
384
385以指定路径备份数据库。
386
387**参数:**
388
389| 名称 | 描述 |
390| -------- | -------- |
391| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
392| databasePath | 指定数据库的备份文件路径。 |
393
394**返回:**
395
396返回操作是否成功,出错时返回对应的错误码。
397
398**参见:**
399
400[OH_Rdb_Store](_o_h___rdb___store.md).
401
402
403### OH_Rdb_BeginTransaction()
404
405```
406int OH_Rdb_BeginTransaction (OH_Rdb_Store * store)
407```
408
409**描述:**
410
411在开始执行SQL语句之前,开始事务。
412
413**参数:**
414
415| 名称 | 描述 |
416| -------- | -------- |
417| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
418
419**返回:**
420
421返回操作是否成功,出错时返回对应的错误码。
422
423**参见:**
424
425[OH_Rdb_Store](_o_h___rdb___store.md).
426
427
428### OH_Rdb_CloseStore()
429
430```
431int OH_Rdb_CloseStore (OH_Rdb_Store * store)
432```
433
434**描述:**
435
436销毁[OH_Rdb_Store](_o_h___rdb___store.md)对象,并回收该对象占用的内存。
437
438**参数:**
439
440| 名称 | 描述 |
441| -------- | -------- |
442| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
443
444**返回:**
445
446返回操作是否成功,出错时返回对应的错误码。
447
448**参见:**
449
450[OH_Rdb_Store](_o_h___rdb___store.md).
451
452
453### OH_Rdb_Commit()
454
455```
456int OH_Rdb_Commit (OH_Rdb_Store * store)
457```
458
459**描述:**
460
461提交已执行的SQL语句
462
463**参数:**
464
465| 名称 | 描述 |
466| -------- | -------- |
467| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
468
469**返回:**
470
471返回操作是否成功,出错时返回对应的错误码。
472
473**参见:**
474
475[OH_Rdb_Store](_o_h___rdb___store.md).
476
477
478### OH_Rdb_CreatePredicates()
479
480```
481OH_Predicates* OH_Rdb_CreatePredicates (const char * table)
482```
483
484**描述:**
485
486创建[OH_Predicates](_o_h___predicates.md)实例。
487
488**参数:**
489
490| 名称 | 描述 |
491| -------- | -------- |
492| table | 表示数据库表名。 |
493
494**返回:**
495
496创建成功则返回一个指向[OH_Predicates](_o_h___predicates.md)结构体实例的指针,否则返回NULL。
497
498**参见:**
499
500[OH_Predicates](_o_h___predicates.md).
501
502
503### OH_Rdb_CreateValueObject()
504
505```
506OH_VObject* OH_Rdb_CreateValueObject (void)
507```
508
509**描述:**
510
511创建[OH_VObject](_o_h___v_object.md)实例。
512
513**返回:**
514
515创建成功则返回一个指向[OH_VObject](_o_h___v_object.md)结构体实例的指针,否则返回NULL。
516
517**参见:**
518
519[OH_VObject](_o_h___v_object.md).
520
521
522### OH_Rdb_CreateValuesBucket()
523
524```
525OH_VBucket* OH_Rdb_CreateValuesBucket (void)
526```
527
528**描述:**
529
530创建[OH_VBucket](_o_h___v_bucket.md)实例。
531
532**返回:**
533
534创建成功则返回一个指向[OH_VBucket](_o_h___v_bucket.md)结构体实例的指针,否则返回NULL。
535
536**参见:**
537
538[OH_VBucket](_o_h___v_bucket.md).
539
540
541### OH_Rdb_Delete()
542
543```
544int OH_Rdb_Delete (OH_Rdb_Store * store, OH_Predicates * predicates )
545```
546
547**描述:**
548
549根据指定的条件删除数据库中的数据。
550
551**参数:**
552
553| 名称 | 描述 |
554| -------- | -------- |
555| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
556| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定删除条件。 |
557
558**返回:**
559
560如果更新成功,返回受影响的行数,否则返回特定的错误码。
561
562**参见:**
563
564[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md).
565
566
567### OH_Rdb_DeleteStore()
568
569```
570int OH_Rdb_DeleteStore (const OH_Rdb_Config * config)
571```
572
573**描述:**
574
575使用指定的数据库文件配置删除数据库。
576
577**参数:**
578
579| 名称 | 描述 |
580| -------- | -------- |
581| path | 表示数据库路径。 |
582
583**返回:**
584
585返回操作是否成功,出错时返回对应的错误码。
586
587
588### OH_Rdb_Execute()
589
590```
591int OH_Rdb_Execute (OH_Rdb_Store * store, const char * sql )
592```
593
594**描述:**
595
596执行无返回值的SQL语句。
597
598**参数:**
599
600| 名称 | 描述 |
601| -------- | -------- |
602| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
603| sql | 指定要执行的SQL语句。 |
604
605**返回:**
606
607返回操作是否成功,出错时返回对应的错误码。
608
609**参见:**
610
611[OH_Rdb_Store](_o_h___rdb___store.md).
612
613
614### OH_Rdb_ExecuteQuery()
615
616```
617OH_Cursor* OH_Rdb_ExecuteQuery (OH_Rdb_Store * store, const char * sql )
618```
619
620**描述:**
621
622根据指定SQL语句查询数据库中的数据。
623
624**参数:**
625
626| 名称 | 描述 |
627| -------- | -------- |
628| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
629| sql | 指定要执行的SQL语句。 |
630
631**返回:**
632
633如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。
634
635**参见:**
636
637[OH_Rdb_Store](_o_h___rdb___store.md).
638
639
640### OH_Rdb_GetOrOpen()
641
642```
643OH_Rdb_Store* OH_Rdb_GetOrOpen (const OH_Rdb_Config * config, int * errCode )
644```
645
646**描述:**
647
648获得一个相关的[OH_Rdb_Store](_o_h___rdb___store.md)实例,操作关系型数据库。
649
650**参数:**
651
652| 名称 | 描述 |
653| -------- | -------- |
654| config | 表示指向[OH_Rdb_Config](_o_h___rdb___config.md)实例的指针,与此RDB存储相关的数据库配置。 |
655| errCode | 该参数是输出参数,函数执行状态写入该变量。 |
656
657**返回:**
658
659创建成功则返回一个指向[OH_Rdb_Store](_o_h___rdb___store.md)结构体实例的指针,否则返回NULL。
660
661**参见:**
662
663[OH_Rdb_Config](_o_h___rdb___config.md), [OH_Rdb_Store](_o_h___rdb___store.md).
664
665
666### OH_Rdb_GetVersion()
667
668```
669int OH_Rdb_GetVersion (OH_Rdb_Store * store, int * version )
670```
671
672**描述:**
673
674获取数据库版本。
675
676**参数:**
677
678| 名称 | 描述 |
679| -------- | -------- |
680| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
681| version | 表示版本号。 |
682
683**返回:**
684
685返回操作是否成功,出错时返回对应的错误码。
686
687**参见:**
688
689[OH_Rdb_Store](_o_h___rdb___store.md).
690
691
692### OH_Rdb_Insert()
693
694```
695int OH_Rdb_Insert (OH_Rdb_Store * store, const char * table, OH_VBucket * valuesBucket )
696```
697
698**描述:**
699
700向目标表中插入一行数据。
701
702**参数:**
703
704| 名称 | 描述 |
705| -------- | -------- |
706| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
707| table | 表示指定的目标表名。 |
708| valuesBucket | 表示要插入到表中的数据行[OH_VBucket](_o_h___v_bucket.md)。 |
709
710**返回:**
711
712如果插入成功,返回行ID。否则返回特定的错误码。
713
714**参见:**
715
716[OH_Rdb_Store](_o_h___rdb___store.md), [OH_VBucket](_o_h___v_bucket.md).
717
718
719### OH_Rdb_Query()
720
721```
722OH_Cursor* OH_Rdb_Query (OH_Rdb_Store * store, OH_Predicates * predicates, const char *const * columnNames, int length )
723```
724
725**描述:**
726
727根据指定条件查询数据库中的数据
728
729**参数:**
730
731| 名称 | 描述 |
732| -------- | -------- |
733| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
734| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定查询条件。 |
735| columnNames | 表示要查询的列。如果值为空,则查询应用于所有列。 |
736| length | 表示columnNames数组的长度。若length大于columnNames数组的实际长度,则会访问越界。 |
737
738**返回:**
739
740如果查询成功则返回一个指向[OH_Cursor](_o_h___cursor.md)结构体实例的指针,否则返回NULL。
741
742**参见:**
743
744[OH_Rdb_Store](_o_h___rdb___store.md), [OH_Predicates](_o_h___predicates.md), [OH_Cursor](_o_h___cursor.md).
745
746
747### OH_Rdb_Restore()
748
749```
750int OH_Rdb_Restore (OH_Rdb_Store * store, const char * databasePath )
751```
752
753**描述:**
754
755从指定的数据库备份文件恢复数据库。
756
757**参数:**
758
759| 名称 | 描述 |
760| -------- | -------- |
761| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
762| databasePath | 指定数据库的备份文件路径。 |
763
764**返回:**
765
766返回操作是否成功,出错时返回对应的错误码。
767
768**参见:**
769
770[OH_Rdb_Store](_o_h___rdb___store.md).
771
772
773### OH_Rdb_RollBack()
774
775```
776int OH_Rdb_RollBack (OH_Rdb_Store * store)
777```
778
779**描述:**
780
781回滚已经执行的SQL语句。
782
783**参数:**
784
785| 名称 | 描述 |
786| -------- | -------- |
787| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
788
789**返回:**
790
791返回操作是否成功,出错时返回对应的错误码。
792
793**参见:**
794
795[OH_Rdb_Store](_o_h___rdb___store.md).
796
797
798### OH_Rdb_SetVersion()
799
800```
801int OH_Rdb_SetVersion (OH_Rdb_Store * store, int version )
802```
803
804**描述:**
805
806设置数据库版本。
807
808**参数:**
809
810| 名称 | 描述 |
811| -------- | -------- |
812| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
813| version | 表示版本号。 |
814
815**返回:**
816
817返回操作是否成功,出错时返回对应的错误码。
818
819**参见:**
820
821[OH_Rdb_Store](_o_h___rdb___store.md).
822
823
824### OH_Rdb_Update()
825
826```
827int OH_Rdb_Update (OH_Rdb_Store * store, OH_VBucket * valuesBucket, OH_Predicates * predicates )
828```
829
830**描述:**
831
832根据指定的条件更新数据库中的数据。
833
834**参数:**
835
836| 名称 | 描述 |
837| -------- | -------- |
838| store | 表示指向[OH_Rdb_Store](_o_h___rdb___store.md)实例的指针。 |
839| valuesBucket | 表示要更新到表中的数据行[OH_VBucket](_o_h___v_bucket.md)。 |
840| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针,指定更新条件。 |
841
842**返回:**
843
844如果更新成功,返回受影响的行数,否则返回特定的错误码。
845
846**参见:**
847
848[OH_Rdb_Store](_o_h___rdb___store.md), OH_Bucket, [OH_Predicates](_o_h___predicates.md).
849
850
851## 变量说明
852
853
854### andOperate
855
856```
857OH_Predicates*(* OH_Predicates::andOperate) (OH_Predicates *predicates)
858```
859
860**描述:**
861
862函数指针,向谓词添加和条件。
863
864该方法等同于SQL语句中的“AND”。
865
866**参数:**
867
868| 名称 | 描述 |
869| -------- | -------- |
870| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
871
872**返回:**
873
874返回带有和条件的谓词。
875
876**参见:**
877
878[OH_Predicates](_o_h___predicates.md).
879
880
881### beginWrap
882
883```
884OH_Predicates*(* OH_Predicates::beginWrap) (OH_Predicates *predicates)
885```
886
887**描述:**
888
889函数指针,向谓词添加左括号。
890
891该方法等同于SQL语句中的“(”。
892
893**参数:**
894
895| 名称 | 描述 |
896| -------- | -------- |
897| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
898
899**返回:**
900
901返回带有左括号的谓词。
902
903**参见:**
904
905[OH_Predicates](_o_h___predicates.md).
906
907
908### between
909
910```
911OH_Predicates*(* OH_Predicates::between) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
912```
913
914**描述:**
915
916函数指针,将谓词配置为匹配数据字段为field且其值在给定范围内的指定字段。
917
918该方法等同于SQL语句中的“BETWEEN”。
919
920**参数:**
921
922| 名称 | 描述 |
923| -------- | -------- |
924| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
925| field | 数据库表中的列名。 |
926| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
927
928**返回:**
929
930返回与指定字段匹配的谓词。
931
932**参见:**
933
934[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
935
936### storeName
937
938```
939const char* OH_Rdb_Config::storeName
940```
941
942**描述:**
943
944数据库名称。
945
946### bundleName
947
948```
949const char* OH_Rdb_Config::bundleName
950```
951
952**描述:**
953
954应用包名。
955
956
957### capability
958
959```
960uint16_t OH_VBucket::capability
961```
962
963**描述:**
964
965表示结构体的存储键值对的数量
966
967
968### clear [1/2]
969
970```
971OH_Predicates*(* OH_Predicates::clear) (OH_Predicates *predicates)
972```
973
974**描述:**
975
976函数指针,清空谓词。
977
978**参数:**
979
980| 名称 | 描述 |
981| -------- | -------- |
982| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
983
984**返回:**
985
986返回清空后的谓词
987
988**参见:**
989
990[OH_Predicates](_o_h___predicates.md).
991
992
993### clear [2/2]
994
995```
996int(* OH_VBucket::clear) (OH_VBucket *bucket)
997```
998
999**描述:**
1000
1001清空[OH_VBucket](_o_h___v_bucket.md)对象。
1002
1003**参数:**
1004
1005| 名称 | 描述 |
1006| -------- | -------- |
1007| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
1008
1009**返回:**
1010
1011返回操作是否成功,出错时返回对应的错误码。
1012
1013**参见:**
1014
1015[OH_VBucket](_o_h___v_bucket.md).
1016
1017
1018### dataBaseDir
1019
1020```
1021const char* OH_Rdb_Config::dataBaseDir
1022```
1023
1024**描述:**
1025
1026数据库文件路径。
1027
1028
1029### destroy [1/4]
1030
1031```
1032int(* OH_Cursor::destroy) (OH_Cursor *cursor)
1033```
1034
1035**描述:**
1036
1037函数指针,关闭结果集。
1038
1039**参数:**
1040
1041| 名称 | 描述 |
1042| -------- | -------- |
1043| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1044
1045**返回:**
1046
1047返回操作是否成功,出错时返回对应的错误码。
1048
1049**参见:**
1050
1051[OH_Cursor](_o_h___cursor.md).
1052
1053
1054### destroy [2/4]
1055
1056```
1057int(* OH_Predicates::destroy) (OH_Predicates *predicates)
1058```
1059
1060**描述:**
1061
1062销毁[OH_Predicates](_o_h___predicates.md)对象,并回收该对象占用的内存。
1063
1064**参数:**
1065
1066| 名称 | 描述 |
1067| -------- | -------- |
1068| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1069
1070**返回:**
1071
1072返回操作是否成功,出错时返回对应的错误码。
1073
1074**参见:**
1075
1076[OH_Predicates](_o_h___predicates.md).
1077
1078
1079### destroy [3/4]
1080
1081```
1082int(* OH_VBucket::destroy) (OH_VBucket *bucket)
1083```
1084
1085**描述:**
1086
1087销毁[OH_VBucket](_o_h___v_bucket.md)对象,并回收该对象占用的内存。
1088
1089**参数:**
1090
1091| 名称 | 描述 |
1092| -------- | -------- |
1093| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
1094
1095**返回:**
1096
1097返回操作是否成功,出错时返回对应的错误码。
1098
1099**参见:**
1100
1101[OH_VBucket](_o_h___v_bucket.md).
1102
1103
1104### destroy [4/4]
1105
1106```
1107int(* OH_VObject::destroy) (OH_VObject *valueObject)
1108```
1109
1110**描述:**
1111
1112销毁[OH_VObject](_o_h___v_object.md)对象,并回收该对象占用的内存。
1113
1114**参数:**
1115
1116| 名称 | 描述 |
1117| -------- | -------- |
1118| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
1119
1120**返回:**
1121
1122返回操作是否成功,出错时返回对应的错误码。
1123
1124**参见:**
1125
1126[OH_VObject](_o_h___v_object.md).
1127
1128
1129### distinct
1130
1131```
1132OH_Predicates*(* OH_Predicates::distinct) (OH_Predicates *predicates)
1133```
1134
1135**描述:**
1136
1137函数指针,配置谓词以过滤重复记录并仅保留其中一个。
1138
1139该方法等同于SQL语句中的“DISTINCT”。
1140
1141**参数:**
1142
1143| 名称 | 描述 |
1144| -------- | -------- |
1145| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1146
1147**返回:**
1148
1149返回可用于过滤重复记录的谓词。
1150
1151**参见:**
1152
1153[OH_Predicates](_o_h___predicates.md).
1154
1155
1156### endWrap
1157
1158```
1159OH_Predicates*(* OH_Predicates::endWrap) (OH_Predicates *predicates)
1160```
1161
1162**描述:**
1163
1164函数指针,向谓词添加右括号。
1165
1166该方法等同于SQL语句中的“)”。
1167
1168**参数:**
1169
1170| 名称 | 描述 |
1171| -------- | -------- |
1172| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1173
1174**返回:**
1175
1176返回带有右括号的谓词。
1177
1178**参见:**
1179
1180[OH_Predicates](_o_h___predicates.md).
1181
1182
1183### equalTo
1184
1185```
1186OH_Predicates*(* OH_Predicates::equalTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1187```
1188
1189**描述:**
1190
1191函数指针,配置谓词以匹配数据字段等于指定值的字段。
1192
1193该方法等同于SQL语句中的“=”。
1194
1195**参数:**
1196
1197| 名称 | 描述 |
1198| -------- | -------- |
1199| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1200| field | 数据库表中的列名 |
1201| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1202
1203**返回:**
1204
1205返回与指定字段匹配的谓词。
1206
1207**参见:**
1208
1209[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1210
1211
1212### getBlob
1213
1214```
1215int(* OH_Cursor::getBlob) (OH_Cursor *cursor, int32_t columnIndex, unsigned char *value, int length)
1216```
1217
1218**描述:**
1219
1220函数指针,以字节数组的形式获取当前行中指定列的值。
1221
1222**参数:**
1223
1224| 名称 | 描述 |
1225| -------- | -------- |
1226| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1227| columnIndex | 表示结果集中指定列的索引。 |
1228| value | 该参数是输出参数,结果集中指定列的值会以字节数组形式写入该变量。 |
1229| length | 表示value的长度,该值可通过getSize获取。 |
1230
1231**返回:**
1232
1233返回操作是否成功,出错时返回对应的错误码。
1234
1235**参见:**
1236
1237[OH_Cursor](_o_h___cursor.md).
1238
1239
1240### getColumnCount
1241
1242```
1243int(* OH_Cursor::getColumnCount) (OH_Cursor *cursor, int *count)
1244```
1245
1246**描述:**
1247
1248函数指针,获取结果集中的列数。
1249
1250**参数:**
1251
1252| 名称 | 描述 |
1253| -------- | -------- |
1254| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1255| count | 该参数是输出参数,结果集中的列数会写入该变量。 |
1256
1257**返回:**
1258
1259返回操作是否成功,出错时返回对应的错误码。
1260
1261**参见:**
1262
1263[OH_Cursor](_o_h___cursor.md).
1264
1265
1266### getColumnIndex
1267
1268```
1269int(* OH_Cursor::getColumnIndex) (OH_Cursor *cursor, const char *name, int *columnIndex)
1270```
1271
1272**描述:**
1273
1274函数指针,根据指定的列名获取列索引。
1275
1276**参数:**
1277
1278| 名称 | 描述 |
1279| -------- | -------- |
1280| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1281| name | 表示结果集中指定列的名称。 |
1282| columnIndex | 该参数是输出参数,结果集中指定列的索引会写入该变量。 |
1283
1284**返回:**
1285
1286返回操作是否成功,出错时返回对应的错误码。
1287
1288**参见:**
1289
1290[OH_Cursor](_o_h___cursor.md).
1291
1292
1293### getColumnName
1294
1295```
1296int(* OH_Cursor::getColumnName) (OH_Cursor *cursor, int32_t columnIndex, char *name, int length)
1297```
1298
1299**描述:**
1300
1301函数指针,根据指定的列索引获取列名。
1302
1303**参数:**
1304
1305| 名称 | 描述 |
1306| -------- | -------- |
1307| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1308| columnIndex | 表示结果集中指定列的索引。 |
1309| name | 该参数是输出参数,结果集中指定列的名称会写入该变量。 |
1310| length | 表示列名的长度。 |
1311
1312**返回:**
1313
1314返回操作是否成功,出错时返回对应的错误码。
1315
1316**参见:**
1317
1318[OH_Cursor](_o_h___cursor.md).
1319
1320
1321### getColumnType
1322
1323```
1324int(* OH_Cursor::getColumnType) (OH_Cursor *cursor, int32_t columnIndex, OH_ColumnType *columnType)
1325```
1326
1327**描述:**
1328
1329函数指针,根据指定的列索引获取列类型。
1330
1331**参数:**
1332
1333| 名称 | 描述 |
1334| -------- | -------- |
1335| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1336| columnIndex | 表示结果集中指定列的索引。 |
1337| columnType | 该参数是输出参数,结果集中指定列的数据类型[OH_ColumnType](#oh_columntype)会写入该变量。 |
1338
1339**返回:**
1340
1341返回操作是否成功,出错时返回对应的错误码。
1342
1343**参见:**
1344
1345[OH_Cursor](_o_h___cursor.md), [OH_ColumnType](#oh_columntype).
1346
1347
1348### getInt64
1349
1350```
1351int(* OH_Cursor::getInt64) (OH_Cursor *cursor, int32_t columnIndex, int64_t *value)
1352```
1353
1354**描述:**
1355
1356函数指针,以int64_t形式获取当前行中指定列的值。
1357
1358**参数:**
1359
1360| 名称 | 描述 |
1361| -------- | -------- |
1362| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1363| columnIndex | 表示结果集中指定列的索引。 |
1364| value | 该参数是输出参数,结果集中指定列的值会以int64_t形式写入该变量。 |
1365
1366**返回:**
1367
1368返回操作是否成功,出错时返回对应的错误码。
1369
1370**参见:**
1371
1372[OH_Cursor](_o_h___cursor.md).
1373
1374
1375### getReal
1376
1377```
1378int(* OH_Cursor::getReal) (OH_Cursor *cursor, int32_t columnIndex, double *value)
1379```
1380
1381**描述:**
1382
1383函数指针,以double形式获取当前行中指定列的值。
1384
1385**参数:**
1386
1387| 名称 | 描述 |
1388| -------- | -------- |
1389| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1390| columnIndex | 表示结果集中指定列的索引。 |
1391| value | 该参数是输出参数,结果集中指定列的值会以double形式写入该变量。 |
1392
1393**返回:**
1394
1395返回操作是否成功,出错时返回对应的错误码。
1396
1397**参见:**
1398
1399[OH_Cursor](_o_h___cursor.md).
1400
1401
1402### getRowCount
1403
1404```
1405int(* OH_Cursor::getRowCount) (OH_Cursor *cursor, int *count)
1406```
1407
1408**描述:**
1409
1410函数指针,获取结果集中的行数。
1411
1412**参数:**
1413
1414| 名称 | 描述 |
1415| -------- | -------- |
1416| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1417| count | 该参数是输出参数,结果集中的行数会写入该变量。 |
1418
1419**返回:**
1420
1421返回操作是否成功,出错时返回对应的错误码。
1422
1423**参见:**
1424
1425[OH_Cursor](_o_h___cursor.md).
1426
1427
1428### getSize
1429
1430```
1431int(* OH_Cursor::getSize) (OH_Cursor *cursor, int32_t columnIndex, size_t *size)
1432```
1433
1434**描述:**
1435
1436函数指针,当结果集中列的数据类型是BLOB或者TEXT时,获取其值所需的内存。
1437
1438**参数:**
1439
1440| 名称 | 描述 |
1441| -------- | -------- |
1442| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1443| columnIndex | 表示结果集中指定列的索引。 |
1444| size | 该参数是输出参数,BLOB或者TEXT数据所需内存大小会写入该变量。 |
1445
1446**返回:**
1447
1448返回操作是否成功,出错时返回对应的错误码。
1449
1450**参见:**
1451
1452[OH_Cursor](_o_h___cursor.md).
1453
1454
1455### getText
1456
1457```
1458int(* OH_Cursor::getText) (OH_Cursor *cursor, int32_t columnIndex, char *value, int length)
1459```
1460
1461**描述:**
1462
1463函数指针,以字符串形式获取当前行中指定列的值。
1464
1465**参数:**
1466
1467| 名称 | 描述 |
1468| -------- | -------- |
1469| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1470| columnIndex | 表示结果集中指定列的索引。 |
1471| value | 该参数是输出参数,结果集中指定列的值会以字符串形式写入该变量。 |
1472| length | 表示value的长度,该值可通过getSize获取。 |
1473
1474**返回:**
1475
1476返回操作是否成功,出错时返回对应的错误码。
1477
1478**参见:**
1479
1480[OH_Cursor](_o_h___cursor.md).
1481
1482
1483### goToNextRow
1484
1485```
1486int(* OH_Cursor::goToNextRow) (OH_Cursor *cursor)
1487```
1488
1489**描述:**
1490
1491函数指针,转到结果集的下一行。
1492
1493**参数:**
1494
1495| 名称 | 描述 |
1496| -------- | -------- |
1497| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1498
1499**返回:**
1500
1501返回操作是否成功,出错时返回对应的错误码。
1502
1503**参见:**
1504
1505[OH_Cursor](_o_h___cursor.md).
1506
1507
1508### greaterThan
1509
1510```
1511OH_Predicates*(* OH_Predicates::greaterThan) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1512```
1513
1514**描述:**
1515
1516函数指针,配置谓词以匹配数据字段为field且值大于指定值valueObject的字段。
1517
1518该方法等同于SQL语句中的“&gt;”。
1519
1520**参数:**
1521
1522| 名称 | 描述 |
1523| -------- | -------- |
1524| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1525| field | 数据库表中的列名。 |
1526| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1527
1528**返回:**
1529
1530返回与指定字段匹配的谓词
1531
1532**参见:**
1533
1534[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1535
1536
1537### greaterThanOrEqualTo
1538
1539```
1540OH_Predicates*(* OH_Predicates::greaterThanOrEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1541```
1542
1543**描述:**
1544
1545函数指针,配置谓词以匹配数据字段为field且值大于或等于指定值valueObject的字段
1546
1547该方法等同于SQL语句中的“&gt;=”。
1548
1549**参数:**
1550
1551| 名称 | 描述 |
1552| -------- | -------- |
1553| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1554| field | 数据库表中的列名。 |
1555| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1556
1557**返回:**
1558
1559返回与指定字段匹配的谓词。
1560
1561**参见:**
1562
1563[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1564
1565
1566### groupBy
1567
1568```
1569OH_Predicates*(* OH_Predicates::groupBy) (OH_Predicates *predicates, char const *const *fields, int length)
1570```
1571
1572**描述:**
1573
1574函数指针,配置R谓词按指定列分组查询结果。
1575
1576该方法等同于SQL语句中的“GROUP BY”。
1577
1578**参数:**
1579
1580| 名称 | 描述 |
1581| -------- | -------- |
1582| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1583| fields | 指定分组依赖的列名。 |
1584| length | 表示fields数值的长度。 |
1585
1586**返回:**
1587
1588返回分组查询列的谓词。
1589
1590**参见:**
1591
1592[OH_Predicates](_o_h___predicates.md).
1593
1594
1595### id [1/4]
1596
1597```
1598int64_t OH_Predicates::id
1599```
1600
1601**描述:**
1602
1603OH_Predicates结构体的唯一标识符。
1604
1605
1606### id [2/4]
1607
1608```
1609int64_t OH_VObject::id
1610```
1611
1612**描述:**
1613
1614OH_VObject结构体的唯一标识符。
1615
1616
1617### id [3/4]
1618
1619```
1620int64_t OH_VBucket::id
1621```
1622
1623**描述:**
1624
1625OH_VBucket结构体的唯一标识符。
1626
1627
1628### id [4/4]
1629
1630```
1631int64_t OH_Rdb_Store::id
1632```
1633
1634**描述:**
1635
1636OH_Rdb_Store结构体的唯一标识符。
1637
1638
1639### in
1640
1641```
1642OH_Predicates*(* OH_Predicates::in) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1643```
1644
1645**描述:**
1646
1647函数指针,配置谓词以匹配数据字段为field且值在给定范围内的指定字段。
1648
1649该方法等同于SQL语句中的“IN”。
1650
1651**参数:**
1652
1653| 名称 | 描述 |
1654| -------- | -------- |
1655| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1656| field | 表示数据库表中的列名。 |
1657| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1658
1659**返回:**
1660
1661返回与指定字段匹配的谓词。
1662
1663**参见:**
1664
1665[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1666
1667
1668### isEncrypt
1669
1670```
1671bool OH_Rdb_Config::isEncrypt
1672```
1673
1674**描述:**
1675
1676指定数据库是否加密。
1677
1678
1679### isNotNull
1680
1681```
1682OH_Predicates*(* OH_Predicates::isNotNull) (OH_Predicates *predicates, const char *field)
1683```
1684
1685**描述:**
1686
1687函数指针,配置谓词以匹配值不为null的指定字段。
1688
1689该方法等同于SQL语句中的“IS NOT NULL”。
1690
1691**参数:**
1692
1693| 名称 | 描述 |
1694| -------- | -------- |
1695| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1696| field | 数据库表中的列名。 |
1697
1698**返回:**
1699
1700返回与指定字段匹配的谓词
1701
1702**参见:**
1703
1704[OH_Predicates](_o_h___predicates.md).
1705
1706
1707### isNull [1/2]
1708
1709```
1710int(* OH_Cursor::isNull) (OH_Cursor *cursor, int32_t columnIndex, bool *isNull)
1711```
1712
1713**描述:**
1714
1715函数指针,检查当前行中指定列的值是否为null。
1716
1717**参数:**
1718
1719| 名称 | 描述 |
1720| -------- | -------- |
1721| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1722| columnIndex | 表示结果集中指定列的索引。 |
1723| isNull | 该参数是输出参数,如果当前行中指定列的值为null,该值为true,否则为false。 |
1724
1725**返回:**
1726
1727返回操作是否成功,出错时返回对应的错误码。
1728
1729**参见:**
1730
1731[OH_Cursor](_o_h___cursor.md).
1732
1733
1734### isNull [2/2]
1735
1736```
1737OH_Predicates*(* OH_Predicates::isNull) (OH_Predicates *predicates, const char *field)
1738```
1739
1740**描述:**
1741
1742函数指针,配置谓词以匹配值为null的字段。
1743
1744该方法等同于SQL语句中的“IS NULL”。
1745
1746**参数:**
1747
1748| 名称 | 描述 |
1749| -------- | -------- |
1750| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1751| field | 数据库表中的列名。 |
1752
1753**返回:**
1754
1755返回与指定字段匹配的谓词。
1756
1757**参见:**
1758
1759[OH_Predicates](_o_h___predicates.md).
1760
1761
1762### lessThan
1763
1764```
1765OH_Predicates*(* OH_Predicates::lessThan) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1766```
1767
1768**描述:**
1769
1770函数指针,配置谓词以匹配数据字段为field且值小于指定值valueObject的字段
1771
1772该方法等同于SQL语句中的“&lt;”。
1773
1774**参数:**
1775
1776| 名称 | 描述 |
1777| -------- | -------- |
1778| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1779| field | 数据库表中的列名。 |
1780| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1781
1782**返回:**
1783
1784返回与指定字段匹配的谓词。
1785
1786**参见:**
1787
1788[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1789
1790
1791### lessThanOrEqualTo
1792
1793```
1794OH_Predicates*(* OH_Predicates::lessThanOrEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1795```
1796
1797**描述:**
1798
1799函数指针,配置谓词以匹配数据字段为field且值小于或等于指定值valueObject的字段
1800
1801该方法等同于SQL语句中的“&lt;=”。
1802
1803**参数:**
1804
1805| 名称 | 描述 |
1806| -------- | -------- |
1807| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1808| field | 数据库表中的列名。 |
1809| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1810
1811**返回:**
1812
1813返回与指定字段匹配的谓词。
1814
1815**参见:**
1816
1817[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1818
1819
1820### like
1821
1822```
1823OH_Predicates*(* OH_Predicates::like) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1824```
1825
1826**描述:**
1827
1828函数指针,配置谓词以匹配数据字段为field且值类似于指定字符串的字段。
1829
1830该方法等同于SQL语句中的“LIKE”。
1831
1832**参数:**
1833
1834| 名称 | 描述 |
1835| -------- | -------- |
1836| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1837| field | 数据库表中的列名。 |
1838| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1839
1840**返回:**
1841
1842返回与指定字段匹配的谓词。
1843
1844**参见:**
1845
1846[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1847
1848
1849### limit
1850
1851```
1852OH_Predicates*(* OH_Predicates::limit) (OH_Predicates *predicates, unsigned int value)
1853```
1854
1855**描述:**
1856
1857函数指针,设置最大数据记录数的谓词。
1858
1859该方法等同于SQL语句中的“LIMIT”。
1860
1861**参数:**
1862
1863| 名称 | 描述 |
1864| -------- | -------- |
1865| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1866| value | 表示最大数据记录数。 |
1867
1868**返回:**
1869
1870返回可用于设置最大数据记录数的谓词。
1871
1872**参见:**
1873
1874[OH_Predicates](_o_h___predicates.md).
1875
1876
1877### moduleName
1878
1879```
1880const char* OH_Rdb_Config::moduleName
1881```
1882
1883**描述:**
1884
1885应用模块名。
1886
1887
1888### notBetween
1889
1890```
1891OH_Predicates*(* OH_Predicates::notBetween) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1892```
1893
1894**描述:**
1895
1896函数指针,将谓词配置为匹配数据字段为field且其值超出给定范围内的指定字段。
1897
1898该方法等同于SQL语句中的“NOT BETWEEN”。
1899
1900**参数:**
1901
1902| 名称 | 描述 |
1903| -------- | -------- |
1904| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1905| field | 数据库表中的列名。 |
1906| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1907
1908**返回:**
1909
1910返回与指定字段匹配的谓词。
1911
1912**参见:**
1913
1914[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1915
1916
1917### notEqualTo
1918
1919```
1920OH_Predicates*(* OH_Predicates::notEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1921```
1922
1923**描述:**
1924
1925函数指针,配置谓词以匹配数据字段不等于指定值的字段。
1926
1927该方法等同于SQL语句中的“!=”。
1928
1929**参数:**
1930
1931| 名称 | 描述 |
1932| -------- | -------- |
1933| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1934| field | 数据库表中的列名。 |
1935| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1936
1937**返回:**
1938
1939返回与指定字段匹配的谓词。
1940
1941**参见:**
1942
1943[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1944
1945
1946### notIn
1947
1948```
1949OH_Predicates*(* OH_Predicates::notIn) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1950```
1951
1952**描述:**
1953
1954函数指针,配置谓词以匹配数据字段为field且值超出给定范围内的指定字段。
1955
1956该方法等同于SQL语句中的“NOT IN”。
1957
1958**参数:**
1959
1960| 名称 | 描述 |
1961| -------- | -------- |
1962| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1963| field | 表示数据库表中的列名。 |
1964| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1965
1966**返回:**
1967
1968返回与指定字段匹配的谓词。
1969
1970**参见:**
1971
1972[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1973
1974
1975### offset
1976
1977```
1978OH_Predicates*(* OH_Predicates::offset) (OH_Predicates *predicates, unsigned int rowOffset)
1979```
1980
1981**描述:**
1982
1983函数指针,配置谓词以指定返回结果的起始位置。
1984
1985该方法等同于SQL语句中的“OFFSET”。
1986
1987**参数:**
1988
1989| 名称 | 描述 |
1990| -------- | -------- |
1991| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1992| rowOffset | 返回结果的起始位置,取值为正整数。 |
1993
1994**返回:**
1995
1996返回具有指定返回结果起始位置的谓词。
1997
1998**参见:**
1999
2000[OH_Predicates](_o_h___predicates.md).
2001
2002
2003### orderBy
2004
2005```
2006OH_Predicates*(* OH_Predicates::orderBy) (OH_Predicates *predicates, const char *field, OH_OrderType type)
2007```
2008
2009**描述:**
2010
2011函数指针,配置谓词以匹配其值按升序或降序排序的列。
2012
2013该方法等同于SQL语句中的“ORDER BY”。
2014
2015**参数:**
2016
2017| 名称 | 描述 |
2018| -------- | -------- |
2019| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
2020| field | 数据库表中的列名。 |
2021| type | 表示排序类型 [OH_OrderType](#oh_ordertype). |
2022
2023**返回:**
2024
2025返回与指定字段匹配的谓词。
2026
2027**参见:**
2028
2029[OH_Predicates](_o_h___predicates.md), [OH_OrderType](#oh_ordertype).
2030
2031
2032### orOperate
2033
2034```
2035OH_Predicates*(* OH_Predicates::orOperate) (OH_Predicates *predicates)
2036```
2037
2038**描述:**
2039
2040函数指针,将或条件添加到谓词中。
2041
2042该方法等同于SQL语句中的“OR”。
2043
2044**参数:**
2045
2046| 名称 | 描述 |
2047| -------- | -------- |
2048| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
2049
2050**返回:**
2051
2052返回带有或条件的谓词。
2053
2054**参见:**
2055
2056[OH_Predicates](_o_h___predicates.md).
2057
2058
2059### putBlob
2060
2061```
2062int(* OH_VBucket::putBlob) (OH_VBucket *bucket, const char *field, const uint8_t *value, uint32_t size)
2063```
2064
2065**描述:**
2066
2067将const uint8_t \*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2068
2069**参数:**
2070
2071| 名称 | 描述 |
2072| -------- | -------- |
2073| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2074| field | 数据库表中的列名。 |
2075| value | 数据库表中指定列名对应的值。 |
2076| size | 表示value的长度。 |
2077
2078**返回:**
2079
2080返回操作是否成功,出错时返回对应的错误码。
2081
2082**参见:**
2083
2084[OH_VBucket](_o_h___v_bucket.md).
2085
2086
2087### putDouble
2088
2089```
2090int(* OH_VObject::putDouble) (OH_VObject *valueObject, double *value, uint32_t count)
2091```
2092
2093**描述:**
2094
2095将double类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2096
2097**参数:**
2098
2099| 名称 | 描述 |
2100| -------- | -------- |
2101| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2102| value | 表示指向double类型的单个参数或者数组的指针。 |
2103| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 |
2104
2105**返回:**
2106
2107返回操作是否成功,出错时返回对应的错误码。
2108
2109**参见:**
2110
2111[OH_VObject](_o_h___v_object.md).
2112
2113
2114### putInt64 [1/2]
2115
2116```
2117int(* OH_VBucket::putInt64) (OH_VBucket *bucket, const char *field, int64_t value)
2118```
2119
2120**描述:**
2121
2122将int64_t值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2123
2124**参数:**
2125
2126| 名称 | 描述 |
2127| -------- | -------- |
2128| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2129| field | 数据库表中的列名。 |
2130| value | 数据库表中指定列名对应的值。 |
2131
2132**返回:**
2133
2134返回操作是否成功,出错时返回对应的错误码。
2135
2136**参见:**
2137
2138[OH_VBucket](_o_h___v_bucket.md).
2139
2140
2141### putInt64 [2/2]
2142
2143```
2144int(* OH_VObject::putInt64) (OH_VObject *valueObject, int64_t *value, uint32_t count)
2145```
2146
2147**描述:**
2148
2149将int64类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2150
2151**参数:**
2152
2153| 名称 | 描述 |
2154| -------- | -------- |
2155| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2156| value | 表示指向int64_t类型的单个参数或者数组的指针。 |
2157| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 |
2158
2159**返回:**
2160
2161返回操作是否成功,出错时返回对应的错误码。
2162
2163**参见:**
2164
2165[OH_VObject](_o_h___v_object.md).
2166
2167
2168### putNull
2169
2170```
2171int(* OH_VBucket::putNull) (OH_VBucket *bucket, const char *field)
2172```
2173
2174**描述:**
2175
2176将NULL值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2177
2178**参数:**
2179
2180| 名称 | 描述 |
2181| -------- | -------- |
2182| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2183| field | 数据库表中的列名。 |
2184
2185**返回:**
2186
2187返回操作是否成功,出错时返回对应的错误码。
2188
2189**参见:**
2190
2191[OH_VBucket](_o_h___v_bucket.md).
2192
2193
2194### putReal
2195
2196```
2197int(* OH_VBucket::putReal) (OH_VBucket *bucket, const char *field, double value)
2198```
2199
2200**描述:**
2201
2202将double值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2203
2204**参数:**
2205
2206| 名称 | 描述 |
2207| -------- | -------- |
2208| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2209| field | 数据库表中的列名。 |
2210| value | 数据库表中指定列名对应的值。 |
2211
2212**返回:**
2213
2214返回操作是否成功,出错时返回对应的错误码。
2215
2216**参见:**
2217
2218[OH_VBucket](_o_h___v_bucket.md).
2219
2220
2221### putText [1/2]
2222
2223```
2224int(* OH_VBucket::putText) (OH_VBucket *bucket, const char *field, const char *value)
2225```
2226
2227**描述:**
2228
2229将char\*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2230
2231**参数:**
2232
2233| 名称 | 描述 |
2234| -------- | -------- |
2235| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2236| field | 数据库表中的列名。 |
2237| value | 数据库表中指定列名对应的值。 |
2238
2239**返回:**
2240
2241返回操作是否成功,出错时返回对应的错误码。
2242
2243**参见:**
2244
2245[OH_VBucket](_o_h___v_bucket.md).
2246
2247
2248### putText [2/2]
2249
2250```
2251int(* OH_VObject::putText) (OH_VObject *valueObject, const char *value)
2252```
2253
2254**描述:**
2255
2256将char \*类型的字符数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2257
2258**参数:**
2259
2260| 名称 | 描述 |
2261| -------- | -------- |
2262| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2263| value | 表示字符数组参数。 |
2264
2265**返回:**
2266
2267返回操作是否成功,出错时返回对应的错误码。
2268
2269**参见:**
2270
2271[OH_VObject](_o_h___v_object.md).
2272
2273
2274### putTexts
2275
2276```
2277int(* OH_VObject::putTexts) (OH_VObject *valueObject, const char **value, uint32_t count)
2278```
2279
2280**描述:**
2281
2282将char \*类型的字符串数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2283
2284**参数:**
2285
2286| 名称 | 描述 |
2287| -------- | -------- |
2288| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2289| value | 表示字符串数组参数。 |
2290| count | 表示字符串数组参数value的长度。 |
2291
2292**返回:**
2293
2294返回操作是否成功,出错时返回对应的错误码。
2295
2296**参见:**
2297
2298[OH_VObject](_o_h___v_object.md).
2299
2300
2301### securityLevel
2302
2303```
2304int OH_Rdb_Config::securityLevel
2305```
2306
2307**描述:**
2308
2309设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。
2310
2311
2312### selfSize
2313
2314```
2315int OH_Rdb_Config::selfSize
2316```
2317
2318**描述:**
2319
2320该结构体的大小。
2321