EXEC SQL BEGIN DECLARE SECTION;
varchar deptname[64];
varchar HSno[64];
varchar HSname[64];
varchar HSsex[64];
int HSage;
int NEWAGE;
EXEC SQL END DECLARE SECTION;
long SQLCODE;
EXEC SQL INCLUDE sqlca;
int main(void)
{
int count = 0;
char yn;
printf("Please choose the department name(CS/MA/IS):");
scanf("%s",&deptname);
EXEC SQL CONNECT TO TEXT@CHONG:54321 USER "SYSTEM"/"MANAGER";
EXEC SQL DECLARE SX CURSOR FOR
SELECT Sno,Sname,Ssex,Sage
FROM Student
WHERE SDept =:deptname;
EXEC SQL OPEN SX;
for(;;)
{
EXEC SQL FETCH SX INTO :HSno,:HSname,:HSsex,:HSage;
if(sqlca.sqlcode!=0)
break;
if(count++=0)
printf("\n%-10s%-20s%-10s%-10s%\n","Sno","Sname","Ssex","Sage");
printf("%-10s%-20s%-10s%-10d\n",HSno,HSname,HSsex,HSage);
printf("UPDATEAGE(y/n)?");
do
{
scanf("%c",&yn);
}while(yn!='N'&&yn!='n'&&yn!='Y'&&yn!='y'); if(yn == 'y'||yn == 'Y')
{
printf("INPUT NEW AGE:");
scanf("%d",&NEWAGE);
EXEC SQL UPDATE Student
SET Sage = :NEWAGE
WHERE  CURRENT OF SX;
}
}
EXEC SQL CLOSE SX;
EXEC SQL COMMIT WORK;
EXEC SQL DISCONNECT TEST
}