Отправляю кусочек кода:
lrd_ora8_handle_alloc(OraEnv2, STMT, &OraStm33, 0);
lrd_ora8_stmt(OraStm33, "select CCODE||'-'||CNAME as name, NDOCTYPEKEY as key from "
"VDOCTYPE order by 1\n", 1, 0, 0);
lrd_ora8_attr_set(OraStm33, PREFETCH_ROWS, "0", -1, 0);
lrd_ora8_attr_set(OraStm33, PREFETCH_MEMORY, "0", -1, 0);
status = lrd_ora8_exec_and_checkStatus(-3000, OraSvc2, OraStm33, 0, 0, &uliRowsProcessed, 0, 0, 0, 0,
0);
lrd_ora8_bind_col(OraStm33, &OraDef83, 1, &NAME_D103, 0, 0);
lrd_ora8_bind_col(OraStm33, &OraDef84, 2, &KEY_D104, 0, 0);
lrd_ora8_fetch(OraStm33, -26, 100, &uliFetchedRows, PrintRow56, 2, 0,
0);
GRID8(56);
В Action везде где встречается функция lrd_ora8_exec я заменил на lrd_ora8_exec_and_checkStatus , которая выглядит следующим образом:
LRDRET lrd_ora8_exec_and_checkStatus(int check, void *mpvLRDDBIHandleSvcCtx, char *mpvLRDDBIHandleStmt, unsigned long muliTotalRows, unsigned long muliSkipRows, unsigned long *mpuliRowsProcessed, LRD_ORA8_PRINT_ROW_TYPEDEF mpfjPrintRow, void *Reserved1, void *Reserved2, long mliMode, int miDBErrorSeverity )
{ LRDRET status;
status = lrd_ora8_exec(mpvLRDDBIHandleSvcCtx, mpvLRDDBIHandleStmt, muliTotalRows, muliSkipRows, mpuliRowsProcessed, mpfjPrintRow, Reserved1, Reserved2, mliMode, miDBErrorSeverity );
if (check = -3000) {
checkError(status);
return status;
}
else{
return status;
};
};