读书人

proc 出现SELECT.INTO returns too ma

发布时间: 2012-10-13 11:38:17 作者: rapoo

proc 出现SELECT..INTO returns too many rows

EXEC SQL BEGIN DECLARE SECTION;

char CATYPE[20+1];
char CAFEE[12];
char CAPSINF[60+1];
char CABILL[17];
char CACHECK[8];

EXEC SQL END DECLARE SECTION;
上面是定义的宿主变量

EXEC SQL DECLARE TRAN_CURSOR CURSOR FOR SELECT BUSITYPE,CHECKFEE,PSINF,BILLDATES
FROM TRANCHECKREPORT WHERE CHECKDATE=:CACHECK;
这个是cursor定义

EXEC SQL SELECT BUSITYPE,CHECKFEE,PSINF,BILLDATES INTO:CATYPE,:CAFEE,:CAPSINF,:CABILL
FROM TRANCHECKREPORT ;
这个是取数据语句
找不到上面原因。。。。

[解决办法]

C/C++ code
/* 声明游标 */EXEC SQL DECLARE TRAN_CURSOR CURSOR FOR SELECT BUSITYPE,CHECKFEE,PSINF,BILLDATES  FROM TRANCHECKREPORT WHERE CHECKDATE=:CACHECK;/* 打开游标 */EXEC SQL OPEN TRAN_CURSOR;/* 循环取数 */for (;;) {    EXEC SQL FETCH TRAN_CURSOR INTO :CATYPE,:CAFEE,:CAPSINF,:CABILL;    if (SQLCODE == 1403) {        /* 没有数据啦 */        break;    }}/* 关闭游标 */EXEC SQL CLOSE TRAN_CURSOR; 

读书人网 >C语言

热点推荐