问题 多项选择题

综合应用题(1小题,计30分)现有医院数据库doct3,包括3个表文件:yisheng.dbf(医生)、yao.dbf(药品)、chufang.dbf(处方)。设计一个名为chufang3的菜单,菜单中有两个菜单项"查询"和"退出"。程序运行时,单击"查询"应完成下列操作: 查询同一处方中,包含"感冒"两个字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方号升序排序存入jg9资料表中。jg9的结构为(姓名,年龄,处方号,药名,生产厂)。最后统计这些医生的人数(注意不是人次数),并在jg9中追加一条记录,将人数填入该记录的处方号字段中。单击"退出"菜单项,程序终止运行。(注:相关资料表文件存在于考生文件夹下)

答案

参考答案:在命令窗口输入命令:CREATE MENU chufangC,系统弹出一个"新建菜单"对话框,在对话框中单击"菜单"图形按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称"查询"和"退出",接着在"查询"菜单行的"结果"下拉列表中选择"过程"选项(用于编写程序),在"退出"菜单行的"结果"下拉列表中选择"命令"选项。单击"查询"菜单行中的"查询"按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段:*********"查询"菜单命令的程序设计***********SET TALK OFFSET SAFETY OFFSELECT 姓名,年龄,处方号,药名,生产厂;FROM yisheng,yao,chufang ;WHERE chufang.药编号=yao.药编号;AND chufang.职工号=yisheng.职工号 AND 药名 IN ("感冒");ORDER BY 处方号;INTO TABLE jgISELECT * FROM jgI GROUP BY 姓名 INTO cursor curtableCOUNT TO JINSERT INTO jgI (处方号) VALUES (J)SET TALK ONSET SAFETY ON**********************************************在"退出"菜单项的"命令"文本框中编写程序代码:SET SYSMENU TO DEFAULT。选择菜单命令"菜单"-"生成",生成一个菜单文件chufangC.mpr。关闭设计窗口,在命令窗口输入命令:DO chufangC.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击"退出"菜单命令将恢复系统菜单。执行"查询"菜单命令后,系统将查询结果自动保存到表jgI.dbf中。

解析:本大题考查的主要是利用SQL语句进行多表查询,其中只要注意每两个表之间进行的关联字段即可,部分语句可以参考第二大题2小题的设计,最后还要注意的是人数的统计,因为要统计的人数,不是人次数,因此可以通过姓名字段的排序,将排序结果存放到一个临时表中,然后通过COUNT函数统计出人数(此函数不统计相邻的重复出现的数据)。

问答题 简答题
单项选择题