• 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/>库: libnative_rdb_ndk.z.so<br/> |
23| [oh_predicates.h](oh__predicates_8h.md) | 表示关系型数据库(RDB)的谓词。<br/>引用文件: <database/rdb/oh_predicates.h><br/>库: libnative_rdb_ndk.z.so<br/> |
24| [oh_value_object.h](oh__value__object_8h.md) | 提供类型转换方法。<br/>引用文件: <database/rdb/oh_value_object.h><br/>库: libnative_rdb_ndk.z.so<br/> |
25| [oh_values_bucket.h](oh__values__bucket_8h.md) | 用于存储键值对的类型。<br/>引用文件: <database/rdb/oh_values_bucket.h><br/>库: libnative_rdb_ndk.z.so<br/> |
26| [relational_store.h](relational__store_8h.md) | 提供管理关系数据库(RDB)方法的接口。<br/>引用文件: <database/rdb/relational_store.h><br/>库: libnative_rdb_ndk.z.so<br/> |
27| [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 |
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-1) {<br/>TYPE_NULL = 0, TYPE_INT64, TYPE_REAL, TYPE_TEXT,<br/>TYPE_BLOB<br/>} | 数据库字段类型。 |
61| [OH_OrderType](#oh_ordertype-1) { ASC = 0, DESC = 1 } | 排序方式。 |
62| [OH_Rdb_SecurityLevel](#oh_rdb_securitylevel-1) { S1 = 1, S2, S3, S4 } | 数据库的安全级别枚举。 |
63| [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/>} | 表示错误码信息。 |
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](#id-15) | 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-25) | 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-35) | 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-45) | 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-55) | 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 ()
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 ()
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| config | 表示数据库的配置。 |
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](_o_h___v_bucket.md), [OH_Predicates](_o_h___predicates.md).
849
850
851## 变量说明
852
853
854### andOperate
855
856```
857OH_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 *(*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 *(*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 *(*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(*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(*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(*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(*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(*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 *(*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 *(*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 *(*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(*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 | 表示结果集中指定列的索引, 索引值从0开始。 |
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(*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(*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(*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 | 表示结果集中指定列的索引, 索引值从0开始。 |
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(*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 | 表示结果集中指定列的索引, 索引值从0开始。 |
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(*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 | 表示结果集中指定列的索引, 索引值从0开始。 |
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(*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 | 表示结果集中指定列的索引, 索引值从0开始。 |
1391| value | 该参数是输出参数,结果集中指定列的值会以double形式写入该变量。 |
1392
1393**返回:**
1394
1395返回操作是否成功,出错时返回对应的错误码。
1396
1397**参见:**
1398
1399[OH_Cursor](_o_h___cursor.md).
1400
1401
1402### getRowCount
1403
1404```
1405int(*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(*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 | 表示结果集中指定列的索引, 索引值从0开始。 |
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(*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 | 表示结果集中指定列的索引, 索引值从0开始。 |
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(*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 *(*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 *(*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 *(*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/5]
1596
1597```
1598int64_t OH_Cursor::id
1599```
1600
1601**描述:**
1602
1603OH_Cursor结构体的唯一标识符。
1604
1605
1606### id [2/5]
1607
1608```
1609int64_t OH_Predicates::id
1610```
1611
1612**描述:**
1613
1614OH_Predicates结构体的唯一标识符。
1615
1616
1617### id [3/5]
1618
1619```
1620int64_t OH_VObject::id
1621```
1622
1623**描述:**
1624
1625OH_VObject结构体的唯一标识符。
1626
1627
1628### id [4/5]
1629
1630```
1631int64_t OH_VBucket::id
1632```
1633
1634**描述:**
1635
1636OH_VBucket结构体的唯一标识符。
1637
1638
1639### id [5/5]
1640
1641```
1642int64_t OH_Rdb_Store::id
1643```
1644
1645**描述:**
1646
1647OH_Rdb_Store结构体的唯一标识符。
1648
1649
1650### in
1651
1652```
1653OH_Predicates *(*in) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1654```
1655
1656**描述:**
1657
1658函数指针,配置谓词以匹配数据字段为field且值在给定范围内的指定字段。
1659
1660该方法等同于SQL语句中的“IN”。
1661
1662**参数:**
1663
1664| 名称 | 描述 |
1665| -------- | -------- |
1666| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1667| field | 表示数据库表中的列名。 |
1668| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1669
1670**返回:**
1671
1672返回与指定字段匹配的谓词。
1673
1674**参见:**
1675
1676[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1677
1678
1679### isEncrypt
1680
1681```
1682bool OH_Rdb_Config::isEncrypt
1683```
1684
1685**描述:**
1686
1687指定数据库是否加密。
1688
1689
1690### isNotNull
1691
1692```
1693OH_Predicates *(*isNotNull) (OH_Predicates *predicates, const char *field)
1694```
1695
1696**描述:**
1697
1698函数指针,配置谓词以匹配值不为null的指定字段。
1699
1700该方法等同于SQL语句中的“IS NOT NULL”。
1701
1702**参数:**
1703
1704| 名称 | 描述 |
1705| -------- | -------- |
1706| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1707| field | 数据库表中的列名。 |
1708
1709**返回:**
1710
1711返回与指定字段匹配的谓词
1712
1713**参见:**
1714
1715[OH_Predicates](_o_h___predicates.md).
1716
1717
1718### isNull [1/2]
1719
1720```
1721int(*isNull) (OH_Cursor *cursor, int32_t columnIndex, bool *isNull)
1722```
1723
1724**描述:**
1725
1726函数指针,检查当前行中指定列的值是否为null。
1727
1728**参数:**
1729
1730| 名称 | 描述 |
1731| -------- | -------- |
1732| cursor | 表示指向[OH_Cursor](_o_h___cursor.md)实例的指针。 |
1733| columnIndex | 表示结果集中指定列的索引, 索引值从0开始。 |
1734| isNull | 该参数是输出参数,如果当前行中指定列的值为null,该值为true,否则为false。 |
1735
1736**返回:**
1737
1738返回操作是否成功,出错时返回对应的错误码。
1739
1740**参见:**
1741
1742[OH_Cursor](_o_h___cursor.md).
1743
1744
1745### isNull [2/2]
1746
1747```
1748OH_Predicates *(*isNull) (OH_Predicates *predicates, const char *field)
1749```
1750
1751**描述:**
1752
1753函数指针,配置谓词以匹配值为null的字段。
1754
1755该方法等同于SQL语句中的“IS NULL”。
1756
1757**参数:**
1758
1759| 名称 | 描述 |
1760| -------- | -------- |
1761| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1762| field | 数据库表中的列名。 |
1763
1764**返回:**
1765
1766返回与指定字段匹配的谓词。
1767
1768**参见:**
1769
1770[OH_Predicates](_o_h___predicates.md).
1771
1772
1773### lessThan
1774
1775```
1776OH_Predicates *(*lessThan) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1777```
1778
1779**描述:**
1780
1781函数指针,配置谓词以匹配数据字段为field且值小于指定值valueObject的字段
1782
1783该方法等同于SQL语句中的“&lt;”。
1784
1785**参数:**
1786
1787| 名称 | 描述 |
1788| -------- | -------- |
1789| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1790| field | 数据库表中的列名。 |
1791| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1792
1793**返回:**
1794
1795返回与指定字段匹配的谓词。
1796
1797**参见:**
1798
1799[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1800
1801
1802### lessThanOrEqualTo
1803
1804```
1805OH_Predicates*(*lessThanOrEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1806```
1807
1808**描述:**
1809
1810函数指针,配置谓词以匹配数据字段为field且值小于或等于指定值valueObject的字段
1811
1812该方法等同于SQL语句中的“&lt;=”。
1813
1814**参数:**
1815
1816| 名称 | 描述 |
1817| -------- | -------- |
1818| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1819| field | 数据库表中的列名。 |
1820| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1821
1822**返回:**
1823
1824返回与指定字段匹配的谓词。
1825
1826**参见:**
1827
1828[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1829
1830
1831### like
1832
1833```
1834OH_Predicates *(*like) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1835```
1836
1837**描述:**
1838
1839函数指针,配置谓词以匹配数据字段为field且值类似于指定字符串的字段。
1840
1841该方法等同于SQL语句中的“LIKE”。
1842
1843**参数:**
1844
1845| 名称 | 描述 |
1846| -------- | -------- |
1847| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1848| field | 数据库表中的列名。 |
1849| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1850
1851**返回:**
1852
1853返回与指定字段匹配的谓词。
1854
1855**参见:**
1856
1857[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1858
1859
1860### limit
1861
1862```
1863OH_Predicates *(*limit) (OH_Predicates *predicates, unsigned int value)
1864```
1865
1866**描述:**
1867
1868函数指针,设置最大数据记录数的谓词。
1869
1870该方法等同于SQL语句中的“LIMIT”。
1871
1872**参数:**
1873
1874| 名称 | 描述 |
1875| -------- | -------- |
1876| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1877| value | 表示最大数据记录数。 |
1878
1879**返回:**
1880
1881返回可用于设置最大数据记录数的谓词。
1882
1883**参见:**
1884
1885[OH_Predicates](_o_h___predicates.md).
1886
1887
1888### moduleName
1889
1890```
1891const char* OH_Rdb_Config::moduleName
1892```
1893
1894**描述:**
1895
1896应用模块名。
1897
1898
1899### notBetween
1900
1901```
1902OH_Predicates *(*notBetween) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1903```
1904
1905**描述:**
1906
1907函数指针,将谓词配置为匹配数据字段为field且其值超出给定范围内的指定字段。
1908
1909该方法等同于SQL语句中的“NOT BETWEEN”。
1910
1911**参数:**
1912
1913| 名称 | 描述 |
1914| -------- | -------- |
1915| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1916| field | 数据库表中的列名。 |
1917| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1918
1919**返回:**
1920
1921返回与指定字段匹配的谓词。
1922
1923**参见:**
1924
1925[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1926
1927
1928### notEqualTo
1929
1930```
1931OH_Predicates *(*notEqualTo) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1932```
1933
1934**描述:**
1935
1936函数指针,配置谓词以匹配数据字段不等于指定值的字段。
1937
1938该方法等同于SQL语句中的“!=”。
1939
1940**参数:**
1941
1942| 名称 | 描述 |
1943| -------- | -------- |
1944| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1945| field | 数据库表中的列名。 |
1946| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1947
1948**返回:**
1949
1950返回与指定字段匹配的谓词。
1951
1952**参见:**
1953
1954[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1955
1956
1957### notIn
1958
1959```
1960OH_Predicates *(*notIn) (OH_Predicates *predicates, const char *field, OH_VObject *valueObject)
1961```
1962
1963**描述:**
1964
1965函数指针,配置谓词以匹配数据字段为field且值超出给定范围内的指定字段。
1966
1967该方法等同于SQL语句中的“NOT IN”。
1968
1969**参数:**
1970
1971| 名称 | 描述 |
1972| -------- | -------- |
1973| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
1974| field | 表示数据库表中的列名。 |
1975| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针,指示要与谓词匹配的值。 |
1976
1977**返回:**
1978
1979返回与指定字段匹配的谓词。
1980
1981**参见:**
1982
1983[OH_Predicates](_o_h___predicates.md), [OH_VObject](_o_h___v_object.md).
1984
1985
1986### offset
1987
1988```
1989OH_Predicates *(*offset) (OH_Predicates *predicates, unsigned int rowOffset)
1990```
1991
1992**描述:**
1993
1994函数指针,配置谓词以指定返回结果的起始位置。
1995
1996该方法等同于SQL语句中的“OFFSET”。
1997
1998**参数:**
1999
2000| 名称 | 描述 |
2001| -------- | -------- |
2002| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
2003| rowOffset | 返回结果的起始位置,取值为正整数。 |
2004
2005**返回:**
2006
2007返回具有指定返回结果起始位置的谓词。
2008
2009**参见:**
2010
2011[OH_Predicates](_o_h___predicates.md).
2012
2013
2014### orderBy
2015
2016```
2017OH_Predicates *(*orderBy) (OH_Predicates *predicates, const char *field, OH_OrderType type)
2018```
2019
2020**描述:**
2021
2022函数指针,配置谓词以匹配其值按升序或降序排序的列。
2023
2024该方法等同于SQL语句中的“ORDER BY”。
2025
2026**参数:**
2027
2028| 名称 | 描述 |
2029| -------- | -------- |
2030| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
2031| field | 数据库表中的列名。 |
2032| type | 表示排序类型 [OH_OrderType](#oh_ordertype). |
2033
2034**返回:**
2035
2036返回与指定字段匹配的谓词。
2037
2038**参见:**
2039
2040[OH_Predicates](_o_h___predicates.md), [OH_OrderType](#oh_ordertype).
2041
2042
2043### orOperate
2044
2045```
2046OH_Predicates *(*orOperate) (OH_Predicates *predicates)
2047```
2048
2049**描述:**
2050
2051函数指针,将或条件添加到谓词中。
2052
2053该方法等同于SQL语句中的“OR”。
2054
2055**参数:**
2056
2057| 名称 | 描述 |
2058| -------- | -------- |
2059| predicates | 表示指向[OH_Predicates](_o_h___predicates.md)实例的指针。 |
2060
2061**返回:**
2062
2063返回带有或条件的谓词。
2064
2065**参见:**
2066
2067[OH_Predicates](_o_h___predicates.md).
2068
2069
2070### putBlob
2071
2072```
2073int(*putBlob) (OH_VBucket *bucket, const char *field, const uint8_t *value, uint32_t size)
2074```
2075
2076**描述:**
2077
2078将const uint8_t \*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2079
2080**参数:**
2081
2082| 名称 | 描述 |
2083| -------- | -------- |
2084| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2085| field | 数据库表中的列名。 |
2086| value | 数据库表中指定列名对应的值。 |
2087| size | 表示value的长度。 |
2088
2089**返回:**
2090
2091返回操作是否成功,出错时返回对应的错误码。
2092
2093**参见:**
2094
2095[OH_VBucket](_o_h___v_bucket.md).
2096
2097
2098### putDouble
2099
2100```
2101int(*putDouble) (OH_VObject *valueObject, double *value, uint32_t count)
2102```
2103
2104**描述:**
2105
2106将double类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2107
2108**参数:**
2109
2110| 名称 | 描述 |
2111| -------- | -------- |
2112| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2113| value | 表示指向double类型的单个参数或者数组的指针。 |
2114| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 |
2115
2116**返回:**
2117
2118返回操作是否成功,出错时返回对应的错误码。
2119
2120**参见:**
2121
2122[OH_VObject](_o_h___v_object.md).
2123
2124
2125### putInt64 [1/2]
2126
2127```
2128int(*putInt64) (OH_VBucket *bucket, const char *field, int64_t value)
2129```
2130
2131**描述:**
2132
2133将int64_t值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2134
2135**参数:**
2136
2137| 名称 | 描述 |
2138| -------- | -------- |
2139| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2140| field | 数据库表中的列名。 |
2141| value | 数据库表中指定列名对应的值。 |
2142
2143**返回:**
2144
2145返回操作是否成功,出错时返回对应的错误码。
2146
2147**参见:**
2148
2149[OH_VBucket](_o_h___v_bucket.md).
2150
2151
2152### putInt64 [2/2]
2153
2154```
2155int(*putInt64) (OH_VObject *valueObject, int64_t *value, uint32_t count)
2156```
2157
2158**描述:**
2159
2160将int64类型的单个参数或者数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2161
2162**参数:**
2163
2164| 名称 | 描述 |
2165| -------- | -------- |
2166| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2167| value | 表示指向int64_t类型的单个参数或者数组的指针。 |
2168| count | 如果value是指向单个数值的指针,则count = 1;如果value是指向数组的指针,则count是数组的长度。 |
2169
2170**返回:**
2171
2172返回操作是否成功,出错时返回对应的错误码。
2173
2174**参见:**
2175
2176[OH_VObject](_o_h___v_object.md).
2177
2178
2179### putNull
2180
2181```
2182int(*putNull) (OH_VBucket *bucket, const char *field)
2183```
2184
2185**描述:**
2186
2187将NULL值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2188
2189**参数:**
2190
2191| 名称 | 描述 |
2192| -------- | -------- |
2193| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2194| field | 数据库表中的列名。 |
2195
2196**返回:**
2197
2198返回操作是否成功,出错时返回对应的错误码。
2199
2200**参见:**
2201
2202[OH_VBucket](_o_h___v_bucket.md).
2203
2204
2205### putReal
2206
2207```
2208int(*putReal) (OH_VBucket *bucket, const char *field, double value)
2209```
2210
2211**描述:**
2212
2213将double值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2214
2215**参数:**
2216
2217| 名称 | 描述 |
2218| -------- | -------- |
2219| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2220| field | 数据库表中的列名。 |
2221| value | 数据库表中指定列名对应的值。 |
2222
2223**返回:**
2224
2225返回操作是否成功,出错时返回对应的错误码。
2226
2227**参见:**
2228
2229[OH_VBucket](_o_h___v_bucket.md).
2230
2231
2232### putText [1/2]
2233
2234```
2235int(*putText) (OH_VBucket *bucket, const char *field, const char *value)
2236```
2237
2238**描述:**
2239
2240将char\*值放入给定列名的[OH_VBucket](_o_h___v_bucket.md)对象中。
2241
2242**参数:**
2243
2244| 名称 | 描述 |
2245| -------- | -------- |
2246| bucket | 表示指向[OH_VBucket](_o_h___v_bucket.md)实例的指针。 |
2247| field | 数据库表中的列名。 |
2248| value | 数据库表中指定列名对应的值。 |
2249
2250**返回:**
2251
2252返回操作是否成功,出错时返回对应的错误码。
2253
2254**参见:**
2255
2256[OH_VBucket](_o_h___v_bucket.md).
2257
2258
2259### putText [2/2]
2260
2261```
2262int(*putText) (OH_VObject *valueObject, const char *value)
2263```
2264
2265**描述:**
2266
2267将char \*类型的字符数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2268
2269**参数:**
2270
2271| 名称 | 描述 |
2272| -------- | -------- |
2273| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2274| value | 表示字符数组参数。 |
2275
2276**返回:**
2277
2278返回操作是否成功,出错时返回对应的错误码。
2279
2280**参见:**
2281
2282[OH_VObject](_o_h___v_object.md).
2283
2284
2285### putTexts
2286
2287```
2288int(*putTexts) (OH_VObject *valueObject, const char **value, uint32_t count)
2289```
2290
2291**描述:**
2292
2293将char \*类型的字符串数组转换为[OH_VObject](_o_h___v_object.md)类型的值。
2294
2295**参数:**
2296
2297| 名称 | 描述 |
2298| -------- | -------- |
2299| valueObject | 表示指向[OH_VObject](_o_h___v_object.md)实例的指针。 |
2300| value | 表示字符串数组参数。 |
2301| count | 表示字符串数组参数value的长度。 |
2302
2303**返回:**
2304
2305返回操作是否成功,出错时返回对应的错误码。
2306
2307**参见:**
2308
2309[OH_VObject](_o_h___v_object.md).
2310
2311
2312### securityLevel
2313
2314```
2315int OH_Rdb_Config::securityLevel
2316```
2317
2318**描述:**
2319
2320设置数据库安全级别[OH_Rdb_SecurityLevel](#oh_rdb_securitylevel)。
2321
2322
2323### selfSize
2324
2325```
2326int OH_Rdb_Config::selfSize
2327```
2328
2329**描述:**
2330
2331该结构体的大小。
2332