关于informix的rowid问题,请大侠解决,谢谢!
RS/6000 AIX 环境下 Esql:
请教各位大侠:
程序的流程是这样的,
EXEC SQL DECLARE rs10_cur CURSOR FOR
SELECT rowid,*
FROM rspf10
WHERE ... FOR UPDATE;
EXEC SQL OPEN rs10_cur;
for(;;) {
EXEC SQL FETCH rs10_cur INTO :VSrowid,:Rspf10;
if (SQLCODE == SQLNOTFOUND) break;
if (SQLCODE != 0) return 300;
strcpy(Rspf10.rs10acno,PP1030);
EXEC SQL UPDATE rspf10 SET *=(:Rspf10)
WHERE rowid = :VSrowid;
}
表中只有一条记录,当修改成功后,循环并未退出,而是将修改后的记录又
读了出来,循环了两次。