(1)用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SQL语句粘贴在SQL.TXT文件的第二行(只占一行)。 (2)modi.prg程序的功能是:先为“学生”表增加一个“平

admin2013-03-18  21

问题  (1)用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SQL语句粘贴在SQL.TXT文件的第二行(只占一行)。
(2)modi.prg程序的功能是:先为“学生”表增加一个“平均成绩”字段,数据类型为N(6,2):然后根据“选课”表统计每个学生的平均成绩,并写入新添加的字段。
该程序有三处错误,请改正,使程序能正确运行(在指定处修改,不允许增加或删除程序行)。

选项

答案(1)①在命令窗口输入如下SQL查询代码(以下SQL查询语句是通过查询设计器生成): SELECT 学生.姓名; FROM 成绩管理!学生 INNER JOIN成绩管理!选课; ON 学生.学号=选课.学号; WHERE 选课.成绩>=70; ORDER BY 学生.姓名; GROUP BY 学生.学号; HAVING COUNT(选课.课程号)>=3; INTO TABLE results.dbf ②在命令窗口执行命令:MODIFY FILE SQL,打开文本文件编辑器。将命令窗口的查询语句复制到SQL文本文件中。 (2)步骤1:在命令窗口执行命令:MODIFY COMMAND modi,打开程序文件,文件中的命令代码如下: CLOSE ALL OPEN DATABASE 成绩管理 USE 选课 IN 0 USE 学生 EXCL IN 0 *****Error***** DO WHILE EOF() SELECT AVG(成绩)FROM选课WHERE学号=学生.学号INTO ARRAY cj *********Error********* REPLACE 平均成绩=cj[1] cj[1]=0 SKIP ENDDO CLOSE DATABASE 修改程序中的错误行,修改后的程序如下: CLOSE ALL OPEN DATABASE 成绩管理 USE 选课IN 0 USE 学生EXCL IN 0 ALTER TABLE 学生 ADD 平均成绩N(6,2) SELECT 学生 DO WHILE NOT EOF() SELECT AVG(成绩)FROM选课WHERE学号=学生.学号INTO ARRAY cj REPLACE 平均成绩 WITH cj[1] cj[1]=0 SKIP ENDDO CLOSE DATABASE 步骤2:保存文件修改,在命令窗口执行命令:DO MODI,执行程序文件。

解析
转载请注明原文地址:https://kaotiyun.com/show/AVsp777K
0

最新回复(0)