EXEC SQL DECLARE Cur_TranRec CURSOR for
SELECT MessType,Account,TranAmount,TranNum,ClientTime,ClientDate,IdenCode,PosCkNum,ResePrivate,DevID,POSScNum
FROM PosTranRec
WHERE MessType ="0200"
ORDER BY ClientDate;
if(SQLCODE){
printf("Error declare Cur_TranRec SQLCODE=[%d]\n",SQLCODE);
return -1;
}
EXEC SQL OPEN Cur_TranRec;
while(1){
EXEC SQL FETCH Cur_TranRec INTO
:spMsgType,:spAccountNo,:spTranAmt,:spClientTraceNum,:spClientTime,:spClientDate,:spAcqID,:spPOSCkNum,:spBatchNo,:spDevID,:spPOSScNum;
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n \n",spMsgType,spAccountNo,spTranAmt,spClientTraceNum,spClientTime,spClientDate,spAcqID,spPOSCkNum,spBatchNo,spDevID,spPOSScNum);
if(sqlca.sqlcode ==1403){
printf( "ERROR FETCH Cur_TranRec SQLCODE[%d]\n",SQLCODE);
EXEC SQL CLOSE Cur_TranRec;
break;
}
else{
if(sqlca.sqlcode != 0){
printf( "ERROR FETCH Cur_TranRec SQLCODE[%d]\n",SQLCODE);
EXEC SQL CLOSE Cur_TranRec;
TSPDbclose();
break;
}
}
报错1002 求助了
SELECT MessType,Account,TranAmount,TranNum,ClientTime,ClientDate,IdenCode,PosCkNum,ResePrivate,DevID,POSScNum
FROM PosTranRec
WHERE MessType ="0200"
ORDER BY ClientDate;
if(SQLCODE){
printf("Error declare Cur_TranRec SQLCODE=[%d]\n",SQLCODE);
return -1;
}
EXEC SQL OPEN Cur_TranRec;
while(1){
EXEC SQL FETCH Cur_TranRec INTO
:spMsgType,:spAccountNo,:spTranAmt,:spClientTraceNum,:spClientTime,:spClientDate,:spAcqID,:spPOSCkNum,:spBatchNo,:spDevID,:spPOSScNum;
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n \n",spMsgType,spAccountNo,spTranAmt,spClientTraceNum,spClientTime,spClientDate,spAcqID,spPOSCkNum,spBatchNo,spDevID,spPOSScNum);
if(sqlca.sqlcode ==1403){
printf( "ERROR FETCH Cur_TranRec SQLCODE[%d]\n",SQLCODE);
EXEC SQL CLOSE Cur_TranRec;
break;
}
else{
if(sqlca.sqlcode != 0){
printf( "ERROR FETCH Cur_TranRec SQLCODE[%d]\n",SQLCODE);
EXEC SQL CLOSE Cur_TranRec;
TSPDbclose();
break;
}
}
报错1002 求助了
if(sqlca.sqlcode ==1403||sqlca.sqlcode == 100){
}
如果没有问题,说明你的proc预编译模式错了。