问答题 综合应用题(1小题,计30分) 在考生文件夹下完成如下综合应用: 新建一个名为junjia的程序,完成以下功能。 ① 首先将BOOKS.DBF中所有书名中含有"计算机"3个字的图书复制到表BOOKSBAK中,以下操作均在BOOKSBAK表中完成。 ② 复制后的图书价格在原价格基础上降价5%。 ③ 从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表newtable中(字段名为出版单位和均价)。
【正确答案】在命令窗口输入命令:MODIFY COMMAND junjia,打开程序编辑窗口,编写如下程序: ***********文件junjia.prg的程序段********** OPEN DATABASE BOOKAUTH && 将BOOKS中的所有书名中含有"计算机"3个字的图书复制到表BOOKSBAK中 SELECT * FROM BOOKS WHERE AT("计算机",书名)>0; INTO TABLE BOOKSBAK && 价格在原价格基础上降价5% UPDATE BOOKSBAK SET 价格=价格*0.95 && 查询出各个图书的均价放到临时表中 SELECT 出版单位,AVG(价格) AS 均价; FROM BOOKSBAK INTO CURSOR CURSOR1 ; GROUP BY 出版单位ORDER BY均价 && 在临时表中查询均价高于25的图书中价格最低的出版社名称和均价 SELECT * TOP 1 FROM CURSOR1 WHERE 均价>=25 INTO TABLE newtable; ORDER BY 均价 ****************************************** 保存文件,在命令窗口输入命令:DO junjia,运行程序。结果如图所示。
【答案解析】本大题的程序设计中,复制表记录可使用SQL查询来实现,将所有记录复制到一个新表中,利用UPDATE语句,可更新数据表中的记录,最后统计"均价"的时候,首先可以将查询结果存入一个临时表中,然后再利用SQL语句对临时表中的记录进行对应操作,将结果存入指定的数据表中。