# oh_data_value.h ## 概述 提供与单条数据值相关的函数和枚举。
从API version 18开始,OH_ColumnType从oh_cursor.h移动至此头文件呈现,对于此类型,API version 18之前即支持使用,各版本均可正常使用。 **引用文件:** **库:** libnative_rdb_ndk.z.so **系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core **起始版本:** 18 **相关模块:** [RDB](capi-rdb.md) ## 汇总 ### 结构体 | 名称 | typedef关键字 | 描述 | | -------------------------------------- | ------------- | ---------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) | OH_Data_Value | 定义[OH_Data_Value](capi-rdb-oh-data-value.md)结构类型。 | ### 枚举 | 名称 | typedef关键字 | 描述 | | ------------------------------- | ------------- | -------------- | | [OH_ColumnType](#oh_columntype) | OH_ColumnType | 表示列的类型。 | ### 函数 | 名称 | 描述 | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [OH_Data_Value *OH_Value_Create(void)](#oh_value_create) | 创建[OH_Data_Value](capi-rdb-oh-data-value.md)实例,用于储存单条键值对数据。 | | [int OH_Value_Destroy(OH_Data_Value *value)](#oh_value_destroy) | 销毁[OH_Data_Value](capi-rdb-oh-data-value.md)对象。 | | [int OH_Value_PutNull(OH_Data_Value *value)](#oh_value_putnull) | 添加空数据。 | | [int OH_Value_PutInt(OH_Data_Value *value, int64_t val)](#oh_value_putint) | 添加整型数据。 | | [int OH_Value_PutReal(OH_Data_Value *value, double val)](#oh_value_putreal) | 添加REAL类型数据。 | | [int OH_Value_PutText(OH_Data_Value *value, const char *val)](#oh_value_puttext) | 添加字符串类型数据。 | | [int OH_Value_PutBlob(OH_Data_Value *value, const unsigned char *val, size_t length)](#oh_value_putblob) | 添加BLOB类型数据。 | | [int OH_Value_PutAsset(OH_Data_Value *value, const Data_Asset *val)](#oh_value_putasset) | 添加ASSET类型数据。 | | [int OH_Value_PutAssets(OH_Data_Value *value, const Data_Asset * const * val, size_t length)](#oh_value_putassets) | 添加ASSETS类型数据。 | | [int OH_Value_PutFloatVector(OH_Data_Value *value, const float *val, size_t length)](#oh_value_putfloatvector) | 添加float数组类型数据。 | | [int OH_Value_PutUnlimitedInt(OH_Data_Value *value, int sign, const uint64_t *trueForm, size_t length)](#oh_value_putunlimitedint) | 添加任意长度的整型数组数据。 | | [int OH_Value_GetType(OH_Data_Value *value, OH_ColumnType *type)](#oh_value_gettype) | 获取数据类型。 | | [int OH_Value_IsNull(OH_Data_Value *value, bool *val)](#oh_value_isnull) | 检查数据是否为空。 | | [int OH_Value_GetInt(OH_Data_Value *value, int64_t *val)](#oh_value_getint) | 获取整型数据。 | | [int OH_Value_GetReal(OH_Data_Value *value, double *val)](#oh_value_getreal) | 获取REAL类型数据。 | | [int OH_Value_GetText(OH_Data_Value *value, const char **val)](#oh_value_gettext) | 获取字符串类型数据。 | | [int OH_Value_GetBlob(OH_Data_Value *value, const uint8_t **val, size_t *length)](#oh_value_getblob) | 获取BLOB类型数据。 | | [int OH_Value_GetAsset(OH_Data_Value *value, Data_Asset *val)](#oh_value_getasset) | 获取ASSET类型数据。 | | [int OH_Value_GetAssetsCount(OH_Data_Value *value, size_t *length)](#oh_value_getassetscount) | 获取ASSETS类型数据的大小。 | | [int OH_Value_GetAssets(OH_Data_Value *value, Data_Asset **val, size_t inLen, size_t *outLen)](#oh_value_getassets) | 获取ASSETS类型数据。 | | [int OH_Value_GetFloatVectorCount(OH_Data_Value *value, size_t *length)](#oh_value_getfloatvectorcount) | 获取float数组类型数据的大小。 | | [int OH_Value_GetFloatVector(OH_Data_Value *value, float *val, size_t inLen, size_t *outLen)](#oh_value_getfloatvector) | 获取float数组类型数据。 | | [int OH_Value_GetUnlimitedIntBand(OH_Data_Value *value, size_t *length)](#oh_value_getunlimitedintband) | 获取任意长度的整型数据的大小。 | | [int OH_Value_GetUnlimitedInt(OH_Data_Value *value, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen)](#oh_value_getunlimitedint) | 获取任意长度的整型数据。 | ## 枚举类型说明 ### OH_ColumnType ``` enum OH_ColumnType ``` **描述** 表示列的类型。 **起始版本:** 10 | 枚举项 | 描述 | | ------------------ | --------------------------------------------------------- | | TYPE_NULL = 0 | 表示NULL类型。 | | TYPE_INT64 | 表示INT64数据类型。 | | TYPE_REAL | 表示REAL数据类型。 | | TYPE_TEXT | 表示TEXT数据类型。 | | TYPE_BLOB | 表示BLOB数据类型。 | | TYPE_ASSET | 表示ASSET(资产附件)数据类型。
**起始版本:** 11 | | TYPE_ASSETS | 表示ASSETS(多个资产附件)数据类型。
**起始版本:** 11 | | TYPE_FLOAT_VECTOR | 表示FLOAT VECTOR数据类型。
**起始版本:** 18 | | TYPE_UNLIMITED_INT | 表示列类型为长度大于64位的数字。
**起始版本:** 18 | ## 函数说明 ### OH_Value_Create() ``` OH_Data_Value *OH_Value_Create(void) ``` **描述** 创建[OH_Data_Value](capi-rdb-oh-data-value.md)实例,用于储存单条键值对数据。 **起始版本:** 18 **返回:** | 类型 | 说明 | | -------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) | 执行成功时返回指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。否则返回nullptr。
使用完成后,必须通过[OH_Value_Destroy](capi-oh-data-value-h.md#oh_value_destroy)接口释放内存。 | ### OH_Value_Destroy() ``` int OH_Value_Destroy(OH_Data_Value *value) ``` **描述** 销毁[OH_Data_Value](capi-rdb-oh-data-value.md)对象。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutNull() ``` int OH_Value_PutNull(OH_Data_Value *value) ``` **描述** 添加空数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutInt() ``` int OH_Value_PutInt(OH_Data_Value *value, int64_t val) ``` **描述** 添加整型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | int64_t val | 表示整型数据。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutReal() ``` int OH_Value_PutReal(OH_Data_Value *value, double val) ``` **描述** 添加REAL类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | double val | 表示REAL类型数据。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutText() ``` int OH_Value_PutText(OH_Data_Value *value, const char *val) ``` **描述** 添加字符串类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | const char *val | 表示字符串类型数据。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutBlob() ``` int OH_Value_PutBlob(OH_Data_Value *value, const unsigned char *val, size_t length) ``` **描述** 添加BLOB类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | const unsigned char *val | 表示BLOB类型数据。 | | size_t length | 该参数是输入参数,表示开发者传入的BLOB类型数据的大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutAsset() ``` int OH_Value_PutAsset(OH_Data_Value *value, const Data_Asset *val) ``` **描述** 添加ASSET类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | const [Data_Asset](capi-rdb-data-asset.md) *val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutAssets() ``` int OH_Value_PutAssets(OH_Data_Value *value, const Data_Asset * const * val, size_t length) ``` **描述** 添加ASSETS类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | ---------------------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | const [Data_Asset](capi-rdb-data-asset.md) * const * val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。 | | size_t length | 该参数是输入参数,表示开发者传入的[Data_Asset](capi-rdb-data-asset.md)对象数组元素的个数。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutFloatVector() ``` int OH_Value_PutFloatVector(OH_Data_Value *value, const float *val, size_t length) ``` **描述** 添加float数组类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | const float *val | 表示指向float数组对象的指针。 | | size_t length | 该参数是输入参数,表示开发者传入的表示float数组的大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_PutUnlimitedInt() ``` int OH_Value_PutUnlimitedInt(OH_Data_Value *value, int sign, const uint64_t *trueForm, size_t length) ``` **描述** 添加任意长度的整型数组数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | int sign | 表示正负数,0表示正整数,1表示负整数。 | | const uint64_t *trueForm | 表示指向整型数组的指针。 | | size_t length | 该参数是输入参数,表示开发者传入的表示整型数组的大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_GetType() ``` int OH_Value_GetType(OH_Data_Value *value, OH_ColumnType *type) ``` **描述** 获取数据类型。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | [OH_ColumnType](#oh_columntype) *type | 一个输出参数,表示数据类型。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_IsNull() ``` int OH_Value_IsNull(OH_Data_Value *value, bool *val) ``` **描述** 检查数据是否为空。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | bool *val | 一个输出参数,true表示空,false表示不为空。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。 | ### OH_Value_GetInt() ``` int OH_Value_GetInt(OH_Data_Value *value, int64_t *val) ``` **描述** 获取整型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | int64_t *val | 一个输出参数,表示指向整型数据的指针。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetReal() ``` int OH_Value_GetReal(OH_Data_Value *value, double *val) ``` **描述** 获取REAL类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | double *val | 一个输出参数,表示指向REAL类型数据的指针。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetText() ``` int OH_Value_GetText(OH_Data_Value *value, const char **val) ``` **描述** 获取字符串类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | const char **val | 一个输出参数,表示指向字符串类型数据的指针。
无需申请内存和释放内存。
val的生命周期遵循value中index的值。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetBlob() ``` int OH_Value_GetBlob(OH_Data_Value *value, const uint8_t **val, size_t *length) ``` **描述** 获取BLOB类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | const uint8_t **val | 一个输出参数,表示指向BLOB类型数据的指针。
无需申请内存和释放内存。
val的生命周期遵循value中index的值。 | | size_t *length | 该参数是输出参数,表示BLOB类型数组的大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetAsset() ``` int OH_Value_GetAsset(OH_Data_Value *value, Data_Asset *val) ``` **描述** 获取ASSET类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | [Data_Asset](capi-rdb-data-asset.md) *val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。
需要申请数据内存。
此函数仅填充数据。否则执行失败。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetAssetsCount() ``` int OH_Value_GetAssetsCount(OH_Data_Value *value, size_t *length) ``` **描述** 获取ASSETS类型数据的大小。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | size_t *length | 该参数是输出参数,表示ASSETS类型数据的大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetAssets() ``` int OH_Value_GetAssets(OH_Data_Value *value, Data_Asset **val, size_t inLen, size_t *outLen) ``` **描述** 获取ASSETS类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | [Data_Asset](capi-rdb-data-asset.md) **val | 表示指向[Data_Asset](capi-rdb-data-asset.md)对象的指针。
需要申请数据内存。
此函数仅填充数据。否则执行失败。 | | size_t inLen | 表示val的大小。可以通过[OH_Values_GetAssetsCount](capi-oh-data-values-h.md#oh_values_getassetscount)获取。 | | size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetFloatVectorCount() ``` int OH_Value_GetFloatVectorCount(OH_Data_Value *value, size_t *length) ``` **描述** 获取float数组类型数据的大小。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | size_t *length | 该参数是输出参数,表示float数组类型数据的大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS返回。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetFloatVector() ``` int OH_Value_GetFloatVector(OH_Data_Value *value, float *val, size_t inLen, size_t *outLen) ``` **描述** 获取float数组类型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | float *val | 表示指向float数组的指针。
需要申请数据内存。
此函数仅填充数据。否则执行失败。 | | size_t inLen | 表示val的大小。可以通过[OH_Values_GetFloatVectorCount](capi-oh-data-values-h.md#oh_values_getfloatvectorcount)获取。 | | size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetUnlimitedIntBand() ``` int OH_Value_GetUnlimitedIntBand(OH_Data_Value *value, size_t *length) ``` **描述** 获取任意长度的整型数据的大小。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ---------------------------------------------------------- | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | size_t *length | 该参数是输出参数,表示整型数组的大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 | ### OH_Value_GetUnlimitedInt() ``` int OH_Value_GetUnlimitedInt(OH_Data_Value *value, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen) ``` **描述** 获取任意长度的整型数据。 **起始版本:** 18 **参数:** | 参数项 | 描述 | | --------------------------------------------- | ------------------------------------------------------------ | | [OH_Data_Value](capi-rdb-oh-data-value.md) *value | 表示指向[OH_Data_Value](capi-rdb-oh-data-value.md)实例的指针。 | | int *sign | 一个输出参数,表示正负数,0表示正整数,1表示负整数。 | | uint64_t *trueForm | 表示指向整型数组的指针。
需要申请数据内存。
此函数仅填充数据。否则执行失败。 | | size_t inLen | 表示trueForm的大小。可以通过[OH_Values_GetUnlimitedIntBand](capi-oh-data-values-h.md#oh_values_getunlimitedintband)获取。 | | size_t *outLen | 一个输出参数,表示实际获取的数据大小。 | **返回:** | 类型 | 说明 | | ---- | ------------------------------------------------------------ | | int | 返回错误码。
返回RDB_OK表示成功。
返回RDB_E_INVALID_ARGS表示无效参数。
返回RDB_E_DATA_TYPE_NULL表示存储数据为空。
返回RDB_E_TYPE_MISMATCH表示数据类型不匹配。 |