以下SQL代码尚未执行。不知道为什么?
printf("id value: %s \n" ,Id);
EXEC SQL WHENEVER NOT FOUND CONTINUE;
EXEC SQL at DB_NAME EXECUTE
BEGIN
PACK.get_data(:Id, :intSQLCode, :intSQLCount, :fund_cursor);
END;
END-EXEC;
printf( " from SP: %d \n", intSQLCode);
printf(lmsg, "from SP: %d \n", intSQLCount);
GetRowCnt = intSQLCount;
if (GetRowCnt == 0)
{
GetRowCnt = 9;
}
if (sqlca.sqlcode != 0)
{
printf("call failed - SQL Code:%d \n",
(int)sqlca.sqlcode);
intReturn = sqlca.sqlcode;
return (intReturn);
}
if (intSQLCode != 0)
{
printf("returned failure code:%d \n",intSQLCode);
intReturn = intSQLCode;
return(intReturn);
}
从上面的代码:第一行代码Id值printf行正在执行,它正在打印ID值:FIRST
之后没有任何代码没有执行工具,我没有看到任何错误/任何错误处理中的printf语句。
我在示例程序中编写了相同的代码进行测试,它正在执行,一切都很好。但在应用程序中,相同的代码不执行而不打印任何内容。