1# oh_data_value.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提供与单条数据值相关的函数和枚举。<br>从API version 18开始,OH_ColumnType从oh_cursor.h移动至此头文件呈现,对于此类型,API version 18之前即支持使用,各版本均可正常使用。 12 13**引用文件:** <database/rdb/oh_data_value.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_Value](capi-rdb-oh-data-value.md) | OH_Data_Value | 定义[OH_Data_Value](capi-rdb-oh-data-value.md)结构类型。 | 30 31### 枚举 32 33| 名称 | typedef关键字 | 描述 | 34| ------------------------------- | ------------- | -------------- | 35| [OH_ColumnType](#oh_columntype) | OH_ColumnType | 表示列的类型。 | 36 37### 函数 38 39| 名称 | 描述 | 40| ------------------------------------------------------------ | ------------------------------------------------------------ | 41| [OH_Data_Value *OH_Value_Create(void)](#oh_value_create) | 创建[OH_Data_Value](capi-rdb-oh-data-value.md)实例,用于储存单条键值对数据。 | 42| [int OH_Value_Destroy(OH_Data_Value *value)](#oh_value_destroy) | 销毁[OH_Data_Value](capi-rdb-oh-data-value.md)对象。 | 43| [int OH_Value_PutNull(OH_Data_Value *value)](#oh_value_putnull) | 添加空数据。 | 44| [int OH_Value_PutInt(OH_Data_Value *value, int64_t val)](#oh_value_putint) | 添加整型数据。 | 45| [int OH_Value_PutReal(OH_Data_Value *value, double val)](#oh_value_putreal) | 添加REAL类型数据。 | 46| [int OH_Value_PutText(OH_Data_Value *value, const char *val)](#oh_value_puttext) | 添加字符串类型数据。 | 47| [int OH_Value_PutBlob(OH_Data_Value *value, const unsigned char *val, size_t length)](#oh_value_putblob) | 添加BLOB类型数据。 | 48| [int OH_Value_PutAsset(OH_Data_Value *value, const Data_Asset *val)](#oh_value_putasset) | 添加ASSET类型数据。 | 49| [int OH_Value_PutAssets(OH_Data_Value *value, const Data_Asset * const * val, size_t length)](#oh_value_putassets) | 添加ASSETS类型数据。 | 50| [int OH_Value_PutFloatVector(OH_Data_Value *value, const float *val, size_t length)](#oh_value_putfloatvector) | 添加float数组类型数据。 | 51| [int OH_Value_PutUnlimitedInt(OH_Data_Value *value, int sign, const uint64_t *trueForm, size_t length)](#oh_value_putunlimitedint) | 添加任意长度的整型数组数据。 | 52| [int OH_Value_GetType(OH_Data_Value *value, OH_ColumnType *type)](#oh_value_gettype) | 获取数据类型。 | 53| [int OH_Value_IsNull(OH_Data_Value *value, bool *val)](#oh_value_isnull) | 检查数据是否为空。 | 54| [int OH_Value_GetInt(OH_Data_Value *value, int64_t *val)](#oh_value_getint) | 获取整型数据。 | 55| [int OH_Value_GetReal(OH_Data_Value *value, double *val)](#oh_value_getreal) | 获取REAL类型数据。 | 56| [int OH_Value_GetText(OH_Data_Value *value, const char **val)](#oh_value_gettext) | 获取字符串类型数据。 | 57| [int OH_Value_GetBlob(OH_Data_Value *value, const uint8_t **val, size_t *length)](#oh_value_getblob) | 获取BLOB类型数据。 | 58| [int OH_Value_GetAsset(OH_Data_Value *value, Data_Asset *val)](#oh_value_getasset) | 获取ASSET类型数据。 | 59| [int OH_Value_GetAssetsCount(OH_Data_Value *value, size_t *length)](#oh_value_getassetscount) | 获取ASSETS类型数据的大小。 | 60| [int OH_Value_GetAssets(OH_Data_Value *value, Data_Asset **val, size_t inLen, size_t *outLen)](#oh_value_getassets) | 获取ASSETS类型数据。 | 61| [int OH_Value_GetFloatVectorCount(OH_Data_Value *value, size_t *length)](#oh_value_getfloatvectorcount) | 获取float数组类型数据的大小。 | 62| [int OH_Value_GetFloatVector(OH_Data_Value *value, float *val, size_t inLen, size_t *outLen)](#oh_value_getfloatvector) | 获取float数组类型数据。 | 63| [int OH_Value_GetUnlimitedIntBand(OH_Data_Value *value, size_t *length)](#oh_value_getunlimitedintband) | 获取任意长度的整型数据的大小。 | 64| [int OH_Value_GetUnlimitedInt(OH_Data_Value *value, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen)](#oh_value_getunlimitedint) | 获取任意长度的整型数据。 | 65 66## 枚举类型说明 67 68### OH_ColumnType 69 70``` 71enum OH_ColumnType 72``` 73 74**描述** 75 76表示列的类型。 77 78**起始版本:** 10 79 80| 枚举项 | 描述 | 81| ------------------ | --------------------------------------------------------- | 82| TYPE_NULL = 0 | 表示NULL类型。 | 83| TYPE_INT64 | 表示INT64数据类型。 | 84| TYPE_REAL | 表示REAL数据类型。 | 85| TYPE_TEXT | 表示TEXT数据类型。 | 86| TYPE_BLOB | 表示BLOB数据类型。 | 87| TYPE_ASSET | 表示ASSET(资产附件)数据类型。<br>**起始版本:** 11 | 88| TYPE_ASSETS | 表示ASSETS(多个资产附件)数据类型。<br>**起始版本:** 11 | 89| TYPE_FLOAT_VECTOR | 表示FLOAT VECTOR数据类型。<br>**起始版本:** 18 | 90| TYPE_UNLIMITED_INT | 表示列类型为长度大于64位的数字。<br>**起始版本:** 18 | 91 92 93## 函数说明 94 95### OH_Value_Create() 96 97``` 98OH_Data_Value *OH_Value_Create(void) 99``` 100 101**描述** 102 103创建[OH_Data_Value](capi-rdb-oh-data-value.md)实例,用于储存单条键值对数据。 104 105**起始版本:** 18 106 107**返回:** 108 109| 类型 | 说明 | 110| -------------------------------------- | ------------------------------------------------------------ | 111| [OH_Data_Value](capi-rdb-oh-data-value.md) | 执行成功时返回指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。否则返回nullptr。<br>使用完成后,必须通过[OH_Value_Destroy](capi-oh-data-value-h.md#oh_value_destroy)接口释放内存。 | 112 113### OH_Value_Destroy() 114 115``` 116int OH_Value_Destroy(OH_Data_Value *value) 117``` 118 119**描述** 120 121销毁[OH_Data_Value](capi-rdb-oh-data-value.md)对象。 122 123**起始版本:** 18 124 125 126**参数:** 127 128| 参数项 | 描述 | 129| --------------------------------------------- | ---------------------------------------------------------- | 130| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 131 132**返回:** 133 134| 类型 | 说明 | 135| ---- | ------------------------------------------------------------ | 136| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 137 138### OH_Value_PutNull() 139 140``` 141int OH_Value_PutNull(OH_Data_Value *value) 142``` 143 144**描述** 145 146添加空数据。 147 148**起始版本:** 18 149 150 151**参数:** 152 153| 参数项 | 描述 | 154| --------------------------------------------- | ---------------------------------------------------------- | 155| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 156 157**返回:** 158 159| 类型 | 说明 | 160| ---- | ------------------------------------------------------------ | 161| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 162 163### OH_Value_PutInt() 164 165``` 166int OH_Value_PutInt(OH_Data_Value *value, int64_t val) 167``` 168 169**描述** 170 171添加整型数据。 172 173**起始版本:** 18 174 175 176**参数:** 177 178| 参数项 | 描述 | 179| --------------------------------------------- | ---------------------------------------------------------- | 180| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 181| int64_t val | 表示整型数据。 | 182 183**返回:** 184 185| 类型 | 说明 | 186| ---- | ------------------------------------------------------------ | 187| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 188 189### OH_Value_PutReal() 190 191``` 192int OH_Value_PutReal(OH_Data_Value *value, double val) 193``` 194 195**描述** 196 197添加REAL类型数据。 198 199**起始版本:** 18 200 201 202**参数:** 203 204| 参数项 | 描述 | 205| --------------------------------------------- | ---------------------------------------------------------- | 206| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 207| double val | 表示REAL类型数据。 | 208 209**返回:** 210 211| 类型 | 说明 | 212| ---- | ------------------------------------------------------------ | 213| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 214 215### OH_Value_PutText() 216 217``` 218int OH_Value_PutText(OH_Data_Value *value, const char *val) 219``` 220 221**描述** 222 223添加字符串类型数据。 224 225**起始版本:** 18 226 227 228**参数:** 229 230| 参数项 | 描述 | 231| --------------------------------------------- | ---------------------------------------------------------- | 232| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 233| const char *val | 表示字符串类型数据。 | 234 235**返回:** 236 237| 类型 | 说明 | 238| ---- | ------------------------------------------------------------ | 239| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 240 241### OH_Value_PutBlob() 242 243``` 244int OH_Value_PutBlob(OH_Data_Value *value, const unsigned char *val, size_t length) 245``` 246 247**描述** 248 249添加BLOB类型数据。 250 251**起始版本:** 18 252 253 254**参数:** 255 256| 参数项 | 描述 | 257| --------------------------------------------- | ---------------------------------------------------------- | 258| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 259| const unsigned char *val | 表示BLOB类型数据。 | 260| size_t length | 该参数是输入参数,表示开发者传入的BLOB类型数据的大小。 | 261 262**返回:** 263 264| 类型 | 说明 | 265| ---- | ------------------------------------------------------------ | 266| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 267 268### OH_Value_PutAsset() 269 270``` 271int OH_Value_PutAsset(OH_Data_Value *value, const Data_Asset *val) 272``` 273 274**描述** 275 276添加ASSET类型数据。 277 278**起始版本:** 18 279 280 281**参数:** 282 283| 参数项 | 描述 | 284| --------------------------------------------- | ---------------------------------------------------------- | 285| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 286| const [Data_Asset](capi-rdb-data-asset.md) *val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。 | 287 288**返回:** 289 290| 类型 | 说明 | 291| ---- | ------------------------------------------------------------ | 292| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 293 294### OH_Value_PutAssets() 295 296``` 297int OH_Value_PutAssets(OH_Data_Value *value, const Data_Asset * const * val, size_t length) 298``` 299 300**描述** 301 302添加ASSETS类型数据。 303 304**起始版本:** 18 305 306 307**参数:** 308 309| 参数项 | 描述 | 310| ---------------------------------------------------- | ------------------------------------------------------------ | 311| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 312| const [Data_Asset](capi-rdb-data-asset.md) * const * val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。 | 313| size_t length | 该参数是输入参数,表示开发者传入的[Data_Asset](capi-rdb-data-asset.md)对象数组元素的个数。 | 314 315**返回:** 316 317| 类型 | 说明 | 318| ---- | ------------------------------------------------------------ | 319| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 320 321### OH_Value_PutFloatVector() 322 323``` 324int OH_Value_PutFloatVector(OH_Data_Value *value, const float *val, size_t length) 325``` 326 327**描述** 328 329添加float数组类型数据。 330 331**起始版本:** 18 332 333 334**参数:** 335 336| 参数项 | 描述 | 337| --------------------------------------------- | ---------------------------------------------------------- | 338| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 339| const float *val | 表示指向float数组对象的指针。 | 340| size_t length | 该参数是输入参数,表示开发者传入的表示float数组的大小。 | 341 342**返回:** 343 344| 类型 | 说明 | 345| ---- | ------------------------------------------------------------ | 346| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 347 348### OH_Value_PutUnlimitedInt() 349 350``` 351int OH_Value_PutUnlimitedInt(OH_Data_Value *value, int sign, const uint64_t *trueForm, size_t length) 352``` 353 354**描述** 355 356添加任意长度的整型数组数据。 357 358**起始版本:** 18 359 360 361**参数:** 362 363| 参数项 | 描述 | 364| --------------------------------------------- | ---------------------------------------------------------- | 365| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 366| int sign | 表示正负数,0表示正整数,1表示负整数。 | 367| const uint64_t *trueForm | 表示指向整型数组的指针。 | 368| size_t length | 该参数是输入参数,表示开发者传入的表示整型数组的大小。 | 369 370**返回:** 371 372| 类型 | 说明 | 373| ---- | ------------------------------------------------------------ | 374| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 375 376### OH_Value_GetType() 377 378``` 379int OH_Value_GetType(OH_Data_Value *value, OH_ColumnType *type) 380``` 381 382**描述** 383 384获取数据类型。 385 386**起始版本:** 18 387 388 389**参数:** 390 391| 参数项 | 描述 | 392| --------------------------------------------- | ---------------------------------------------------------- | 393| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 394| [OH_ColumnType](#oh_columntype) *type | 一个输出参数,表示数据类型。 | 395 396**返回:** 397 398| 类型 | 说明 | 399| ---- | ------------------------------------------------------------ | 400| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 401 402### OH_Value_IsNull() 403 404``` 405int OH_Value_IsNull(OH_Data_Value *value, bool *val) 406``` 407 408**描述** 409 410检查数据是否为空。 411 412**起始版本:** 18 413 414 415**参数:** 416 417| 参数项 | 描述 | 418| --------------------------------------------- | ---------------------------------------------------------- | 419| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 420| bool *val | 一个输出参数,true表示空,false表示不为空。 | 421 422**返回:** 423 424| 类型 | 说明 | 425| ---- | ------------------------------------------------------------ | 426| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 427 428### OH_Value_GetInt() 429 430``` 431int OH_Value_GetInt(OH_Data_Value *value, int64_t *val) 432``` 433 434**描述** 435 436获取整型数据。 437 438**起始版本:** 18 439 440 441**参数:** 442 443| 参数项 | 描述 | 444| --------------------------------------------- | ---------------------------------------------------------- | 445| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 446| int64_t *val | 一个输出参数,表示指向整型数据的指针。 | 447 448**返回:** 449 450| 类型 | 说明 | 451| ---- | ------------------------------------------------------------ | 452| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 453 454### OH_Value_GetReal() 455 456``` 457int OH_Value_GetReal(OH_Data_Value *value, double *val) 458``` 459 460**描述** 461 462获取REAL类型数据。 463 464**起始版本:** 18 465 466 467**参数:** 468 469| 参数项 | 描述 | 470| --------------------------------------------- | ---------------------------------------------------------- | 471| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 472| double *val | 一个输出参数,表示指向REAL类型数据的指针。 | 473 474**返回:** 475 476| 类型 | 说明 | 477| ---- | ------------------------------------------------------------ | 478| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 479 480### OH_Value_GetText() 481 482``` 483int OH_Value_GetText(OH_Data_Value *value, const char **val) 484``` 485 486**描述** 487 488获取字符串类型数据。 489 490**起始版本:** 18 491 492 493**参数:** 494 495| 参数项 | 描述 | 496| --------------------------------------------- | ------------------------------------------------------------ | 497| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 498| const char **val | 一个输出参数,表示指向字符串类型数据的指针。<br>无需申请内存和释放内存。<br>val的生命周期遵循value中index的值。 | 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_Value_GetBlob() 507 508``` 509int OH_Value_GetBlob(OH_Data_Value *value, const uint8_t **val, size_t *length) 510``` 511 512**描述** 513 514获取BLOB类型数据。 515 516**起始版本:** 18 517 518 519**参数:** 520 521| 参数项 | 描述 | 522| --------------------------------------------- | ------------------------------------------------------------ | 523| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 524| const uint8_t **val | 一个输出参数,表示指向BLOB类型数据的指针。<br>无需申请内存和释放内存。<br>val的生命周期遵循value中index的值。 | 525| size_t *length | 该参数是输出参数,表示BLOB类型数组的大小。 | 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_Value_GetAsset() 534 535``` 536int OH_Value_GetAsset(OH_Data_Value *value, Data_Asset *val) 537``` 538 539**描述** 540 541获取ASSET类型数据。 542 543**起始版本:** 18 544 545 546**参数:** 547 548| 参数项 | 描述 | 549| --------------------------------------------- | ------------------------------------------------------------ | 550| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 551| [Data_Asset](capi-rdb-data-asset.md) *val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。<br>需要申请数据内存。<br>此函数仅填充数据。否则执行失败。 | 552 553**返回:** 554 555| 类型 | 说明 | 556| ---- | ------------------------------------------------------------ | 557| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 558 559### OH_Value_GetAssetsCount() 560 561``` 562int OH_Value_GetAssetsCount(OH_Data_Value *value, size_t *length) 563``` 564 565**描述** 566 567获取ASSETS类型数据的大小。 568 569**起始版本:** 18 570 571 572**参数:** 573 574| 参数项 | 描述 | 575| --------------------------------------------- | ---------------------------------------------------------- | 576| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 577| size_t *length | 该参数是输出参数,表示ASSETS类型数据的大小。 | 578 579**返回:** 580 581| 类型 | 说明 | 582| ---- | ------------------------------------------------------------ | 583| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 584 585### OH_Value_GetAssets() 586 587``` 588int OH_Value_GetAssets(OH_Data_Value *value, Data_Asset **val, size_t inLen, size_t *outLen) 589``` 590 591**描述** 592 593获取ASSETS类型数据。 594 595**起始版本:** 18 596 597 598**参数:** 599 600| 参数项 | 描述 | 601| --------------------------------------------- | ------------------------------------------------------------ | 602| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 603| [Data_Asset](capi-rdb-data-asset.md) **val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。<br>需要申请数据内存。<br>此函数仅填充数据。否则执行失败。 | 604| size_t inLen | 表示val的大小。可以通过[OH_Values_GetAssetsCount](capi-oh-data-values-h.md#oh_values_getassetscount)获取。 | 605| size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | 606 607**返回:** 608 609| 类型 | 说明 | 610| ---- | ------------------------------------------------------------ | 611| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 612 613### OH_Value_GetFloatVectorCount() 614 615``` 616int OH_Value_GetFloatVectorCount(OH_Data_Value *value, size_t *length) 617``` 618 619**描述** 620 621获取float数组类型数据的大小。 622 623**起始版本:** 18 624 625 626**参数:** 627 628| 参数项 | 描述 | 629| --------------------------------------------- | ---------------------------------------------------------- | 630| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 631| size_t *length | 该参数是输出参数,表示float数组类型数据的大小。 | 632 633**返回:** 634 635| 类型 | 说明 | 636| ---- | ------------------------------------------------------------ | 637| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS返回。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 638 639### OH_Value_GetFloatVector() 640 641``` 642int OH_Value_GetFloatVector(OH_Data_Value *value, float *val, size_t inLen, size_t *outLen) 643``` 644 645**描述** 646 647获取float数组类型数据。 648 649**起始版本:** 18 650 651 652**参数:** 653 654| 参数项 | 描述 | 655| --------------------------------------------- | ------------------------------------------------------------ | 656| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 657| float *val | 表示指向float数组的指针。<br>需要申请数据内存。<br>此函数仅填充数据。否则执行失败。 | 658| size_t inLen | 表示val的大小。可以通过[OH_Values_GetFloatVectorCount](capi-oh-data-values-h.md#oh_values_getfloatvectorcount)获取。 | 659| size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | 660 661**返回:** 662 663| 类型 | 说明 | 664| ---- | ------------------------------------------------------------ | 665| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 666 667### OH_Value_GetUnlimitedIntBand() 668 669``` 670int OH_Value_GetUnlimitedIntBand(OH_Data_Value *value, size_t *length) 671``` 672 673**描述** 674 675获取任意长度的整型数据的大小。 676 677**起始版本:** 18 678 679 680**参数:** 681 682| 参数项 | 描述 | 683| --------------------------------------------- | ---------------------------------------------------------- | 684| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 685| size_t *length | 该参数是输出参数,表示整型数组的大小。 | 686 687**返回:** 688 689| 类型 | 说明 | 690| ---- | ------------------------------------------------------------ | 691| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 692 693### OH_Value_GetUnlimitedInt() 694 695``` 696int OH_Value_GetUnlimitedInt(OH_Data_Value *value, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen) 697``` 698 699**描述** 700 701获取任意长度的整型数据。 702 703**起始版本:** 18 704 705 706**参数:** 707 708| 参数项 | 描述 | 709| --------------------------------------------- | ------------------------------------------------------------ | 710| [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | 711| int *sign | 一个输出参数,表示正负数,0表示正整数,1表示负整数。 | 712| uint64_t *trueForm | 表示指向整型数组的指针。<br>需要申请数据内存。<br>此函数仅填充数据。否则执行失败。 | 713| size_t inLen | 表示trueForm的大小。可以通过[OH_Values_GetUnlimitedIntBand](capi-oh-data-values-h.md#oh_values_getunlimitedintband)获取。 | 714| size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | 715 716**返回:** 717 718| 类型 | 说明 | 719| ---- | ------------------------------------------------------------ | 720| int | 返回错误码。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_DATA_TYPE_NULL表示存储数据为空。<br>返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | 721 722 723 724