1# oh_data_values.h 2<!--Kit: ArkData--> 3<!--Subsystem: DistributedDataManager--> 4<!--Owner: @baijidong--> 5<!--Designer: @widecode; @htt1997--> 6<!--Tester: @yippo; @logic42--> 7<!--Adviser: @ge-yafang--> 8 9## 概述 10 11提供与多条数据值相关的函数和枚举。 12 13**引用文件:** <database/rdb/oh_data_values.h> 14 15**库:** libnative_rdb_ndk.z.so 16 17**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 18 19**起始版本:** 18 20 21**相关模块:** [RDB](capi-rdb.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| ---------------------------------------- | -------------- | ------------------------------------ | 29| [OH_Data_Values](capi-rdb-oh-data-values.md) | OH_Data_Values | 定义OH_Data_Values结构类型。 | 30 31### 函数 32 33| 名称 | 描述 | 34| ------------------------------------------------------------ | ------------------------------------------------------------ | 35| [OH_Data_Values *OH_Values_Create(void)](#oh_values_create) | 创建[OH_Data_Values](capi-rdb-oh-data-values.md)实例,用于储存多条键值对数据。 | 36| [int OH_Values_Destroy(OH_Data_Values *values)](#oh_values_destroy) | 销毁[OH_Data_Values](capi-rdb-oh-data-values.md)对象。 | 37| [int OH_Values_Put(OH_Data_Values *values, const OH_Data_Value *val)](#oh_values_put) | 添加OH_Data_Value类型数据给OH_Data_Values对象。 | 38| [int OH_Values_PutNull(OH_Data_Values *values)](#oh_values_putnull) | 添加空数据给OH_Data_Values对象。 | 39| [int OH_Values_PutInt(OH_Data_Values *values, int64_t val)](#oh_values_putint) | 添加整型数据给OH_Data_Values对象。 | 40| [int OH_Values_PutReal(OH_Data_Values *values, double val)](#oh_values_putreal) | 添加REAL类型数据给OH_Data_Values对象。 | 41| [int OH_Values_PutText(OH_Data_Values *values, const char *val)](#oh_values_puttext) | 添加字符串类型数据给OH_Data_Values对象。 | 42| [int OH_Values_PutBlob(OH_Data_Values *values, const unsigned char *val, size_t length)](#oh_values_putblob) | 添加BLOB类型数据给OH_Data_Values对象。 | 43| [int OH_Values_PutAsset(OH_Data_Values *values, const Data_Asset *val)](#oh_values_putasset) | 添加ASSET类型数据给OH_Data_Values对象。 | 44| [int OH_Values_PutAssets(OH_Data_Values *values, const Data_Asset * const * val, size_t length)](#oh_values_putassets) | 添加ASSETS类型数据给OH_Data_Values对象。 | 45| [int OH_Values_PutFloatVector(OH_Data_Values *values, const float *val, size_t length)](#oh_values_putfloatvector) | 添加float数组类型数据给OH_Data_Values对象。 | 46| [int OH_Values_PutUnlimitedInt(OH_Data_Values *values, int sign, const uint64_t *trueForm, size_t length)](#oh_values_putunlimitedint) | 添加任意长度的整型数组数据给OH_Data_Values对象。 | 47| [int OH_Values_Count(OH_Data_Values *values, size_t *count)](#oh_values_count) | 获取数据个数。 | 48| [int OH_Values_GetType(OH_Data_Values *values, int index, OH_ColumnType *type)](#oh_values_gettype) | 获取数据类型。 | 49| [int OH_Values_Get(OH_Data_Values *values, int index, OH_Data_Value **val)](#oh_values_get) | 获取OH_Data_Value类型数据。 | 50| [int OH_Values_IsNull(OH_Data_Values *values, int index, bool *val)](#oh_values_isnull) | 检查数据是否为空。 | 51| [int OH_Values_GetInt(OH_Data_Values *values, int index, int64_t *val)](#oh_values_getint) | 获取整型数据。 | 52| [int OH_Values_GetReal(OH_Data_Values *values, int index, double *val)](#oh_values_getreal) | 获取REAL类型数据。 | 53| [int OH_Values_GetText(OH_Data_Values *values, int index, const char **val)](#oh_values_gettext) | 获取字符串类型数据。 | 54| [int OH_Values_GetBlob(OH_Data_Values *values, int index, const uint8_t **val, size_t *length)](#oh_values_getblob) | 获取BLOB类型数据。 | 55| [int OH_Values_GetAsset(OH_Data_Values *values, int index, Data_Asset *val)](#oh_values_getasset) | 获取ASSET类型数据。 | 56| [int OH_Values_GetAssetsCount(OH_Data_Values *values, int index, size_t *length)](#oh_values_getassetscount) | 获取ASSETS类型数据的大小。 | 57| [int OH_Values_GetAssets(OH_Data_Values *values, int index, Data_Asset **val, size_t inLen, size_t *outLen)](#oh_values_getassets) | 获取ASSETS类型数据。 | 58| [int OH_Values_GetFloatVectorCount(OH_Data_Values *values, int index, size_t *length)](#oh_values_getfloatvectorcount) | 获取float数组类型数据的大小。 | 59| [int OH_Values_GetFloatVector(OH_Data_Values *values, int index, float *val, size_t inLen, size_t *outLen)](#oh_values_getfloatvector) | 获取float数组类型数据。 | 60| [int OH_Values_GetUnlimitedIntBand(OH_Data_Values *values, int index, size_t *length)](#oh_values_getunlimitedintband) | 获取任意长度的整型数据的大小。 | 61| [int OH_Values_GetUnlimitedInt(OH_Data_Values *values, int index, int *sign, uint64_t *trueForm, size_t inLen,size_t *outLen)](#oh_values_getunlimitedint) | 获取任意长度的整型数据。 | 62 63## 函数说明 64 65### OH_Values_Create() 66 67``` 68OH_Data_Values *OH_Values_Create(void) 69``` 70 71**描述** 72 73创建[OH_Data_Values](capi-rdb-oh-data-values.md)实例,用于储存多条键值对数据。 74 75**起始版本:** 18 76 77**返回:** 78 79| 类型 | 说明 | 80| ---------------------------------------- | ------------------------------------------------------------ | 81| [OH_Data_Values](capi-rdb-oh-data-values.md) | 执行成功时返回指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针,否则返回nullptr。<br>使用完成后,必须通过[OH_Values_Destroy](capi-oh-data-values-h.md#oh_values_destroy)接口释放内存。 | 82 83### OH_Values_Destroy() 84 85``` 86int OH_Values_Destroy(OH_Data_Values *values) 87``` 88 89**描述** 90 91销毁[OH_Data_Values](capi-rdb-oh-data-values.md)对象。 92 93**起始版本:** 18 94 95 96**参数:** 97 98| 参数项 | 描述 | 99| ------------------------------------------------ | ------------------------------------------------------------ | 100| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 101 102**返回:** 103 104| 类型 | 说明 | 105| ---- | ------------------------------------------------------------ | 106| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 107 108### OH_Values_Put() 109 110``` 111int OH_Values_Put(OH_Data_Values *values, const OH_Data_Value *val) 112``` 113 114**描述** 115 116添加OH_Data_Value类型数据给OH_Data_Values对象。 117 118**起始版本:** 18 119 120 121**参数:** 122 123| 参数项 | 描述 | 124| ------------------------------------------------- | ------------------------------------------------------------ | 125| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 126| const [OH_Data_Value](capi-rdb-oh-data-value.md) *val | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)对象的指针。 | 127 128**返回:** 129 130| 类型 | 说明 | 131| ---- | ------------------------------------------------------------ | 132| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 133 134### OH_Values_PutNull() 135 136``` 137int OH_Values_PutNull(OH_Data_Values *values) 138``` 139 140**描述** 141 142添加空数据给OH_Data_Values对象。 143 144**起始版本:** 18 145 146 147**参数:** 148 149| 参数项 | 描述 | 150| ------------------------------------------------ | ------------------------------------------------------------ | 151| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 152 153**返回:** 154 155| 类型 | 说明 | 156| ---- | ------------------------------------------------------------ | 157| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 158 159### OH_Values_PutInt() 160 161``` 162int OH_Values_PutInt(OH_Data_Values *values, int64_t val) 163``` 164 165**描述** 166 167添加整型数据给OH_Data_Values对象。 168 169**起始版本:** 18 170 171 172**参数:** 173 174| 参数项 | 描述 | 175| ------------------------------------------------ | ------------------------------------------------------------ | 176| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 177| int64_t val | 表示整型数据。 | 178 179**返回:** 180 181| 类型 | 说明 | 182| ---- | ------------------------------------------------------------ | 183| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 184 185### OH_Values_PutReal() 186 187``` 188int OH_Values_PutReal(OH_Data_Values *values, double val) 189``` 190 191**描述** 192 193添加REAL类型数据给OH_Data_Values对象。 194 195**起始版本:** 18 196 197 198**参数:** 199 200| 参数项 | 描述 | 201| ------------------------------------------------ | ------------------------------------------------------------ | 202| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 203| double val | 表示REAL类型数据。 | 204 205**返回:** 206 207| 类型 | 说明 | 208| ---- | ------------------------------------------------------------ | 209| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 210 211### OH_Values_PutText() 212 213``` 214int OH_Values_PutText(OH_Data_Values *values, const char *val) 215``` 216 217**描述** 218 219添加字符串类型数据给OH_Data_Values对象。 220 221**起始版本:** 18 222 223 224**参数:** 225 226| 参数项 | 描述 | 227| ------------------------------------------------ | ------------------------------------------------------------ | 228| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 229| const char *val | 表示字符串类型数据。 | 230 231**返回:** 232 233| 类型 | 说明 | 234| ---- | ------------------------------------------------------------ | 235| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 236 237### OH_Values_PutBlob() 238 239``` 240int OH_Values_PutBlob(OH_Data_Values *values, const unsigned char *val, size_t length) 241``` 242 243**描述** 244 245添加BLOB类型数据给OH_Data_Values对象。 246 247**起始版本:** 18 248 249 250**参数:** 251 252| 参数项 | 描述 | 253| ------------------------------------------------ | ------------------------------------------------------------ | 254| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 255| const unsigned char *val | 表示BLOB类型数据。 | 256| size_t length | 该参数为输入参数,表示开发者传入的BLOB类型数据的大小。 | 257 258**返回:** 259 260| 类型 | 说明 | 261| ---- | ------------------------------------------------------------ | 262| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 263 264### OH_Values_PutAsset() 265 266``` 267int OH_Values_PutAsset(OH_Data_Values *values, const Data_Asset *val) 268``` 269 270**描述** 271 272添加ASSET类型数据给OH_Data_Values对象。 273 274**起始版本:** 18 275 276 277**参数:** 278 279| 参数项 | 描述 | 280| ------------------------------------------------ | ------------------------------------------------------------ | 281| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 282| const [Data_Asset](capi-rdb-data-asset.md) *val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。 | 283 284**返回:** 285 286| 类型 | 说明 | 287| ---- | ------------------------------------------------------------ | 288| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 289 290### OH_Values_PutAssets() 291 292``` 293int OH_Values_PutAssets(OH_Data_Values *values, const Data_Asset * const * val, size_t length) 294``` 295 296**描述** 297 298添加ASSETS类型数据给OH_Data_Values对象。 299 300**起始版本:** 18 301 302 303**参数:** 304 305| 参数项 | 描述 | 306| ---------------------------------------------------- | ------------------------------------------------------------ | 307| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 308| const [Data_Asset](capi-rdb-data-asset.md) * const * val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。 | 309| size_t length | 该参数为输入参数,表示开发者传入的[Data_Asset](capi-rdb-data-asset.md)对象数组元素的个数。 | 310 311**返回:** 312 313| 类型 | 说明 | 314| ---- | ------------------------------------------------------------ | 315| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 316 317### OH_Values_PutFloatVector() 318 319``` 320int OH_Values_PutFloatVector(OH_Data_Values *values, const float *val, size_t length) 321``` 322 323**描述** 324 325添加float数组类型数据给OH_Data_Values对象。 326 327**起始版本:** 18 328 329 330**参数:** 331 332| 参数项 | 描述 | 333| ------------------------------------------------ | ------------------------------------------------------------ | 334| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 335| const float *val | 表示指向float数组对象的指针。 | 336| size_t length | 该参数为输入参数,表示开发者传入的float数组的长度。 | 337 338**返回:** 339 340| 类型 | 说明 | 341| ---- | ------------------------------------------------------------ | 342| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 343 344### OH_Values_PutUnlimitedInt() 345 346``` 347int OH_Values_PutUnlimitedInt(OH_Data_Values *values, int sign, const uint64_t *trueForm, size_t length) 348``` 349 350**描述** 351 352添加任意长度的整型数组数据给OH_Data_Values对象。 353 354**起始版本:** 18 355 356 357**参数:** 358 359| 参数项 | 描述 | 360| ------------------------------------------------ | ------------------------------------------------------------ | 361| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 362| int sign | 表示正负数,0表示正整数,1表示负整数。 | 363| const uint64_t *trueForm | 表示指向整型数组的指针。 | 364| size_t length | 该参数为输入参数,表示开发者传入的整型数组的大小。 | 365 366**返回:** 367 368| 类型 | 说明 | 369| ---- | ------------------------------------------------------------ | 370| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 371 372### OH_Values_Count() 373 374``` 375int OH_Values_Count(OH_Data_Values *values, size_t *count) 376``` 377 378**描述** 379 380获取数据个数。 381 382**起始版本:** 18 383 384 385**参数:** 386 387| 参数项 | 描述 | 388| ------------------------------------------------ | ------------------------------------------------------------ | 389| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 390| size_t *count | 一个输出参数,表示values中数据的个数。 | 391 392**返回:** 393 394| 类型 | 说明 | 395| ---- | ------------------------------------------------------------ | 396| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 397 398### OH_Values_GetType() 399 400``` 401int OH_Values_GetType(OH_Data_Values *values, int index, OH_ColumnType *type) 402``` 403 404**描述** 405 406获取数据类型。 407 408**起始版本:** 18 409 410 411**参数:** 412 413| 参数项 | 描述 | 414| ------------------------------------------------------------ | ------------------------------------------------------------ | 415| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 416| int index | 表示values中目标数据的从零开始的索引。 | 417| [OH_ColumnType](capi-oh-data-value-h.md#oh_columntype) *type | 一个输出参数,表示数据类型。 | 418 419**返回:** 420 421| 类型 | 说明 | 422| ---- | ------------------------------------------------------------ | 423| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 424 425### OH_Values_Get() 426 427``` 428int OH_Values_Get(OH_Data_Values *values, int index, OH_Data_Value **val) 429``` 430 431**描述** 432 433获取OH_Data_Value类型数据。 434 435**起始版本:** 18 436 437 438**参数:** 439 440| 参数项 | 描述 | 441| ------------------------------------------------ | ------------------------------------------------------------ | 442| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 443| int index | 表示values中目标数据的从零开始的索引。 | 444| [OH_Data_Value](capi-rdb-oh-data-value.md) **val | 一个输出参数,表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。<br>无需申请内存和释放内存。 | 445 446**返回:** 447 448| 类型 | 说明 | 449| ---- | ------------------------------------------------------------ | 450| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 451 452### OH_Values_IsNull() 453 454``` 455int OH_Values_IsNull(OH_Data_Values *values, int index, bool *val) 456``` 457 458**描述** 459 460检查数据是否为空。 461 462**起始版本:** 18 463 464 465**参数:** 466 467| 参数项 | 描述 | 468| ------------------------------------------------ | ------------------------------------------------------------ | 469| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 470| int index | 表示values中目标数据的从零开始的索引。 | 471| bool *val | 一个输出参数,true表示空,false表示不为空。 | 472 473**返回:** 474 475| 类型 | 说明 | 476| ---- | ------------------------------------------------------------ | 477| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 478 479### OH_Values_GetInt() 480 481``` 482int OH_Values_GetInt(OH_Data_Values *values, int index, int64_t *val) 483``` 484 485**描述** 486 487获取整型数据。 488 489**起始版本:** 18 490 491 492**参数:** 493 494| 参数项 | 描述 | 495| ------------------------------------------------ | ------------------------------------------------------------ | 496| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 497| int index | 表示values中目标数据的从零开始的索引。 | 498| int64_t *val | 一个输出参数,表示指向整型数据的指针。 | 499 500**返回:** 501 502| 类型 | 说明 | 503| ---- | ------------------------------------------------------------ | 504| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 505 506### OH_Values_GetReal() 507 508``` 509int OH_Values_GetReal(OH_Data_Values *values, int index, double *val) 510``` 511 512**描述** 513 514获取REAL类型数据。 515 516**起始版本:** 18 517 518 519**参数:** 520 521| 参数项 | 描述 | 522| ------------------------------------------------ | ------------------------------------------------------------ | 523| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 524| int index | 表示values中目标数据的从零开始的索引。 | 525| double *val | 一个输出参数,表示指向REAL类型数据的指针。 | 526 527**返回:** 528 529| 类型 | 说明 | 530| ---- | ------------------------------------------------------------ | 531| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 532 533### OH_Values_GetText() 534 535``` 536int OH_Values_GetText(OH_Data_Values *values, int index, const char **val) 537``` 538 539**描述** 540 541获取字符串类型数据。 542 543**起始版本:** 18 544 545 546**参数:** 547 548| 参数项 | 描述 | 549| ------------------------------------------------ | ------------------------------------------------------------ | 550| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 551| int index | 表示values中目标数据的从零开始的索引。 | 552| const char **val | 一个输出参数,表示指向字符串类型数据的指针。<br>无需申请内存和释放内存。<br>val的生命周期遵循values中index的值。 | 553 554**返回:** 555 556| 类型 | 说明 | 557| ---- | ------------------------------------------------------------ | 558| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 559 560### OH_Values_GetBlob() 561 562``` 563int OH_Values_GetBlob(OH_Data_Values *values, int index, const uint8_t **val, size_t *length) 564``` 565 566**描述** 567 568获取BLOB类型数据。 569 570**起始版本:** 18 571 572 573**参数:** 574 575| 参数项 | 描述 | 576| ------------------------------------------------ | ------------------------------------------------------------ | 577| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 578| int index | 表示values中目标数据的从零开始的索引。 | 579| const uint8_t **val | 一个输出参数,表示指向BLOB类型数据的指针。<br>无需申请内存和释放内存。<br>val的生命周期遵循values中index的值。 | 580| size_t *length | 该参数为输出参数,表示BLOB类型数组的大小。 | 581 582**返回:** 583 584| 类型 | 说明 | 585| ---- | ------------------------------------------------------------ | 586| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 587 588### OH_Values_GetAsset() 589 590``` 591int OH_Values_GetAsset(OH_Data_Values *values, int index, Data_Asset *val) 592``` 593 594**描述** 595 596获取ASSET类型数据。 597 598**起始版本:** 18 599 600 601**参数:** 602 603| 参数项 | 描述 | 604| ------------------------------------------------ | ------------------------------------------------------------ | 605| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 606| int index | 表示values中目标数据的从零开始的索引。 | 607| [Data_Asset](capi-rdb-data-asset.md) *val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。<br>需要申请数据内存。<br>此函数仅填充数据,否则执行失败。 | 608 609**返回:** 610 611| 类型 | 说明 | 612| ---- | ------------------------------------------------------------ | 613| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 614 615### OH_Values_GetAssetsCount() 616 617``` 618int OH_Values_GetAssetsCount(OH_Data_Values *values, int index, size_t *length) 619``` 620 621**描述** 622 623获取ASSETS类型数据的大小。 624 625**起始版本:** 18 626 627 628**参数:** 629 630| 参数项 | 描述 | 631| ------------------------------------------------ | ------------------------------------------------------------ | 632| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 633| int index | 表示values中目标数据的从零开始的索引。 | 634| size_t *length | 该参数为输出参数,表示ASSETS类型数据的大小。 | 635 636**返回:** 637 638| 类型 | 说明 | 639| ---- | ------------------------------------------------------------ | 640| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 641 642### OH_Values_GetAssets() 643 644``` 645int OH_Values_GetAssets(OH_Data_Values *values, int index, Data_Asset **val, size_t inLen, size_t *outLen) 646``` 647 648**描述** 649 650获取ASSETS类型数据。 651 652**起始版本:** 18 653 654 655**参数:** 656 657| 参数项 | 描述 | 658| ------------------------------------------------ | ------------------------------------------------------------ | 659| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 660| int index | 表示values中目标数据的从零开始的索引。 | 661| [Data_Asset](capi-rdb-data-asset.md) **val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。<br>使用时需要申请数据内存。<br>此函数仅填充数据,否则执行失败。 | 662| size_t inLen | 表示val的大小。可以通过[OH_Values_GetAssetsCount](capi-oh-data-values-h.md#oh_values_getassetscount)获取。 | 663| size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | 664 665**返回:** 666 667| 类型 | 说明 | 668| ---- | ------------------------------------------------------------ | 669| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 670 671### OH_Values_GetFloatVectorCount() 672 673``` 674int OH_Values_GetFloatVectorCount(OH_Data_Values *values, int index, size_t *length) 675``` 676 677**描述** 678 679获取float数组类型数据的大小。 680 681**起始版本:** 18 682 683 684**参数:** 685 686| 参数项 | 描述 | 687| ------------------------------------------------ | ------------------------------------------------------------ | 688| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 689| int index | 表示values中目标数据的从零开始的索引。 | 690| size_t *length | 该参数为输出参数,表示float数组类型数据的大小。 | 691 692**返回:** 693 694| 类型 | 说明 | 695| ---- | ------------------------------------------------------------ | 696| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 697 698### OH_Values_GetFloatVector() 699 700``` 701int OH_Values_GetFloatVector(OH_Data_Values *values, int index, float *val, size_t inLen, size_t *outLen) 702``` 703 704**描述** 705 706获取float数组类型数据。 707 708**起始版本:** 18 709 710 711**参数:** 712 713| 参数项 | 描述 | 714| ------------------------------------------------ | ------------------------------------------------------------ | 715| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 716| int index | 表示values中目标数据的从零开始的索引。 | 717| float *val | 表示指向float数组的指针。<br>需要申请数据内存。<br>此函数仅填充数据,否则执行失败。 | 718| size_t inLen | 表示val的大小。可以通过[OH_Values_GetFloatVectorCount](capi-oh-data-values-h.md#oh_values_getfloatvectorcount)获取。 | 719| size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | 720 721**返回:** 722 723| 类型 | 说明 | 724| ---- | ------------------------------------------------------------ | 725| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 726 727### OH_Values_GetUnlimitedIntBand() 728 729``` 730int OH_Values_GetUnlimitedIntBand(OH_Data_Values *values, int index, size_t *length) 731``` 732 733**描述** 734 735获取任意长度的整型数据的大小。 736 737**起始版本:** 18 738 739 740**参数:** 741 742| 参数项 | 描述 | 743| ------------------------------------------------ | ------------------------------------------------------------ | 744| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 745| int index | 表示values中目标数据的从零开始的索引。 | 746| size_t *length | 该参数为输出参数,表示整型数组的大小。 | 747 748**返回:** 749 750| 类型 | 说明 | 751| ---- | ------------------------------------------------------------ | 752| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 753 754### OH_Values_GetUnlimitedInt() 755 756``` 757int OH_Values_GetUnlimitedInt(OH_Data_Values *values, int index, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen) 758``` 759 760**描述** 761 762获取任意长度的整型数据。 763 764**起始版本:** 18 765 766 767**参数:** 768 769| 参数项 | 描述 | 770| ------------------------------------------------ | ------------------------------------------------------------ | 771| [OH_Data_Values](capi-rdb-oh-data-values.md) *values | 表示指向[OH_Data_Values](capi-rdb-oh-data-values.md)实例的指针。 | 772| int index | 表示values中目标数据的从零开始的索引。 | 773| int *sign | 一个输出参数,表示正负数,0表示正整数,1表示负整数。 | 774| uint64_t *trueForm | 表示指向整型数组的指针。<br>需要申请数据内存。<br>此函数仅填充数据,否则执行失败。 | 775| size_t inLen | 表示trueForm的大小。可以通过[OH_Values_GetUnlimitedIntBand](capi-oh-data-values-h.md#oh_values_getunlimitedintband)获取。 | 776| size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | 777 778**返回:** 779 780| 类型 | 说明 | 781| ---- | ------------------------------------------------------------ | 782| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 783 784