#include <stdio.h>
#include <stdlib.h>
#include <sqlca.h>
#include <sqlenv.h>
int main()
{
EXEC SQL INCLUDE sqlca;
EXEC SQL BEGIN DECLARE SECTION;
char dev_md[64];
sqlint64 virtual_id = 0 ;
char ter_res[16];
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO * user * using *;
EXEC SQL SET CURRENT SCHEMA *;
EXEC SQL DECLARE CWS CURSOR FOR
select 字段,字段,字段
from *.*;
EXEC SQL OPEN CWS;
//printf("wrong_id %d\n",sqlca.sqlcode);
EXEC SQL FETCH CWS INTO :virtual_id, :dev_md, :ter_res;
printf("%d, %s, %s \n", virtual_id,dev_md,ter_res);
break;
}
}
EXEC SQL CLOSE CWS;
EXEC SQL COMMIT WORK;
EXEC SQL CONNECT RESET;
return 0;
}
#include <stdlib.h>
#include <sqlca.h>
#include <sqlenv.h>
int main()
{
EXEC SQL INCLUDE sqlca;
EXEC SQL BEGIN DECLARE SECTION;
char dev_md[64];
sqlint64 virtual_id = 0 ;
char ter_res[16];
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO * user * using *;
EXEC SQL SET CURRENT SCHEMA *;
EXEC SQL DECLARE CWS CURSOR FOR
select 字段,字段,字段
from *.*;
EXEC SQL OPEN CWS;
for(;;){
// EXEC SQL UPDATE *.* set comments = 'cwscwscws' where 字段 = 6712;
EXEC SQL UPDATE *.* set 字段 = :dev_md,字段=:ter_res where *.*.字段 = '' and *.*.字段 = :virtual_id;//printf("wrong_id %d\n",sqlca.sqlcode);
EXEC SQL FETCH CWS INTO :virtual_id, :dev_md, :ter_res;
printf("%d, %s, %s \n", virtual_id,dev_md,ter_res);
if(sqlca.sqlcode != 0){ //注意:此处的sqlcode表示上一个sql语句执行的状态,将fetch放在update之后,使得sqlcode反映的是游标的状态,如果fetch在update之前
//则返回100,表示没有记录
printf("wrong_id %d\n",sqlca.sqlcode);break;
}
}
EXEC SQL CLOSE CWS;
EXEC SQL COMMIT WORK;
EXEC SQL CONNECT RESET;
return 0;
}