//定义
char v_task_id[13];
char dynstmttask[200];strcpy(dynstmttask.arr, "SELECT trim(a.id) FROM TASK a, plan c WHERE a.state_date<sysdate AND ROWNUM<=100;");
EXEC SQL PREPARE vtaskids FROM :dynstmttask;
EXEC SQL DECLARE v_task_ids CURSOR FOR vtaskids;
EXEC SQL OPEN v_task_ids;
//初始化
memset(v_task_id,0,sizeof(v_task_id));
EXEC SQL FETCH v_task_ids INTO v_task_id;v_task_id 就是取不到任何值。问题何在??
char v_task_id[13];
char dynstmttask[200];strcpy(dynstmttask.arr, "SELECT trim(a.id) FROM TASK a, plan c WHERE a.state_date<sysdate AND ROWNUM<=100;");
EXEC SQL PREPARE vtaskids FROM :dynstmttask;
EXEC SQL DECLARE v_task_ids CURSOR FOR vtaskids;
EXEC SQL OPEN v_task_ids;
//初始化
memset(v_task_id,0,sizeof(v_task_id));
EXEC SQL FETCH v_task_ids INTO v_task_id;v_task_id 就是取不到任何值。问题何在??
sql_cursor emp_cursor;
...
EXEC ORACLE OPTION(select_error=no);
EXEC SQL
SELECT CURSOR(SELECT ename FROM emp WHERE deptno = :dept_num)
INTO :emp_cursor FROM DUAL;
EXEC ORACLE OPTION(select_error=yes);试试这个.
等其他人来看看.