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