从类型定义结构数组中获取行
Fetching rows in a typedef struct array
我的结构定义如下:
typedef struct{
int v1;
int v2;
}INFOS_HND;
INFOS_HND hnd_list[100];
EXEC SQL BEGIN DECLARE SECTION;
char statement[200];
int current_row = 0;
EXEC SQL END DECLARE SECTION;
我在pro C/c++中使用这个语句。
snprintf(statement, sizeof(statement), "select i1, i2, from table_a");
这是我的SQL指令:
EXEC SQL PREPARE SEL_INSTR FROM :statement;
EXEC SQL DECLARE MY_CURSOR CURSOR FOR SEL_INSTR;
EXEC SQL OPEN MY_CURSOR;
EXEC SQL WHENEVER NOT FOUND DO break;
while(1){
EXEC SQL FETCH MY_CURSOR INTO :hnd_list[current_row].v1, :hnd_list[current_row].v2;
current_row++;
EXEC SQL CLOSE MY_CURSOR;
编译时,显示以下错误:
PCC-S-02322, found undefined identifier
Semantic error at line 53, column 10, file my_file:
EXEC SQL FETCH MY_CURSOR INTO :hnd_list[current_row].v1;
PCC-S-02327, struct or struct pointer required
Semantic error at line 53, column 10, file my_file:
EXEC SQL FETCH MY_CURSOR INTO :hnd_list[current_row].v1;
PCC-S-02322, found undefined identifier
Semantic error at line 53, column 30, file my_file:
EXEC SQL FETCH MY_CURSOR INTO :hnd_list[current_row].v2;
PCC-S-02327, struct or struct pointer required
Semantic error at line 53, column 30, file my_file:
EXEC SQL FETCH MY_CURSOR INTO :hnd_list[current_row].v2;
类型和变量定义在PRO*C/c++ DECLARE块外声明。所以预编译器不能解析声明。尝试将它们移动到块内,如下所示:
EXEC SQL BEGIN DECLARE SECTION;
typedef struct{
int v1;
int v2;
}INFOS_HND;
INFOS_HND hnd_list[100];
char statement[200];
int current_row = 0;
EXEC SQL END DECLARE SECTION;
相关文章:
- 如何在 nlohmann 的 json 库中获取数组长度?
- 从用户那里获取数组大小的值
- 如何在VS2019中获取数组的任意对齐?
- 我如何获取数组的大小,以便我可以从函数声明所述数组
- 根据字符获取数组的索引
- 尝试递归获取数组元素的总和
- 用于获取数组长度的指针数学
- Socket.io客户端C++,从Socket.on获取数组
- C++ nlohmann JSON 获取数组名称
- 练习循环和使用循环 1 次以及如何获取数组的最大值
- 如何在函数参数中通过引用获取数组
- 如何获取数组中字符串元素的字符数?[C++]
- 如何声明一个未知大小的数组,然后输入直到我想要,然后获取数组的大小
- 无法获取数组内数组的总和
- 尝试获取数组中的最小元素时崩溃
- 获取数组类型的无效错误
- 如何从用户获取数组输入
- 使用位集获取数组项的条件总和,而无需使用循环
- 如何以模式获取数组中的数据?
- 如何获取数组中每个数字的平方根 (C++)