GGiteeupdate
109f1640创建于 2025年3月13日历史提交

oh_data_value.h

概述

提供与单条数据值相关的函数和枚举。

从API version 18开始,OH_ColumnType从oh_cursor.h移动至此头文件呈现,对于此类型,API version 18之前即支持使用,各版本均可正常使用。

引用文件: <database/data/oh_data_value.h>

库: libnative_rdb_ndk.z.so

系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core

起始版本: 18

相关模块:RDB

汇总

类型定义

名称 描述
typedef enum OH_ColumnType OH_ColumnType 表示列的类型。
typedef struct OH_Data_Value OH_Data_Value 定义OH_Data_Value结构类型。

枚举

名称 描述
OH_ColumnType {
TYPE_NULL = 0, TYPE_INT64, TYPE_REAL, TYPE_TEXT,
TYPE_BLOB, TYPE_ASSET, TYPE_ASSETS, TYPE_FLOAT_VECTOR,
TYPE_UNLIMITED_INT
}
表示列的类型。

函数

名称 描述
OH_Data_Value * OH_Value_Create (void) 创建OH_Data_Value实例,用于储存单条键值对数据。
int OH_Value_Destroy (OH_Data_Value *value) 销毁OH_Data_Value对象。
int OH_Value_PutNull (OH_Data_Value *value) 添加空数据。
int OH_Value_PutInt (OH_Data_Value *value, int64_t val) 添加整型数据。
int OH_Value_PutReal (OH_Data_Value *value, double val) 添加REAL类型数据。
int OH_Value_PutText (OH_Data_Value *value, const char *val) 添加字符串类型数据。
int OH_Value_PutBlob (OH_Data_Value *value, const unsigned char *val, size_t length) 添加BLOB类型数据。
int OH_Value_PutAsset (OH_Data_Value *value, const Data_Asset *val) 添加ASSET类型数据。
int OH_Value_PutAssets (OH_Data_Value *value, const Data_Asset *const *val, size_t length) 添加ASSETS类型数据。
int OH_Value_PutFloatVector (OH_Data_Value *value, const float *val, size_t length) 添加float数组类型数据。
int OH_Value_PutUnlimitedInt (OH_Data_Value *value, int sign, const uint64_t *trueForm, size_t length) 添加任意长度的整型数组数据。
int OH_Value_GetType (OH_Data_Value *value, OH_ColumnType *type) 获取数据类型。
int OH_Value_IsNull (OH_Data_Value *value, bool *val) 检查数据是否为空。
int OH_Value_GetInt (OH_Data_Value *value, int64_t *val) 获取整型数据。
int OH_Value_GetReal (OH_Data_Value *value, double *val) 获取REAL类型数据。
int OH_Value_GetText (OH_Data_Value *value, const char **val) 获取字符串类型数据。
int OH_Value_GetBlob (OH_Data_Value *value, const uint8_t **val, size_t *length) 获取BLOB类型数据。
int OH_Value_GetAsset (OH_Data_Value *value, Data_Asset *val) 获取ASSET类型数据。
int OH_Value_GetAssetsCount (OH_Data_Value *value, size_t *length) 获取ASSETS类型数据的大小。
int OH_Value_GetAssets (OH_Data_Value *value, Data_Asset **val, size_t inLen, size_t *outLen) 获取ASSETS类型数据。
int OH_Value_GetFloatVectorCount (OH_Data_Value *value, size_t *length) 获取float数组类型数据的大小。
int OH_Value_GetFloatVector (OH_Data_Value *value, float *val, size_t inLen, size_t *outLen) 获取float数组类型数据。
int OH_Value_GetUnlimitedIntBand (OH_Data_Value *value, size_t *length) 获取任意长度的整型数据的大小。
int OH_Value_GetUnlimitedInt (OH_Data_Value *value, int *sign, uint64_t *trueForm, size_t inLen, size_t *outLen) 获取任意长度的整型数据。