我用 C 编写了以下代码:
EXEC SQL begin declare section;
int A;
char B[5];
int C;
int D;
dtime_t E;
char F[13];
EXEC SQL END DECLARE SECTION;
char E_dt[16];
D=0;
memset(F, 0, sizeof(F));
EXEC SQL declare log3 cursor for select A, B, C, D, E, F from tbl WHERE C=123;
if(sqlca.sqlcode)
{
return;
}
EXEC SQL fetch log3
into
:A, :B, :C, :D, :E, :F,
if(sqlca.sqlcode)
{
if (sqlca.sqlcode != DB_NORECORDS)
{
return;
}
break;
}
当我们运行这段代码时,表 tbl 中 F 的值为 Null。它给出了错误代码 1405。我尝试使用 memset 函数将其默认值设置为 0。但它不起作用。还有一件事我可以一次获取超过 90 个字段,当我试图这样做时,它在编译时给了我总线错误。提前谢谢请帮帮我。