文档详情

数据库编程.ppt

发布:2017-09-29约字共43页下载文档
文本预览下载声明
* 例题(续) WHILE(1) {/* 用循环结构逐条处理结果集中的记录 */ EXEC SQL FETCH SX INTO :HSno, :HSname, :HSsex, :HSage; /* 将游标指针向前推进一行,然后从结果集 中取当前行,送相应主变量*/ * 例题(续) if (sqlca.sqlcode SUCCESS) break;   /* 若所有查询结果均已处理完或 出现SQL语句错误,则退出循环 */ printf(%s, %s, %s, %d, HSno, HSname, HSsex, HSage); /* 显示该记录 */ printf(UPDATE AGE ? ); /* 问用户是否要修改 */ scanf(%c,yn); * 例题(续) if (yn=y or yn=Y) /* 需要修改 */ { printf(INPUT NEW AGE: ); scanf(%d,NEWAge); /* 输入新的年龄值 */ EXEC SQL UPDATE Student SET Sage=:NEWAge WHERE CURRENT OF SX; /* 修改当前记录的年龄字段 */ }; * 例题(续) ...... ...... }; EXEC SQL CLOSE SX; /* 关闭游标 */ ...... ...... * 例题(续) 例4 对某个系的学生信息,根据用户的要求删除其中某些人的记录。 ...... EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; ...... /* 说明主变量 deptname,HSno,HSname,HSsex,HSage等*/ EXEC SQL END DECLARE SECTION; ...... gets(deptname); /* 为主变量deptname赋值 */ ...... * 例题(续) EXEC SQL DECLARE SX CURSOR FOR SELECT Sno, Sname, Ssex, Sage FROM Student WHERE SDept=:deptname FOR UPDATE; /* 说明游标 */ EXEC SQL OPEN SX /* 打开游标 */ * 例题(续) WHILE(1){ /* 用循环结构逐条处理结果集中的记录 */ EXEC SQL FETCH SX INTO :HSno, :HSname, :HSsex, :HSage; /* 将游标指针向前推进一行,然后从结 果集中取当前行,送相应主变量*/ * 例题(续) if (sqlca.sqlcode SUCCESS) break;   /* 若所有查询结果均已处理完或 出现SQL语句错误,则退出循环 */ printf(%s, %s, %s, %d, HSno, HSname, HSsex, HSage); /* 显示该记录 */ * 例题(续) printf(DELETE ? ); /* 问用户是否要删除 */ scan
显示全部
相似文档