【正确答案】正确答案:(1)【操作步骤】步骤1:在命令窗口执行命令
:MODIFY COMMAND modil,
打开程序文件,文件中的命令代码如下: SET TALK OFF USE Student LOCATE FOR政治面目=“群众” *****************error******************** DO WHILE .NOT.FOUND() IF性别=“男” CONTINUE *******************error******************* BREAK ENDIF ?姓名,班级 **************error**************** SKIP ENDDO USE SET TALK ON 修改程序中的错误行,修改后的程序如下: SET TALK OFF USE Student &&打开student表 LOCATE FOR政治面目=“群众”&&查找当前记录的“政治面目”为“群众” DO WHILE FOUND() &&循环条件为找到、、政治面目“为”群众”的记录时进入循环 IF性别=“男” &&如果性别为“女”,继续执行下面的语句,否则执行ENDIF语句之后的语句 CONT INUE &&返回到循环体起始位置继续重新判断下一条记录“政治面目”值是否为“群众” LOOP &&返回到循环体起始位置,即DOWHILE处重新判断,不再执行后面的语句 ENDIF &&当TF处条件不成立时,直接执行该语句后面的命令 ?姓名,班级 &&当前面的IF条件语句不成立时,执行该语句,显示当前记录的“姓名”和“班级”值 CONTINUE&&返回到循环体起始位置继续重新判断下一条记录“政治面目”值是否为、“群众” ENDDO &&当DO WHILE处条件不成立时,直接退 出循环体,执行该语句后面的命令 USE &&关闭当前打开的表 SET TALK ON 步骤2:保存文件修改,在命令窗口执行命令:
DOmod11.prg
,执行程序文件。 (2)【操作步骤】 步骤1:在命令窗口执行命令:
MODIFY COMMANDsprog
,打开程序文件编辑器。 步骤2:在程序文件编辑器中输入如下代码(相关SQL查询语句是通过查询设计器生成): UPDATE student SET年龄=YEAR(DATE())^YEAR(出生日期)SELECT STUDENT.政治面目,COUNT(STUDENT.学号)AS人数,AVG(STUDENT,年龄)AS平均年龄; FROM Student; GROUP BY Student.政治面目; INTO TABLE sqlresults.dbf 步骤3:保存文件修改,在命令窗口执行命令:
DO sprog.prg,
执行程序文件。