• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# oh_cursor.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_cursor.h>
14
15**库:** libnative_rdb_ndk.z.so
16
17**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
18
19**起始版本:** 10
20
21**相关模块:** [RDB](capi-rdb.md)
22
23## 汇总
24
25### 结构体
26
27| 名称                           | typedef关键字 | 描述                                                         |
28| ------------------------------ | ------------- | ------------------------------------------------------------ |
29| [OH_Cursor](capi-rdb-oh-cursor.md) | OH_Cursor     | 提供通过查询数据库生成的数据库结果集的访问方法。结果集是指用户调用关系型数据库查询接口之后返回的结果集合,提供了多种灵活的数据访问方式,以便用户获取各项数据。 |
30
31### 函数
32
33| 名称                                                         | 描述                                       |
34| ------------------------------------------------------------ | ------------------------------------------ |
35| [int OH_Cursor_GetFloatVectorCount(OH_Cursor *cursor, int32_t columnIndex, size_t *length)](#oh_cursor_getfloatvectorcount) | 获取当前行中指定列的浮点数数组大小。       |
36| [int OH_Cursor_GetFloatVector(OH_Cursor *cursor, int32_t columnIndex, float *val, size_t inLen, size_t *outLen)](#oh_cursor_getfloatvector) | 以浮点数数组的形式获取当前行中指定列的值。 |
37
38## 函数说明
39
40### OH_Cursor_GetFloatVectorCount()
41
42```
43int OH_Cursor_GetFloatVectorCount(OH_Cursor *cursor, int32_t columnIndex, size_t *length)
44```
45
46**描述**
47
48获取当前行中指定列的浮点数数组大小。
49
50**起始版本:** 18
51
52
53**参数:**
54
55| 参数项                                 | 描述                                                         |
56| -------------------------------------- | ------------------------------------------------------------ |
57| [OH_Cursor](capi-rdb-oh-cursor.md) *cursor | 表示指向[OH_Cursor](capi-rdb-oh-cursor.md)实例的指针。           |
58| int32_t columnIndex                    | 表示结果集中指定列的索引,索引值从0开始。                    |
59| size_t *length                         | 该参数是输出参数,结果集中指定列的浮点数数组大小会写入该变量。 |
60
61**返回:**
62
63| 类型 | 说明                                                         |
64| ---- | ------------------------------------------------------------ |
65| int  | 返回执行结果。<br>返回RDB_OK表示成功。<br>返回RDB_E_ERROR表示数据库常见错误。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_SQLITE_CORRUPT表示数据库损坏。<br>返回RDB_E_STEP_RESULT_CLOSED表示查询到的结果集已经关闭。<br>返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。<br>返回RDB_E_SQLITE_PERM表示SQLite错误: 访问权限被拒绝。<br>返回RDB_E_SQLITE_BUSY表示SQLite错误: 数据库文件被锁定。<br>返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。<br>返回RDB_E_SQLITE_NOMEM表示SQLite错误: 数据库内存不足。<br>返回RDB_E_SQLITE_IOERR表示SQLite错误: 磁盘I/O错误。<br>返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。<br>返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 |
66
67### OH_Cursor_GetFloatVector()
68
69```
70int OH_Cursor_GetFloatVector(OH_Cursor *cursor, int32_t columnIndex, float *val, size_t inLen, size_t *outLen)
71```
72
73**描述**
74
75以浮点数数组的形式获取当前行中指定列的值。
76
77**起始版本:** 18
78
79
80**参数:**
81
82| 参数项                                 | 描述                                                         |
83| -------------------------------------- | ------------------------------------------------------------ |
84| [OH_Cursor](capi-rdb-oh-cursor.md) *cursor | 表示指向[OH_Cursor](capi-rdb-oh-cursor.md)实例的指针。           |
85| int32_t columnIndex                    | 表示结果集中指定列的索引,索引值从0开始。                    |
86| float *val                             | 该参数是输出参数,结果集中指定列的值会以浮点数数组形式写入该变量,调用者需要申请数组内存。 |
87| size_t inLen                           | 表示申请的浮点数数组大小。                                   |
88| size_t *outLen                         | 该参数是输出参数,表示实际浮点数数组的大小。                 |
89
90**返回:**
91
92| 类型 | 说明                                                         |
93| ---- | ------------------------------------------------------------ |
94| int  | 返回执行结果。<br>返回RDB_OK表示成功。<br>返回RDB_E_ERROR表示数据库常见错误。<br>返回RDB_E_INVALID_ARGS表示无效参数。<br>返回RDB_E_SQLITE_CORRUPT表示数据库损坏。<br>返回RDB_E_STEP_RESULT_CLOSED表示查询到的结果集已经关闭。<br>返回RDB_E_ALREADY_CLOSED表示数据库已经关闭。<br>返回RDB_E_SQLITE_PERM表示SQLite错误: 访问权限被拒绝。<br>返回RDB_E_SQLITE_BUSY表示SQLite错误: 数据库文件被锁定。<br>返回RDB_E_SQLITE_LOCKED表示SQLite错误码:数据库中的表被锁定。<br>返回RDB_E_SQLITE_NOMEM表示SQLite错误: 数据库内存不足。<br>返回RDB_E_SQLITE_IOERR表示SQLite错误: 磁盘I/O错误。<br>返回RDB_E_SQLITE_TOO_BIG表示SQLite错误码:TEXT或BLOB超出大小限制。<br>返回RDB_E_SQLITE_MISMATCH表示SQLite错误码:数据类型不匹配。 |
95
96
97
98