# Data
## 概述
分布式数据管理(Distributed data manager,data)支持单设备的各种结构化数据的持久化,以及端云间的同步、共享功能。 分布式数据管理定义了一系列数据类型,可以对数据进行增删改查。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
**起始版本:** 11
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [data_asset.h](data__asset_8h.md) | 提供资产类型数据结构。
引用文件:
库: libnative_rdb_ndk.z.so
|
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| [Data_AssetStatus](#data_assetstatus) | 资产状态值类型。 |
| [Data_Asset](#data_asset) | 表示资产附件类型的数据。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [Data_AssetStatus](#data_assetstatus) {
ASSET_NULL = 0, ASSET_NORMAL, ASSET_INSERT, ASSET_UPDATE,
ASSET_DELETE, ASSET_ABNORMAL, ASSET_DOWNLOADING
} | 资产状态值类型。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_Data_Asset_SetName](#oh_data_asset_setname) ([Data_Asset](#data_asset) \*asset, const char \*name) | 设置资产类型数据的名称。 |
| [OH_Data_Asset_SetUri](#oh_data_asset_seturi) ([Data_Asset](#data_asset) \*asset, const char \*uri) | 设置资产类型数据在系统里的绝对路径,即URI。 |
| [OH_Data_Asset_SetPath](#oh_data_asset_setpath) ([Data_Asset](#data_asset) \*asset, const char \*path) | 设置资产类型数据在应用沙箱里的相对路径。 |
| [OH_Data_Asset_SetCreateTime](#oh_data_asset_setcreatetime) ([Data_Asset](#data_asset) \*asset, int64_t createTime) | 设置资产类型数据创建的时间。 |
| [OH_Data_Asset_SetModifyTime](#oh_data_asset_setmodifytime) ([Data_Asset](#data_asset) \*asset, int64_t modifyTime) | 设置资产类型数据最后修改的时间。 |
| [OH_Data_Asset_SetSize](#oh_data_asset_setsize) ([Data_Asset](#data_asset) \*asset, size_t size) | 设置资产类型数据占用空间的大小。 |
| [OH_Data_Asset_SetStatus](#oh_data_asset_setstatus) ([Data_Asset](#data_asset) \*asset, [Data_AssetStatus](#data_assetstatus) status) | 设置资产类型数据的状态码。 |
| [OH_Data_Asset_GetName](#oh_data_asset_getname) ([Data_Asset](#data_asset) \*asset, char \*name, size_t \*length) | 获取资产类型数据的名称。 |
| [OH_Data_Asset_GetUri](#oh_data_asset_geturi) ([Data_Asset](#data_asset) \*asset, char \*uri, size_t \*length) | 获取资产类型数据的绝对路径。 |
| [OH_Data_Asset_GetPath](#oh_data_asset_getpath) ([Data_Asset](#data_asset) \*asset, char \*path, size_t \*length) | 获取资产类型数据的相对路径。 |
| [OH_Data_Asset_GetCreateTime](#oh_data_asset_getcreatetime) ([Data_Asset](#data_asset) \*asset, int64_t \*createTime) | 获取资产类型数据的创建时间。 |
| [OH_Data_Asset_GetModifyTime](#oh_data_asset_getmodifytime) ([Data_Asset](#data_asset) \*asset, int64_t \*modifyTime) | 获取资产类型数据的最后修改的时间。 |
| [OH_Data_Asset_GetSize](#oh_data_asset_getsize) ([Data_Asset](#data_asset) \*asset, size_t \*size) | 获取资产类型数据占用空间的大小。 |
| [OH_Data_Asset_GetStatus](#oh_data_asset_getstatus) ([Data_Asset](#data_asset) \*asset, [Data_AssetStatus](#data_assetstatus) \*status) | 获取资产类型数据的状态码。 |
| [OH_Data_Asset_CreateOne](#oh_data_asset_createone) () | 创造一个[Data_Asset](#data_asset)类型实例。 |
| [OH_Data_Asset_DestroyOne](#oh_data_asset_destroyone) ([Data_Asset](#data_asset) \*asset) | 销毁[Data_Asset](#data_asset) 对象并回收该对象占用的内存。 |
| [OH_Data_Asset_CreateMultiple](#oh_data_asset_createmultiple) (uint32_t count) | 创造指定数量的[Data_Asset](#data_asset)类型实例。 |
| [OH_Data_Asset_DestroyMultiple](#oh_data_asset_destroymultiple) ([Data_Asset](#data_asset) \*\*assets, uint32_t count) | 销毁多个[Data_Asset](#data_asset) 对象并回收该对象占用的内存。 |
## 类型定义说明
### Data_Asset
```
typedef struct Data_Asset Data_Asset
```
**描述**
表示资产附件类型的数据。
提供资产附件的信息。
**起始版本:** 11
## 枚举类型说明
### Data_AssetStatus
```
enum Data_AssetStatus
```
**描述:**
资产状态值类型。
| 枚举值 | 描述 |
| -------- | -------- |
| ASSET_NULL | 表示资产为空。 |
| ASSET_NORMAL | 表示资产状态正常。 |
| ASSET_INSERT | 表示资产需要插入到云端。 |
| ASSET_UPDATE | 表示资产需要更新到云端。 |
| ASSET_DELETE | 表示资产需要在云端删除。 |
| ASSET_ABNORMAL | 表示资产状态异常。 |
| ASSET_DOWNLOADING | 表示资产正在下载到本地设备。 |
## 函数说明
### OH_Data_Asset_CreateMultiple()
```
Data_Asset** OH_Data_Asset_CreateMultiple (uint32_t count)
```
**描述**
创造指定数量的[Data_Asset](#data_asset) 类型实例
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| count | 代表创建的资产类型数据的数量。 |
**返回:**
创建成功则返回一个指向[Data_Asset](#data_asset)结构体实例的指针,否则返回NULL。
**参见:**
[Data_Asset](#data_asset).
### OH_Data_Asset_CreateOne()
```
Data_Asset* OH_Data_Asset_CreateOne ()
```
**描述**
创造一个[Data_Asset](#data_asset) 类型实例
**起始版本:** 11
**返回:**
创建成功则返回一个指向[Data_Asset](#data_asset)结构体实例的指针,否则返回NULL。
**参见:**
[Data_Asset](#data_asset).
### OH_Data_Asset_DestroyMultiple()
```
int OH_Data_Asset_DestroyMultiple (Data_Asset ** assets, uint32_t count )
```
**描述**
销毁多个[Data_Asset](#data_asset) 对象并回收该对象占用的内存。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| assets | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| count | 代表需要销毁的[Data_Asset](#data_asset)类型对象的数量。 |
**返回:**
返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset), [OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1).
### OH_Data_Asset_DestroyOne()
```
int OH_Data_Asset_DestroyOne (Data_Asset * asset)
```
**描述**
销毁[Data_Asset](#data_asset) 对象并回收该对象占用的内存。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
**返回:**
返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset), [OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1).
### OH_Data_Asset_GetCreateTime()
```
int OH_Data_Asset_GetCreateTime (Data_Asset * asset, int64_t * createTime )
```
**描述**
获取资产类型数据的创建时间。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| createTime | 参数是输出参数,资产类型数据的创建时间会以int64_t形式写入该变量。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_GetModifyTime()
```
int OH_Data_Asset_GetModifyTime (Data_Asset * asset, int64_t * modifyTime )
```
**描述**
获取资产类型数据的最后修改的时间。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| modifyTime | 参数是输出参数,资产类型数据的最后修改时间会以int64_t形式写入该变量。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_GetName()
```
int OH_Data_Asset_GetName (Data_Asset * asset, char * name, size_t * length )
```
**描述**
获取资产类型数据的名称。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| name | 该参数是输出参数,资产类型数据的名称会以字符串形式写入该变量。 |
| length | 表示name的长度。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_GetPath()
```
int OH_Data_Asset_GetPath (Data_Asset * asset, char * path, size_t * length )
```
**描述**
获取资产类型数据的相对路径。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| path | 参数是输出参数,资产类型数据的相对路径会以字符串形式写入该变量。 |
| length | 表示path的长度。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_GetSize()
```
int OH_Data_Asset_GetSize (Data_Asset * asset, size_t * size )
```
**描述**
获取资产类型数据占用空间的大小。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| size | 参数是输出参数,资产类型数据的占用空间大小会以size_t形式写入该变量。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_GetStatus()
```
int OH_Data_Asset_GetStatus (Data_Asset * asset, Data_AssetStatus * status )
```
**描述**
获取资产类型数据的状态码。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| status | 参数是输出参数,资产类型数据的状态码会以[Data_AssetStatus](#data_assetstatus)形式写入该变量。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_GetUri()
```
int OH_Data_Asset_GetUri (Data_Asset * asset, char * uri, size_t * length )
```
**描述**
获取资产类型数据的绝对路径。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| uri | 参数是输出参数,资产类型数据的绝对路径会以字符串形式写入该变量。 |
| length | 表示uri的长度。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_SetCreateTime()
```
int OH_Data_Asset_SetCreateTime (Data_Asset * asset, int64_t createTime )
```
**描述**
设置资产类型数据创建的时间。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| createTime | 表示要设置的创建时间。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_SetModifyTime()
```
int OH_Data_Asset_SetModifyTime (Data_Asset * asset, int64_t modifyTime )
```
**描述**
设置资产类型数据最后修改的时间。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| modifyTime | 表示要设置的最后修改的时间。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_SetName()
```
int OH_Data_Asset_SetName (Data_Asset * asset, const char * name )
```
**描述**
设置资产类型数据的名称。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| name | 表示要设置的名称。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_SetPath()
```
int OH_Data_Asset_SetPath (Data_Asset * asset, const char * path )
```
**描述**
设置资产类型数据在应用沙箱里的相对路径。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| path | 表示要设置的相对路径。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_SetSize()
```
int OH_Data_Asset_SetSize (Data_Asset * asset, size_t size )
```
**描述**
设置资产类型数据占用空间的大小。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| size | 表示要设置的占用空间的大小。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)
### OH_Data_Asset_SetStatus()
```
int OH_Data_Asset_SetStatus (Data_Asset * asset, Data_AssetStatus status )
```
**描述**
设置资产类型数据的状态码。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| status | 表示需要设置的状态码。详细信息可以查看[Data_AssetStatus](#data_assetstatus)。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset), [Data_AssetStatus](#data_assetstatus)
### OH_Data_Asset_SetUri()
```
int OH_Data_Asset_SetUri (Data_Asset * asset, const char * uri )
```
**描述**
设置资产类型数据在系统里的绝对路径,即URI。
**起始版本:** 11
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| asset | 表示指向[Data_Asset](#data_asset)实例的指针。 |
| name | 表示要设置的URI。 |
**返回:**
返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](_r_d_b.md#oh_rdb_errcode-1)。
**参见:**
[Data_Asset](#data_asset)