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语句中的“>”。 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语句中的“>=”。 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语句中的“<”。 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语句中的“<=”。 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