问题详情

在考生文件夹下有仓库数据库“stock”,其中包括如下3 个表文件:

zgk(仓库编号C(4),职工编号C(4),工资N(4))

dgk(职工编号C(4),供应商号C(4),订购单号C(4),订购日期D,总金额N(10))

wage(职工编号c(4),工资N(4))。

设计一个名为“CX”的菜单,菜单中有两个菜单项“查询”和“退出”。程序运行时,单击“查询”应完成下列操作:检索出与供应商0001、0002和0003都有业务联系的职工的职工编号和工资,并按工资降序存放到所建立的“wage”表中。单击“退出”单项,程序终止运行。

参考答案
正确答案:【考点指引】本大题主要考查利用SQL中特殊运算符进行多表的连接查询,本题中可使用IN运算符进行包含查询,将查询结果写入新表时,由于表已经存在于数据库中,因此不能直接使用SQL直接输出到表的短语,但可以将结果先写入数组,然后通过数组将查询结果插入到新表“wage”中。【操作步骤】①选择【文件】→【新建】命令,选择“菜单”,单击“新建文件”按钮,再单击“菜单”按钮,打开菜单设计器,在“菜单名称”中输入“查询”,在“结果”下拉列表框中选择“过程”,单击下一行,在“菜单名称”中输入“退出”,在“结果”下拉列表框中选择“命令”,在右边的文本框中编写命令:SET SYSMENU TO DEFAULT。②在菜单设计器中单击选定菜单名称下刚创建的“查询”行,单击“创建”按钮创建“查询”过程。编写以下代码:SET TALK OFFSET SAFETY OFFOPEN DATABASE stockSELECT DISTINCT zgk.职工编号,工资INTO ARRAY aResult FROM zgk,dgk WHERE zgk.职工编号=dgk.职工编号AND供应商号IN("0001","0002","0003")0RDER BY工资DESCINSERT INTO WAGE FROM ARRAY aResultCl0SE ALLSET SAFETY ONSET TALK ON③选择【菜单】→【生成】命令,将菜单保存为“cx”,生成一个菜单文件“cx.mpr”。关闭菜单设计窗口,在命令窗口输入命令:DO cx.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。④执行“查询”菜单命令后,系统自动将查询结果保存在所建立的薪数据表文件“wage.dbf”中。
您可能感兴趣的试题