gpt4 book ai didi

c - 使用 Oracle Pro*C 从游标中获取时出错

转载 作者:行者123 更新时间:2023-12-04 06:18:22 24 4
gpt4 key购买 nike

我正在将一个 ingre C 程序转换为 Oracle Pro*C。

我创建并打开一个游标来执行 SELECT(不是 SELECT FOR UPDATE)。

现有的程序(大致)

EXEC SQL DECLARE N CURSOR for SELECT...
EXEC SQL OPEN N
EXEC SQL FETCH N INTO :new
while (sqlca.sqlcode != 100) {
// process the contents of :new
EXEC SQL FETCH N INTO :new
}
EXEC SQL CLOSE N;

当我到达 select 语句返回的最后一行时,出现错误 ORA-01002: fetch out of sequence。

我不想把我的清理代码放在我的错误处理程序中;我宁愿循环干净地退出。

最佳答案

事实上,仔 segmentation 析(我的意思是“大量的 printf()s”)表明 sqlca.sqlcode 在循环完成之前永远不会是 null 以外的任何东西。

所以我只是将循环上的条件更改为

while (sqlca.sqlcode =='\0') 

而不是
while (sqlca.sqlcode != 100)

一切都很好。

关于c - 使用 Oracle Pro*C 从游标中获取时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6932213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com