• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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