在考生文件夹下有王资数据库WAGE3,包括数据表文件:ZG(仓库号C(4),职工号C(4),工资N(4)) 设计一个

题目

在考生文件夹下有王资数据库WAGE3,包括数据表文件:ZG(仓库号C(4),职工号C(4),工资N(4))

设计一个名为TJ3的菜单,菜单中有两个菜单项“统计”和“退出”。

程序运行时,单击“统计”菜单项应完成下列操作:检索出工资低于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序。在仓库号相同的情况下再按职工号升序存放到EMPl文件中,该数据表文件和ZC数据表文件具有相同的结构。

单击“退出”菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件英下)

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在考生文件夹下有数据库“gz”,包括数据表文件:zgk(仓库编号C(4),职工编号C4),工资N(4))。设计一个名为tj的菜单,菜单中有两个菜单项“统计”和“退出”。

程序运行时,单击“统计”菜单项应完成下列操作:检索出工资大于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库编号升序排序,在仓库号相同的情况下再按职工编号升序存放到“result”文件中,该数据表文l 件和“zgk”数据表文件具有相同的结构。

单击“退出”菜单项,程序终止运行。

注意:相关数据表文件存在于考生文件夹下。


正确答案:
【考点指引】本大题主要考查利用SQL语句进行分组计算查询,在本题应了解SQL中求平均值函数AVG的使用;在菜单的设计过程中主要应注意两个菜单命令在“统计”下拉列表框中应选择的类型。
【操作步骤】
①选择【文件】→【新建】命令,选择“菜单”,单击“新建文件”按钮,再单击“菜单”按钮,打开菜单设计器,在“菜单名称”中输入“统计”,在“结果”下拉列表框中选择“过程”,单击“创建”按钮创建“统计”过程,在菜单过程代码编辑窗口中输入以下代码:
SET TALK OFF
SET SAFETY OFF
0PEN DATABASE gz
SELECT仓库编号,AVG(工资)AS pjgz FROM zgk GROUP BY仓库编号INTO CURS OR curl
SELECT zgk.*INTO TABLE result FROM zgk,curl WHERE zgk.仓库编号=curl.仓库编号and工资>= pjgz ORDER BY zgk.仓库编号,职工编号
CLOSEALL
SET SAFETY ON
SET TALK ON
关闭菜单过程代码编辑窗口回到菜单设计器。
②单击下一行,输入菜单名称“退出”,在“结果”下拉列表框中选择“命令”,在右边的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。
③选择【菜单】→【生成】命令,将菜单保存为“tj”,生成一个菜单文件“tj.mpr”。关闭菜单设计窗口,在命令窗口输入命令:DO tj.mpr,看到Visual FoxPr0的菜单栏被新建的菜单所代替,单击“退}b”菜单命令将恢复系统菜单。
④执行“统计”菜单命令后,系统自动生成新数据表文件“result.dbf”用来保存查询结果。

第2题:

在考生文件夹下有数据库“9c”,包括如下所示两个表文件:

stock(仓库编号C(4),地点C(8),面积N(4))

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

设计一个名为“CX”的菜单,菜单中有两个菜单项“统计”和“退出”。

程序运行时,单击“统计”菜单项应完成下列操作:检索出所有职工的工资都大于1100元(不包括1100元)的职工所管理的仓库信息,将结果保存在“cxj9”数据表文件中,该文件的结构和“stock”数据表文件的结构一致,并按面积升序排序。

单击“退出”菜单项,程序终止运行。

注意:相关数据表文件存在于考生文件夹下。


正确答案:
【考点指引】本大题主要考查利用SQL的多表及多条件查询来完成两个数据表之间的记录查找;在菜单的设计过程中主要是注意两个菜单命令在“统计”下拉列表框中应选择的类型。
【操作步骤】
①选择【文件】一【新建】命令,选择“菜单”,单击“新建文件”按钮,再单击“菜单”按钮,打开菜单设计器,在“菜单名称”中输入“统计”,在“结果”下拉列表框中选择“过程”,单击下一行,在“菜单名称”中输入“退出”,在“结果”下拉列表框中选择“命令”,在右边的文本框中编写命令:SET SYSMENU TO DEFAULT。
②在菜单设计器中单击选定菜单名称下刚创建的“统计”行,单击“创建”按钮创建“统计”过程。输入以下代码:
SET TALK CIFF
SET SAFETY OFF
0PEN DATABASE gc.dbc
USE stock
SELECT stock.*INTO TABLE cxjg FROM stock,
zgk WHERE stock.仓库编号=zgk.仓库编号AND
zgk.工资>1100 0RDER BY面积
CL0SE ALL
SET SAFETY ON
SET TALK ON
③在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。
④选择【菜单】→【生成】命令,将菜单保存为“CX”,生成一个菜单文件“CX.mpr”。关闭菜单设计窗口,在命令窗口输入命令:DO CX.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。

第3题:

在考生文件夹下有仓库数据库gz3,其中包括如下两个表文件:

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

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

首先在gz3库中建立工资文件数据表gj(职工号C(4),工资N(4))。设计一个名为chaxun的菜单,菜单中有两个菜单项“查询”和“退出”。程序运行时,单击“查询”应完成下列操作:检索出与供应商 S7、S4和S6都有业务联系的职工的职工号和工资,并按工资降序存放到所建立的gj文件中。单击“退出”单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)


正确答案:在命令窗口输入命令:MODIFY DATABASE gz3打开数据库设计器右击数据库选择“新建表”快捷菜单命令表名为gj保存到考生文件夹下接着在表设计器中根据题意设置两个字段的字段名、类型及宽度。 在命令窗口输入命令:CREATE MENU chaxun系统弹出一个“新建菜单”对话框在对话框中单击“菜单”按钮进入菜单设计器环境。根据题目要求首先输入两个主菜单名称“查询”和“退出”接着在“查询”菜单行的“结果”下拉框中选择“过程”选项在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“查询”菜单行中的“创建”按钮进入程序设计的编辑窗口在程序编辑器中输入如下程序段: *********“查询”菜单命令的程序设计********* SELECT DISTINCT zg.职工号zg.32资FROM zgdgd; WHERE zg.职工号=dgd.职工号; ANDzg.职工号IN; (SELECT职工号FROM dgd WHERE供应商号="S4"); AND zg.职工号IN(SELECT职工号FROM dgd WHERE供应商号="S6"); AND zg.职工号IN(SELECT职工号FROM dgd WHERE供应商号="S7"); ORDER BY zg.工资 DESC; INTO ARRAY arr INSERT INTO gi FROM ARRAY arr ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”生成一个菜单文件chaxun.mpr。关闭设计窗口在命令窗口输入命令:DOchaxun.mpr看到Visual FoxPro的菜单栏被新建的菜单所代替单击“退出”菜单命令将恢复系统菜单。 执行“查询”菜单命令后查询结果将保存到gj.dbf表中。
在命令窗口输入命令:MODIFY DATABASE gz3,打开数据库设计器,右击数据库,选择“新建表”快捷菜单命令,表名为gj保存到考生文件夹下,接着在表设计器中根据题意,设置两个字段的字段名、类型及宽度。 在命令窗口输入命令:CREATE MENU chaxun,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“查询”和“退出”,接着在“查询”菜单行的“结果”下拉框中选择“过程”选项,在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“查询”菜单行中的“创建”按钮,进入程序设计的编辑窗口,在程序编辑器中输入如下程序段: *********“查询”菜单命令的程序设计********* SELECT DISTINCT zg.职工号,zg.32资FROM zg,dgd; WHERE zg.职工号=dgd.职工号; ANDzg.职工号IN; (SELECT职工号FROM dgd WHERE供应商号="S4"); AND zg.职工号IN(SELECT职工号FROM dgd WHERE供应商号="S6"); AND zg.职工号IN(SELECT职工号FROM dgd WHERE供应商号="S7"); ORDER BY zg.工资 DESC; INTO ARRAY arr INSERT INTO gi FROM ARRAY arr ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”,生成一个菜单文件chaxun.mpr。关闭设计窗口,在命令窗口输入命令:DOchaxun.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“查询”菜单命令后,查询结果将保存到gj.dbf表中。 解析:本大题主要考查的是利用SQL中特殊运算符进行多表的联接查询,本题中可使用IN运算符进行包含查询,将查询结果写入新表时,由于表已经存在于数据库中,因此不能直接使用SQL直接输出到表的短语,但可以将结果先写入数组,然后通过数组将查询结果插入到新表由中。

第4题:

在考生文件夹下有仓库数据库CK3,包括如下所示两个表文件:

CK(仓库号C(4),城市C(8),面积N(4))

2G(仓库号C(4),职工号C(4),工资N(4))

设计一个名为ZC3的菜单,菜单中有两个菜单项“统计”和“退出”。

程序运行时,单击“统计”菜单项应完成下列操作:检索出所有职工的工资都大于。1220元的职工所管理的仓库信息,将结果保存在wh1数据表文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。

单击“退出”菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)


正确答案:利用菜单设计器定义两个菜单项在菜单名称为“统计”的菜单项的结果列中选择“过程”并通过单击“编辑”按钮打开一个窗中来添加“统计”菜单项要执行的命令。在菜单名称为“退出”的菜单项的结果列中选择“命令”并在后面的“选项”列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT “统计”菜单项要执行的程序: 首先中打开数据库文件OPEN DATABASE CK3.DBC 下面我们分析所要用到的查询语句的实现题面要求“检索出所有职工的工资都大于1220的职工所管理的仓库信息”所以得到满足以上条件的仓库号成为解答本题的关键。“所有职工的工资都大于1220的职工所管理的仓库”这个条件可以将其分解为同时满足以下两个条件的结果“仓库号不存在于职工的工资小于等于1220的职工所管理的仓库号中”并且“仓库号存在于表ZG中”而以上两个条件我们可以利用SQL轻松写出来。所以最后形成的查询语句以下:SELECT*FROM CK WHERE仓库号NOT IN(SELECT仓库号FROM ZGWHERE 工资<=1220)AND仓库号IN(SELECT仓库号FROMZG)INTO TABLE wh1. dbf。后面的INTOTABLE wh1 .dbf决定了查询的结果是生成一个wh1.dbf文件。 本题还考对查询的排序和查询的去向进行了考核可以用ORDER BY order_ Item[ASC|DESC]来让查询的结果按某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTO TABLE str Table Name而直接生成一个文件名为str Table Name的.DBF表。
利用菜单设计器定义两个菜单项,在菜单名称为“统计”的菜单项的结果列中选择“过程”,并通过单击“编辑”按钮打开一个窗中来添加“统计”菜单项要执行的命令。在菜单名称为“退出”的菜单项的结果列中选择“命令”,并在后面的“选项”列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT “统计”菜单项要执行的程序: 首先中打开数据库文件OPEN DATABASE CK3.DBC 下面我们分析所要用到的查询语句的实现,题面要求“检索出所有职工的工资都大于1220的职工所管理的仓库信息”,所以得到满足以上条件的仓库号成为解答本题的关键。“所有职工的工资都大于1220的职工所管理的仓库”这个条件可以将其分解为同时满足以下两个条件的结果“仓库号不存在于职工的工资小于等于1220的职工所管理的仓库号中”并且“仓库号存在于表ZG中”,而以上两个条件我们可以利用SQL轻松写出来。所以最后形成的查询语句以下:SELECT*FROM CK WHERE仓库号NOT IN(SELECT仓库号FROM ZGWHERE 工资<=1220)AND仓库号IN(SELECT仓库号FROMZG)INTO TABLE wh1. dbf。后面的INTOTABLE wh1 .dbf决定了查询的结果是生成一个wh1.dbf文件。 本题还考对查询的排序和查询的去向进行了考核,可以用ORDER BY order_ Item[ASC|DESC]来让查询的结果按某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTO TABLE str Table Name而直接生成一个文件名为str Table Name的.DBF表。

第5题:

在考生文件夹下有工资数据库wage3,包括数据表文件:zg(仓库号C(4),职工号C(4),工资N(4))。设计一个名为tj的菜单,菜单中有两个菜单项“统计”和“退出”。

程序运行时,单击“统计”菜单项应完成下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到empl(empl为自由表)文件中,该数据表文件和zg数据表文件具有相同的结构。

单击“退出”菜单项,程序终止运行。

(注意:相关数据表文件存在于考生文件夹下)


正确答案:在命令窗口输入命令:CREATE MENU tj系统弹出一个“新建菜单”对话框在对话框中单击“菜单”按钮进入菜单设计器环境。根据题目要求首先输入两个主菜单名称“统计”和“退出”接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序)在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“统计”菜单行中的“编辑”按钮进入程序设计的编辑窗口在程序编辑窗口中输入如下程序段: **********“统计”菜单命令的程序设计********* SET TALK OFF SET SAFETY OFF OPEN DATABASE wage3 SELECT仓库号AVG(工资)AS avggz; FROM zg; GROUP BY仓库号; INTO CURSOR curtable SELECT zg.仓库号zg.职工号zg.工资; FROM zgcurtable; WHERE zg.工资=curtable.avggz; AND zg.仓库号=curtable.仓库号; ORDER BY zg.仓库号职工号; INTO TABLE empl CLOSE ALL SET SAFETY ON SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”生成一个菜单文件tj.mpr。关闭设计窗口在命令窗口输入命令: DO tj.mpr看到Visual FoxPro的菜单栏被新建的菜单所代替单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后系统自动生成新数据表文件empl.dbf用来保存查询结果。
在命令窗口输入命令:CREATE MENU tj,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“统计”和“退出”,接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“统计”菜单行中的“编辑”按钮,进入程序设计的编辑窗口,在程序编辑窗口中输入如下程序段: **********“统计”菜单命令的程序设计********* SET TALK OFF SET SAFETY OFF OPEN DATABASE wage3 SELECT仓库号,AVG(工资)AS avggz; FROM zg; GROUP BY仓库号; INTO CURSOR curtable SELECT zg.仓库号,zg.职工号,zg.工资; FROM zg,curtable; WHERE zg.工资=curtable.avggz; AND zg.仓库号=curtable.仓库号; ORDER BY zg.仓库号,职工号; INTO TABLE empl CLOSE ALL SET SAFETY ON SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”,生成一个菜单文件tj.mpr。关闭设计窗口,在命令窗口输入命令: DO tj.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后,系统自动生成新数据表文件empl.dbf用来保存查询结果。 解析:本大题考查的主要是利用SQL语句的进行分组计算查询,在本题应了解SQL中用于求平均值的函数AVG的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。

第6题:

在考生文件夹下有仓库数据库CHAXUN3包括3个表文件:

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

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

gys(供应商号C(4),供应商名C(16),地址C(10))

设计一个名为cx3的菜单,菜单中有两个菜单项“查询”和“退出”。

程序运行时,单击“查询”应完成下列操作:检索出工资多于1230元的职工向北京的供应商发出的订购单信息,并将结果按总金额降序排列存放在order文件中。

单击“退出”菜单项,程序终止运行。

(注:相关数据库表文件存在于考生文件夹下)


正确答案:在命令窗口输入命令:CREATE MENU cx3系统弹出一个“新建菜单”对话框在对话框中单击“菜单”图形按钮进入菜单设计器环境。根据题日要求首先输入两个主菜单名称“查询”和“退出”接着在“查询”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序)在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“查询”菜单行中的“创建”按钮进入程序设计的编辑窗口输入如下程序段: **********“查询”菜单命令的程序设计********** SET TALK OFF SET SAFETY OFF SELECT*FROM dgd; WHERE; 职工号IN(SELECT 职工号 FROM zg WHERE 工资>1230); AND供应商号IN(SELECT 供应商号 FROM gys WHERE 地址="北京"); ORDER BY总金额DESC; INTO TABLE order SET SAFETY ON SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT 选择菜单命令“菜单”→“生成”生成一个菜单文件cx3.mpr。关闭设计窗口在命令窗口输入命令:DOcx3.mpr看到Visual FoxPro的菜单栏被新建的菜单所代替单击“退出”菜单命令将恢复系统菜单。 执行“查询”菜单命令后系统自动生成新数据表文件order.dbf用来保存查询结果。
在命令窗口输入命令:CREATE MENU cx3,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”图形按钮,进入菜单设计器环境。根据题日要求,首先输入两个主菜单名称“查询”和“退出”,接着在“查询”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“查询”菜单行中的“创建”按钮,进入程序设计的编辑窗口,输入如下程序段: **********“查询”菜单命令的程序设计********** SET TALK OFF SET SAFETY OFF SELECT*FROM dgd; WHERE; 职工号IN(SELECT 职工号 FROM zg WHERE 工资>1230); AND供应商号IN(SELECT 供应商号 FROM gys WHERE 地址="北京"); ORDER BY总金额DESC; INTO TABLE order SET SAFETY ON SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT 选择菜单命令“菜单”→“生成”,生成一个菜单文件cx3.mpr。关闭设计窗口,在命令窗口输入命令:DOcx3.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“查询”菜单命令后,系统自动生成新数据表文件order.dbf用来保存查询结果。 解析:本大题考查的主要是利用SQL的嵌套查询来完成多个数据库表之间的记录查找,此处应注意运算符IN的使用,以及排序短语ORDER BY的使用:在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。

第7题:

在考生文件夹下有仓库数据库ck3,包括如下所示两个表文件:

ck(仓库号C(4),城市C(8),面积N(4))

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

设计一个名为zg3的菜单,菜单中有两个菜单项“统计”和“退出”。

程序运行时,单击“统计”菜单项应完成下列操作:检索出所有职工的工资都大于1220元(不包括 1220元)的职工所管理的仓库信息,将结果保存在whl数据表(whl为自由表)文件中,该文件的结构和 ck数据表文件的结构一致,并按面积升序排序。

单击“退出”菜单项,程序终止运行。

(注意:相关数据表文件存在于考生文件夹下)


正确答案:在命令窗口输入命令:CREATE MENU zg3系统弹出一个“新建菜单”对话框在对话框中单击“菜单”按钮进入菜单设计器环境。根据题目要求首先输入两个主菜单名称“统计”和“退出”接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序)在“退出”菜单行的“结果”下拉框中选择“命令”选项如图3-11所示。 单击“统计”菜单行中的“编辑”按钮进入程序设计的编辑窗口在命令窗口中输入如下程序段: *********“统计”菜单命令的程序设计*********** SET TALK OFF SET SAFETY OFF OPEN DATABASE ck3.dbc USE ck SELECT * FROM ck WHERE 仓库号 NOT IN; (SELECT 仓库号 FROM zg WHERE 工资=1220); AND 仓库号 IN(SELECT 仓库号 FROM zg); ORDER BY面积; INTO TABLE whl.dbf CLOSE ALL SET TALK ON 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”生成一个菜单文件zg3.mpr。关闭设计窗口在命令窗口输入命令: DO zg3.mpr看到Visual FoxPro的菜单栏被新建的菜单所代替单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后系统自动生成新数据表文件whl.dbf用来保存查询结果。
在命令窗口输入命令:CREATE MENU zg3,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“统计”和“退出”,接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项,如图3-11所示。 单击“统计”菜单行中的“编辑”按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段: *********“统计”菜单命令的程序设计*********** SET TALK OFF SET SAFETY OFF OPEN DATABASE ck3.dbc USE ck SELECT * FROM ck WHERE 仓库号 NOT IN; (SELECT 仓库号 FROM zg WHERE 工资=1220); AND 仓库号 IN(SELECT 仓库号 FROM zg); ORDER BY面积; INTO TABLE whl.dbf CLOSE ALL SET TALK ON 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”,生成一个菜单文件zg3.mpr。关闭设计窗口,在命令窗口输入命令: DO zg3.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后,系统自动生成新数据表文件whl.dbf用来保存查询结果。 解析:本大题考查的主要是利用SQL的嵌套查询来完成两个数据表之间的记录查找,此处应注意运算符IN和NOT IN的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。

第8题:

在考生文件夹下有工资数据库wage3,包括数据库表文件:zg(仓库号C(4),职工号C(4),工资N(4))。设计一个名为tj的菜单,菜单中有两个菜单项“统计”和“退出”。

程序运行时,单击“统计”菜单项应完成下列操作;检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序排序,在仓库号相同的情况下再按职工号升序存放到emp1(emp1为自由表)文件中,该数据库表文件和zs数据库表文件具有相同的结构。

单击“退出”菜单项,程序终止运行。

(注意:相关数据表文件存在于考生文件夹下)


正确答案:在命令窗口输入命令:CREATE MENU tj系统弹出一个“新建菜单”对话框在对话框中单击“菜单”图形按钮进入菜单设计器环境。根据题目要求首先输入两个主菜单名称“统计”和“退出”接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序)在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“统计”菜单行中的“编辑”按钮进入程序设计的编辑窗口在程序编辑窗口中输入如下程序段: **********“统计”菜单命令的程序设计********** SET TALK OFF SET SAFETY OFF OPEN DATABASE wage3 SELECT 仓库号AVG(工资) AS avggz; FROM zg; GROUP BY 仓库号; INTO CURSOR curtable SELECT zg.仓库号zg.职工号zg.工资; FROM zgcurtable; WHERE zg.工资<=curtable.avggz; AND zg. 仓库号=curtable.仓库号; ORDER BY zg.仓库号zg.职工号; INTO TABLE emp1 CLOSE ALL SET SAFETY ON SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”→“生成”生成一个菜单文件tj.mpr。关闭设计窗口在命令窗口输入命令:DO tj.mpr看到Visual FoxPro的菜单栏被新建的菜单所代替单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后系统自动生成新数据表文件empl.dbf用来保存查询结果。
在命令窗口输入命令:CREATE MENU tj系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”图形按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“统计”和“退出”,接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“统计”菜单行中的“编辑”按钮,进入程序设计的编辑窗口,在程序编辑窗口中输入如下程序段: **********“统计”菜单命令的程序设计********** SET TALK OFF SET SAFETY OFF OPEN DATABASE wage3 SELECT 仓库号,AVG(工资) AS avggz; FROM zg; GROUP BY 仓库号; INTO CURSOR curtable SELECT zg.仓库号,zg.职工号,zg.工资; FROM zg,curtable; WHERE zg.工资<=curtable.avggz; AND zg. 仓库号=curtable.仓库号; ORDER BY zg.仓库号,zg.职工号; INTO TABLE emp1 CLOSE ALL SET SAFETY ON SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”→“生成”,生成一个菜单文件tj.mpr。关闭设计窗口,在命令窗口输入命令:DO tj.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后,系统自动生成新数据表文件empl.dbf用来保存查询结果。 解析:本大题考查的主要是利用SQL语句的进行分组汁算查询,在本题应了解SQL中用于求平均值的函数AVG的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。

第9题:

在考生文件夹下有仓库数据库GZ3包括两个表文件:

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

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

首先建立工资文件数据表:CJ3(职工号C(4),工资N(4))

设计一个名为YEWU3的菜单,菜单中有两个菜单项“查询”和“退出”。

程序运行时,单击“查询”应完成下列操作:检索出与供应商S7,S4和S6都有业务联系的职工的职工号和工资,并存放到所建立的GJ3文件中。

单击“退出”菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)


正确答案:第一步:利用莱单设计器定义两个菜单项在菜单名称为“查询”的菜单项的结果列中选择“过程”并通过单击“编辑”按钮打开一个窗口来添加“查询”菜单项要执行的命令。在菜单名称为“退出”的菜单项的结果列中选择“命令”并在后面的“选项”列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT 第二步:在单击“计算”菜单项后面的“编辑”按钮所打开的窗口中添加如下的过程代码: SET TALK OFF &&在程序运行时关闭命令结果的显示 OPEN DATABASE GZ3 &&打开数据库文件GZ3 USE DGD &&打开表DGD CREATE TABLE GJ3(职工号C(4)工资N(4)) SELECT职工号FROM DGD WHERE供应商号IN("S4""S6""S7"): GROUP BY职工号; HAVING COUNT(DISTINCT供应商号)=3; INTO CURSOR Cur Table &&SELECT SQL语句中的GROUP BY子句可以用来指定结果集的组 &&要得到"供应商号"是"S4"、"S6"或"s7"的订购单同时以订购单所在的职工员进行分组 &&并且保证每个分组里面供应商号有三个(也就是三个供应商都应有订购单);这样就得到了满 &&足条件的职工号将返回的结果集放于一个临时表Cur Table中:INTO CURSOR Cur Table SELECT ZG.职工号工资FROM ZGCur Table WHERE ZC.职工号=Cur Table.职工号: ORDER BY工资DESC; INTO ARRAY A Fields Value &&将生成的临时表与DGD表进行联接查询便可以得到满足条件的职工号和工资 &&返回的结果集放入数组A Fields Value中:INTO ARRAY A Fields Value INSERT INTO GJS FROM ARRAY A fields Value &&在新建的表中追加记录 CLOSE ALL &&关闭打开的文件 SET TALK ON &&复命令结果的显示设置 第三步:以文件名YEWU3.MNX保存菜单源文件并生成菜单运行菜单。
第一步:利用莱单设计器定义两个菜单项,在菜单名称为“查询”的菜单项的结果列中选择“过程”,并通过单击“编辑”按钮打开一个窗口来添加“查询”菜单项要执行的命令。在菜单名称为“退出”的菜单项的结果列中选择“命令”,并在后面的“选项”列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT 第二步:在单击“计算”菜单项后面的“编辑”按钮所打开的窗口中添加如下的过程代码: SET TALK OFF &&在程序运行时关闭命令结果的显示 OPEN DATABASE GZ3 &&打开数据库文件GZ3 USE DGD &&打开表DGD CREATE TABLE GJ3(职工号C(4),工资N(4)) SELECT职工号FROM DGD WHERE供应商号IN("S4","S6","S7"): GROUP BY职工号; HAVING COUNT(DISTINCT供应商号)=3; INTO CURSOR Cur Table &&SELECT SQL语句中的GROUP BY子句可以用来指定结果集的组, &&要得到"供应商号"是"S4"、"S6"或"s7"的订购单,同时以订购单所在的职工员进行分组 &&并且保证每个分组里面供应商号有三个(也就是三个供应商都应有订购单);这样就得到了满 &&足条件的职工号,将返回的结果集放于一个临时表Cur Table中:INTO CURSOR Cur Table SELECT ZG.职工号,工资FROM ZG,Cur Table WHERE ZC.职工号=Cur Table.职工号: ORDER BY工资DESC; INTO ARRAY A Fields Value &&将生成的临时表与DGD表进行联接查询,便可以得到满足条件的职工号和工资 &&返回的结果集放入数组A Fields Value中:INTO ARRAY A Fields Value INSERT INTO GJS FROM ARRAY A fields Value &&在新建的表中追加记录 CLOSE ALL &&关闭打开的文件 SET TALK ON &&复命令结果的显示设置 第三步:以文件名YEWU3.MNX保存菜单源文件,并生成菜单,运行菜单。