李宗伟用的手胶:proC多行查询

来源:百度文库 编辑:高校问答 时间:2024/05/05 13:52:38
void mulselect()
{
EXEC SQL BEGIN DECLARE SECTION;

char author_code[20];
char name[20];
float salary;
EXEC SQL END DECLARE SECTION;
printf("输入作者号\n");
gets(author_code);
EXEC SQL INCLUDE sqlca;
EXEC SQL DECLARE SX CURSOR FOR

SELECT author_code,name,salary
FROM author
WHERE author_code=:author_code;

EXEC SQL OPEN SX;

printf("\n作家代码\t作家姓名\t作家工资\n");
printf("--------\t--------\t--------\n");

for(;;)
{

/*EXEC SQL WHENEVER NOT FOUND DO break;*/
EXEC SQL FETCH SX INTO:author_code,:name,:salary;
if(sqlca.sqlcode<>SUCCESS)
break;
printf("%8s\t%8s\t%8.2f\n",author_code,name,salary);

}
EXEC SQL CLOSE SX;
printf("Have a good day!");

}

如果使用EXEC SQL WHENEVER NOT FOUND DO break;
读出的数据停不下来,一直刷屏,而且是乱码

如果是if(sqlca.sqlcode<>SUCCESS)
break;
系统就报错syntax error : '>'