一个名为XS3的菜单,菜单中有两个菜单项"计算"和"退出"。 程序运行时,单击"计算"菜单项应完成下列操作: 将所有选修了"计算机基础"的学生的"计算机基础"成绩,按成绩由高到低的顺序填到成绩表文件CJB.DBF中(事前须将文件中原有数据清空)。单击"退出"菜单项,请使用SET SYSMENU TO DEFAULT命令使程序终止运行。(注:相关数据表文件存在于考生文件夹下)
基本操作题答案:(注意:文本文件易生成错)
1、select * from stock_sl into table stock_bk
2、insert into stock_bk value("600028", 4.36, 4.60, 5500)
3、update stock_bk set 现价=8.88 where 股票代码="600007"
4、delete from stock_bk where 股票代码="600000"
简单应用题提示: 1、可用设计器做,也可用命令做。 2、set sysmenu to default 不能简写,原样照抄。第1小题命令如下:
create view score_view as sele * from score2 where 积分<=1500
sele * from score_view order by 积分 into table v2
综合应用题答案:
“计算”菜单项的过程代码为:
close all
sele xs.学号,班级,姓名,课程名,成绩 from xs,cj where xs.学号=cj.学号 and 课程名="计算机基础" order by 成绩 ;
desc into array aaa
delete from cjb
insert into cjb from array aaa
“退出”菜单项的命令代码为: set sysmenu to default
第 2 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作(在"成绩管理"数据库中完成):
1、为"学生"表在"学号"字段上建立升序主索引,索引名和索引表达式均为学号。
2、为"学生"表的"性别"字段定义有效性规则,规则表达式为:性别$"男女",出错提示信息是:"性别必须是男或女"。
3、在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型为"日期型"(修改表结构)。
4、用SQL的UPDATE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该语句粘贴在SQL2.TXT文件中(第一行、只占一行)。
二、简单应用(2小题,每题20分,计40分)
1、根据考生文件夹下的txl表和jsh表建立一个查询query2,查询出单位是"南京大学" 的所有教师的姓名、职称、电话,要求查询去向是表,表名是query2.dbf,并执行该查询。
2、建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和cmdout,标题分别为"进入"和"退出"。
三、综合应用(1小题,计30分)
在考生文件夹下有仓库数据库CK3,包括如下所示两个表文件: CK(仓库号C(4),城市C(8),面积N(4));ZG(仓库号C(4),职工号C(4),工资N(4))。设计一个名为ZG3的菜单,菜单中有两个菜单项"统计"和"退出"。程序运行时,单击"统计"菜单项应完成下列操作:检索出所有职工的工资都大于1220元的职工所管理的仓库信息,将结果保存在wh1数据表(WH1为自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。单击"退出"菜单项,请使用SET SYSMENU TO DEFAULT命令使程序终止运行。(注:相关数据表文件存在于考生文件夹下) 基本操作题答案:
4、UPDA 学生 SET 出生日期={^1983-05-01} WHER 姓名="王三风"
简单应用题提示: 本题必须用设计器做要注意二点, 1 选表必须先选jsh表,后选txl表; 选字段必须按次序选jsh.姓名,jsh.职称,txl.电话。其它情况均不得分,请务必注意。
综合应用题答案:
“统计”菜单项的过程代码为:
Clos all
SELECT * FROM CK WHERE 仓库号 NOT IN (SELECT 仓库号 FROM ZG WHERE 工资<=1220) AND 仓库号 IN (SELECT 仓库号 FROM ZG);
ORDER BY 面积 INTO TABLE wh1
“退出”菜单项的命令代码为:SET SYSMENU TO DEFAULT (原样抄命令,不能省)
第 3 套
一、基本操作(共四小题,第1和2题是7分、第3和4题是8分)
1、请在考生文件夹下建立一个数据库KS4。
2、将考生文件夹下的自由表STUD、COUR、SCOR加入到数据库KS4中。
3、为STUD表建立主索引,索引名和索引表达式均为学号;为COUR表建立主索引,索引名和索引表达式均为课程编号;
为SCOR表建立两个普通索引,其中一个索引名和索引表达式均为学号;另一个索引名和索引表达式均为课程编号。
4、在以上建立的各个索引的基础上为三个表建立联系。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和COURSE。利用SQL语句查询选修了"网络工程"课程的学生的全部信息,并将结果按学号降序存放在NETP.DBF文件中(库的结构同STUDENT,并在其后加入课程号和课程名字段)。
2、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT,使用一对多报表向导制作一个名为CJ2的报表,存放在考生文件夹中要求:选择父表STUDENT 表中学号和姓名字段,从子表SCORE中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为"学生成绩表"。
三、综合应用(1小题,计30分)
在考生文件夹下有工资数据库WAGE3,包括数据表文件: ZG(仓库号C(4),职工号C(4),工资N(4))。 设计一个名为TJ3的菜单,菜单中有两个菜单项"统计"和"退出"。 程序运行时,单击"统计"菜单项应完成下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到EMP1(EMP1为自由表)文件中,该数据表文件和ZG数据表文件具有相同的结构。单击"退出"菜单项,请使用set sysmenu to default命令使程序终止运行(注:相关数据表文件存在于考生文件夹下) 简单应用题答案:
1、sele student.*,course.课程号,课程名 from student,course,score where 课程名="网络工程" and ;
student.学号=score.学号 and score.课程号=course.课程号 order by student.学号 desc into table netp
综合应用题答案:
“统计”菜单项的过程代码为:
SELECT 仓库号,AVG(工资) AS AvgGZ FROM ZG GROUP BY 仓库号 INTO CURSOR pj
SELECT ZG.* FROM ZG,pj WHERE ZG.仓库号=pj.仓库号 AND ZG.工资<=pj.AvgGZ ORDER BY zg.仓库号,职工号 INTO TABLE EMP1
“退出”菜单项的命令代码为:set sysmenu to default
第 4 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、请在考生文件夹下建立一个项目WY。
2、将考生文件夹下的数据库KS4加入到新建的项目WY中去。
3、利用视图设计器在数据库中建立视图 NEW_VIEW,视图包括GJHY表的全部字段(顺序同GJHY中的字段)和全部记录。
4、从表HJQK中查询"奖级"为一等的学生的全部信息(HJQK表的全部字段),并按分数的降序存入新表NEW1中。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹下,有一个数据库CADB,其中有数据库表ZXKC和ZX。表结构如下:ZXKC(产品编号,品名,需求量,进货日期);ZX(品名,规格,单价,数量)。 在表单向导中选取一对多表单向导创建一个表单。要求:从父表zxkc中选取字段产品编号和品名,从子表zx中选取字段规格和单价,表单样式选取"阴影式",按钮类型使用"文本按钮",按产品编号升序排序,表单标题为"照相机",最后将表单存放在考生文件夹中,表单文件名是form2。
2、在考生文件夹中有数据库CADB,其中有数据库表ZXKC和ZX。建立单价大于等于800,按规格升序排序的本地视图CAMELIST,该视图按顺序包含字段产品编号、品名、规格和单价,然后使用新建立的视图查询视图中的全部信息,并将结果存入表v_camera。
三、综合应用(1小题,计30分)
在考生文件夹下有仓库数据库CHAXUN3包括三个表文件: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元的职工向北京的供应商发出的订购单信息,并将结果按总金额降序排列存放在ord1文件(和DGD文件具有相同的结构,ord1为自由表)中。单击"退出"菜单项,请使用set sysmenu to default命令使程序终止运行。(注:相关数据表文件存在于考生文件夹下)
基本操作题答案:
4、sele * from hjqk where 奖级="一等" order by 分数 DESC into table NEW1
简单应用题:
2、Open data cadb
create view CAMELIST as sele 产品编号,zx.品名,规格,单价 from zx,zxkc where 单价>=800 and zx.品名=zxkc.品名 ;
order by 规格
sele * from CAMELIST into table v_camera
综合应用题答案:
“查询”菜单项的过程代码为:
SELECT * FROM DGD WHERE 职工号 IN (SELECT 职工号 FROM ZG WHERE 工资>1230);
AND 供应商号 IN (SELECT 供应商号 FROM GYS WHERE 地址="北京") ORDER BY 总金额 DESC INTO TABLE ord1
“退出”菜单项的命令代码为:SET SYSMENU TO DEFAULT
第 5 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、打开数据库PROD_M及数据库设计器,其中的两个表的必要的索引已经建立,为这两个表建立永久性联系。
2、设置CATEGORY表中"种类名称"字段的默认值为:"饮料"。
3、为PRODUCTS表增加字段:优惠价格 N(8,2)。
4、如果所有商品的优惠价格是在进货价格基础上减少12%,计算所有商品的优惠价格。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个数据库GCS,其中GONGCH表结构如下:GONGCH(编号C(4),姓名C(10),性别C(2),工资N(7,2),年龄N(2),职称C(10))。现在要对GONGCH表进行修改,指定编号为主索引,索引名和索引表达式均为编号;指定职称为普通索引,索引名和索引表达式均为职称;年龄字段的有效性规则在25至65之间(含25和65),默认值是45。
2、在考生文件夹中有数据库GCS,其中有数据库表GONGCH。在考生文件夹下设计一个表单,该表单为GCS库中GONGCH表窗口式输入界面,表单上还有一个名为cmdCLOSE的按钮,标题名为"关闭",点击该按钮,使用
ThisForm.release退出表单。最后将表单存放在考生文件夹中,表单文件名是C_FORM。提示:在设计表单时,打开GCS数据库设计器,将GONGCH表拖入到表单中就实现了GONGCH表的窗口式输入界面,不需要其他设置或修改。
三、综合应用(1小题,计30分)
在考生文件夹下有仓库数据库GZ3,包括两个表文件:ZG(仓库号C(4),职工号C(4),工资N(4));DGD(职工号C(4),供应商号C(4),订购单号 C(4),订购日期D,总金额N(10))。首先在GZ3库中建立工资表:GJ3(职工号C(4),工资N(4)); 设计一个名为YEWU3的菜单,菜单中有两个菜单项"查询"和"退出"。程序运行时,单击"查询"应完成下列操作:检索出与供应商S7、S4和S6都有业务联系的职工的职工号和工资,并按工资降序存放到所建立的GJ3文件中。单击"退出"菜单项,请使用set sysmenu to default命令使程序终止运行。(注:相关数据表文件存在于考生文件夹下)
基本操作题答案:
4、Update PRODUCTS set 优惠价格=进货价格*(1-0.12)
综合应用题答案:
先在命令窗口输入下列命令:
OPEN DATABASE GZ3
CREATE TABLE GJ3(职工号 C(4),工资 N(4))
“查询”菜单项的过程代码为:
SELECT 职工号 FROM DGD WHERE 供应商号 IN ("S4","S6","S7") GROUP BY 职工号 HAVING COUNT(DISTINCT 供应商号)=3 ;
INTO CURSOR aaa
SELECT ZG.职工号,工资 FROM ZG,aaa WHERE ZG.职工号=aaa.职工号 ORDER BY 工资 DESC INTO ARRAY bbb INSERT INTO GJ3 FROM ARRAY bbb
第 6 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下建立数据库KS7;并将自由表SCOR加入数据库中。
2、按下面给出的表结构。给数据库添加表STUD:
字段 字段名 类型 宽度 小数
1 学号 字符型 2
2 姓名 字符型 8
3 年龄 数值型 2 0
4 性别 字符型 2
5 院系号 字符型 2
3、为表STUD建立主索引,索引名为学号,索引表达式为学号,为表SCOR建立普通索引,索引名为学号,索引表达式为学号。
4、STUD表和SCOR表必要的索引已建立,为两表建立永久性的联系。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个学生数据库STU,其中有数据库表STUDENT存放学生信息,使用菜单设计器制作一个名为STMENU的菜单,菜单包括"数据操作"和"文件"两个菜单栏。 每个菜单栏都包括一个子菜单。菜单结构如下:
能不做要求。
三、综合应用(1小题,计30分)
在考生文件夹下有学生管理数据库BOOKS,数据库中有score表(含有学号、物理、高数、英语和学分5个字段,具体类型请查询表结构),其中前4项已有数据。请编写符合下列要求的程序并运行程序:设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为CMDYES和CMDNO,标题分别为"计算"和"关闭"。程序运行时,单击"计算"按钮应完成下列操作:(1)计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理60分以上(包括60分)2学分,否则0分;高数60分以上(包括60分)3学分,否则0分;英语60分以上(包括60分)4学分,否则0分。(2)根据上面的计算结果,生成一个新的表xf,(要求表结构的字段类型与score表对应字段的类型一致),并且按学分升序排序,如果学分相等,则按学号降序排序。单击"关闭"按钮,程序终止运行。 简单应用题答案:
1 create view order_view as sele * from order1 where 金额<1000
sele * from order_view order by 订单编号 into table v1
综合应用题答案: 重要提示,CMDYES和CMDNO要大写
Command1的click事件代码为:
update score set 学分=0
update score set 学分=学分+2 where 物理>=60
update score set 学分=学分+3 where 高数>=60
update score set 学分=学分+4 where 英语>=60
sele * from score order by 学分,学号 desc into table xf.dbf
Command2的Click事件代码为:thisform.release
第 8 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下建立项目SALES_M。
2、在新建立的项目中建立数据库CUST_M。
3、把自由表CUST和ORDER1加入到新建立的数据库中。
4、为确保ORDER1表元组唯一,请为ORDER1表建立候选索引,索引名为订单编号,索引表达式为订单编号。
二、简单应用(2小题,每题20分,计40分)
1、根据order1表和cust表建立一个查询query1,查询出公司所在地是"北京"的所有公司的名称、订单日期、送货方式,要求查询去向是表,表名是query1.dbf,并执行该查询。
2、建立表单my_form,表单中有两个命令按钮,按钮的名称分别为cmdYes和cmdNo,标题分别为"登录"和"退出"。
三、综合应用(1小题,计30分)
在考生文件夹下有股票管理数据库stock,数据库中有表stock_sl、stock_fk表。stock_sl的表结构是股票代码C(6)、买入价N(7.2)、现价N(7.2)、持有数量N(6)。stock_fk的表结构是股票代码C(6)、浮亏金额N(11.2)。 请编写并运行符合下列要求的程序:设计一个名为menu_lin的菜单,菜单中有两个菜单项"计算"和"退出"。程序运行时,单击"计算"菜单项应完成下列操作:(1)将现价比买入价低的股票信息存入stock_fk表,其中:浮亏金额=(买入价-现价)*持有数量(注意要先把表的stock_fk内容清空)。(2) 根据stock_fk表计算总浮亏金额,存入一个新表stock_z中,其字段名为浮亏金额,类型为N(11.2),该表最终只有一条记录(该表属于库STOCK)。单击"退出"菜单项,请使用set sysmenu to default命令使程序终止运行。
综合应用题答案:
“计算”菜单项的命令代码为:
OPEN DATA STOCK
SELECT 股票代码,(买入价-现价)*持有数量 AS 浮亏金额 FROM STOCK_SL WHERE 买入价>现价 INTO ARRAY aaa
DELETE FROM STOCK_FK
INSERT INTO STOCK_FK FROM ARRAY aaa
SELECT SUM(浮亏金额) FROM STOCK_FK INTO ARRAY bbb
CREATE TABLE STOCK_Z(浮亏金额 N(11,2))
INSERT INTO STOCK_Z FROM ARRAY bbb
“退出”菜单项的命令代码为:set sysmenu to default
第 9 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下打开数据库CUST_M,为CUST表建立主索引,索引名为客户编号,索引表达式为客户编号。
2、CUST表和ORDER1表中必要的索引已经建立,为两表建立永久性联系。
3、为CUST表增加字段:客户等级C(2),字段值允许为空。
4、为ORDER1表"金额"字段增加有效性规则:金额大于零,否则提示:金额必须大于零。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2,SC和COURSE2。三个表如下所示:STUDENT2(学号,姓名,年龄,性别,院系编号);SC(学号,课程号,成绩,备注)。COURSE2(课程号,课程名,先修课号,学分)。有一个程序dbtest3.prg,该程序的功能是定义一个视图VS1,检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选课门数和院系编号,并按平均成绩降序排序。请修改程序中的错误,并调试该程序,使之正确运行。不得增加或删减程序行。
2、在考生文件夹下有一个数据库CUST_M,数据库中有CUST和ORDER1两个表。请使用菜单设计器制作一个名为MY_MENU的菜单,菜单只有"浏览"一个菜单项。浏览菜单项中有"客户"、"订单"和"退出"三个子菜单: "客户"子菜单使用SELECT * FROM CUST命令对CUST表查询; "订单"子菜单使用SELECT * FROM ORDER1命令对ORDER1表查询;"退出"子菜单使用SET SYSMENU TO DEFAULT命令返回系统菜单。
三、综合应用(1小题,计30分)
在考生文件夹下有学生管理数据库stu_3,数据库中有score_fs表,其表结构是学号C(10)、物理I、高数I、英语I和平均分N(6.2)。成绩如果用-1表示,说明学生没有选学该门课程。其中,该表前四项已有数据。请编写并运行符合下列要求的程序:设计一个名为form_my的表单,表单中有两个命令按钮,按钮的名称分别为cmdyes和cmdno,标题分别为"统计"和"关闭"。程序运行时,单击"统计"按钮应完成下列操作:(1)计算每一个学生的平均分存入平均分字段。注意:分数为-1不记入平均分,例如一个学生的三门成绩存储的是90,-1,70,平均分应是80。(2)根据上面的计算结果,生成一个新的表PJF,该表只包括学号和平均分两项,并且按平均分的降序排序,如果平均分相等,则按学号升序排序。单击"关闭"按钮,程序终止运行。
简单应用题答案:
1 第一处将 ”use ” 改为:”open ”, 第二处将”course2”改为:”sc ”, 第三处将 ”成绩”改为:”平均成绩 desc”
2 注意: 命令必须写完整.
综合应用题答案:
“统计”命令按钮的CLICK事件代码为:
clos all
USE SCORE_FS
GO TOP
DO WHILE NOT EOF()
STORE 0 TO RS,PJF
IF 物理<>-1 THEN
RS=RS+1
PJF=PJF+物理
ENDIF
IF 高数<>-1 THEN
RS=RS+1
PJF=PJF+高数
ENDIF
IF 英语<>-1 THEN
RS=RS+1
PJF=PJF+英语
ENDIF
IF RS<>0 THEN
REPLACE 平均分 WITH PJF/RS
ENDIF
ENDDO
SELECT 学号,平均分 FROM SCORE_FS ORDER BY 平均分 DESC,学号 INTO TABLE PJF
“退出”按钮的CLICK的事件代码为:THISFORM.RELEASE
第 10 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下建立项目SALES_M。
2、把考生文件夹中的数据库CUST_M加入SALES_M项目中。
3、为CUST_M数据库中CUST表增加字段:联系电话C(12),字段值允许"空"
4、为CUST_M数据库中ORDER1表"送货方式"字段设计默认值为"铁路"。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹下,有一个数据库SDB,其中有数据库表STUDENT、SC和COURSE。表结构如下:STUDENT(学号,姓名,年龄,性别,院系号);SC(学号,课程号,成绩,备注);COURSE(课程号,课程名,先修课程号,学分)。在表单向导中选取一对多表单向导创建一个表单。要求:从父表STUDENT中选取字段学号和姓名,从子表SC中选取字段课程号和成绩,表单样式选"浮雕式",按钮类型使用"文本按钮",按学号降序排序,表单标题为"学生成绩",最后将表单存放在考生文件夹中,表单文件名是form1。
2、在考生文件夹中有一数据库SDB,其中有数据库表STUDENT,SC和COURSE。建立成绩大于等于60分,按学号升序排序的本地视图GRADELIST,该视图按顺序包含字段学号、姓名、成绩和课程名,然后使用新建立的视图查询视图中的全部信息,并将结果存入表v_grade。
三、综合应用(1小题,计30分)
在考生文件夹下有股票管理数据库stock_4,数据库中有stock_mm表和stock_cc表,stock_mm的表结构是股票代码C(6)、买卖标记L(.T.表示买进,.F.表示卖出)、单价N(7.2)、本次数量N(6)。stock_cc的表结构是股票代码C(6)、持仓数量N(8)。 stock_mm表中一只股票对应多个记录,stock_cc表中一只股票对应一个记录
(stock_cc表开始时记录个数为0)。 请编写并运行符合下列要求的程序:设计一个名为menu_lin的菜单,菜单中有两个菜单项"计算"和"退出"。 程序运行时,单击"计算"菜单项应完成下列操作:(1)根据stock_mm统计每只股票的持仓数量,并将结果存放到stock_cc表。计算方法:买卖标记为.T.(表示买进),将本次数量加到相应股票的持仓数量;买卖标记为.F.(表示卖出),将本次数量从相应股票的持仓数量中减去。(注意:stock_cc表中的记录按股票代码从小到大顺序存放)。(2)将stock_cc表中持仓数量最少的股票信息存储到自由表stock_x中(与stock_cc表结构相同)。单击"退出"菜单项,请使用set sysmenu to default命令使程序终止运行。 简单应用题答案:
1 open data sdb
create view GRADELIST AS sele student.学号,姓名,成绩,课程名 from student,sc,course where 成绩>=60 and ;
student.学号=sc.学号 and sc.课程号=course.课程号 order by student.学号
sele * from GRADELIST into table v_grade
综合应用题答案:
“计算”菜单项的过程代码为:
SELECT 股票代码,SUM(本次数量) AS 持仓数量 FROM STOCK_MM WHERE 买卖标记 GROUP BY 股票代码 INTO CURSOR aaa
SELECT 股票代码,SUM(本次数量) AS 持仓数量 FROM STOCK_MM WHERE NOT 买卖标记 GROUP BY 股票代码 INTO CURSOR bbb
SELECT aaa.股票代码,(aaa.持仓数量-bbb.持仓数量) AS 持仓数量 FROM aaa,bbb WHERE aaa.股票代码=bbb.股票代码 ;
ORDER BY aaa.股票代码 INTO ARRAY ccc
DELETE FROM STOCK_CC
INSERT INTO STOCK_CC FROM ARRAY ccc
SELECT * TOP 1 FROM STOCK_CC ORDER BY 持仓数量 INTO TABLE STOCK_X
“退出”菜单项的命令代码为:set sysmenu to default
第 11 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下建立项目MARKET。
2、在项目MARKET中建立数据库PROD_M。
3、把考生文件夹中自由表CATEGORY和PRODUCTS加入到PROD_M数据库中。
4、为CATEGORY表建立主索引,索引名primarykey,索引表达式为分类编码;为PRODUCTS表建立普通索引,索引名regularkey,索引表达式为分类编码。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个数据库SDB,其中STUDENT表结构如下:STUDENT(学号C(2),姓名C(8),年龄N(2),性别C(2),院系号C(2));现在要对STUDENT表进行修改,指定学号为主索引,索引名和索引表达式均为学号;指定院系号为普通索引,索引名和索引表达式均为院系号;年龄字段的有效性规则在12至30之间(含12和30),默认值是16,性别字段有效性规则是'男'或'女',默认值是'男'。
2、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT、SC和COURSE。表结构如下:STUDENT(学号,姓名,年龄,性别,院系号);SC(学号,课程号,成绩,备注);COURSE(课程号,课程名,先修课程号,学分)。在考生文件夹下有一个程序test.prg,该程序的功能是检索选修课程门数等于3门或3门以上,每门课程成绩大于或等于70分的每个学生的学号、姓名、性别、平均成绩、最低分和选课门数,并将结果存放到表new_test中。请修改程序中的错误,并调试该程序,使之正确运行。考生不得增加或删减程序行。
三、综合应用(1小题,计30分)
在考生文件夹下有学生管理数据库stu_five:CHENGJI表(学号C(9)、课程号C(3)、成绩I)用于记录学生的考试成绩,其中一个学生可以有多项记录(登记一个学生的多门成绩)。KECHENG表(课程号C(3)、课程名C(10)、最高分I、学号C(9))的内容是所开课程,一门课程只有一个记录(表中有固定的已知数据)。请编写并运行符合下列要求的程序:设计一个名为form_my的表单,表单中有两个命令按钮,按钮的名称分别为cmdyes和cmdno,标题分别为"统计"和"关闭"。程序运行时,单击"统计"按钮应完成下列操作:(1)计算每门课程的最高分,并将结果存入KECHENG表的最高分字段,同时将得此最高分的学生的学号存入该表的学号字段。(2) 根据上面的计算结果,生成一个新的表jiangli,该表按顺序含有来自KECHENG表的课程名和最高分两个字段,并且按最高分降序排序。单击"关闭"按钮,程序终止运行。
简单应用题答案:
1、重要提示,必须写成:性别=‘男’OR 性别=‘女’,否则不得分。
2、第一处将 “while” 改为:”where”, 第二处将”sum”改为:”count ”, 第三处将“to”改为:”into table “
综合应用题答案:
“统计”命令按钮的CLICK事件代码为:
Clos all
SELECT 2
USE KECHENG
INDEX ON 课程号 TO KC
SELECT 1
USE CHENGJI
DO WHILE NOT EOF()
SELECT 2
SEEK A->课程号
IF 最高分成绩
REPLACE 最高分 WITH A->成绩,学号 WITH A->学号
ENDIF
SELECT 1
ENDDO
SELECT 课程名,最高分 FROM KECHENG ORDER BY 最高分 INTO TABLE JIANGLI
表单样式为阴影式;按钮类型为图片按钮;排序字段选择学号(升序);表单标题为"学生信息数据输入维护",最后将表单存放在考生文件夹中,表单文件名为T1。
2、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT存放学生信息,使用菜单设计器制作一个名为SMENU1的菜单,菜单包括"数据维护"和"文件"两个菜单栏。每个菜单栏都包括一个子菜单。菜单结构如下: 数据维护
数据
式输入
其中:数据表格式输入菜单项对应的过程包括下列4条命令:打开数据库STSC的命令,打开表STUDENT的命令,BROWSE命令,关闭数据库的命令。退出菜单项对应命令SET SYSMENU TO DEFAULT,使之可以返回到系统菜单。
三、综合应用(1小题,计30分)
在考生文件夹下有学生管理数据库stu_7,该库中有CHENGJI表和XUESHENG表,各表结构如下:(1) CHENGJI表(学号C(9)、课程号C(3)、成绩N(7.2)),该表用于记录学生的考试成绩,一个学生可以有多项记录(登记一个学生的多门成绩)。(2) XUESHENG表(学号C(9)、姓名C(10)、平均分N(7.2)),该表是学生信息,一个学生只有一个记录(表中有固定的已知数据)。请编写并运行符合下列要求的程序:设计一个名为form_stu的表单,表单中有两个命令按钮,按钮的名称分别为CMDYES和CMDNO,标题分别为"统计"和"关闭"。 程序运行时,单击"统计"按钮应完成下列操作:(1) 根据CHENGJI表计算每个学生的平均分,并将结果存入XUESHENG表的平均分字段。(2) 根据上面的计算结果,生成一个新的自由表pingjun,该表的字段按顺序取自XUESHENG表的学号、姓名和平均分三项,并且按平均分升序排序,如果平均分相等,则按学号升序排序。单击"关闭"按钮,程序终止运行。 重要提示,CMDYES和CMDNO要大写。
简单应用题答案:
“数据表格式输入”菜单项的过程代码为:
Open database STSC
Use student
Browse
Close database
“退出”菜单项的命令代码为:set sysmenu to default
综合应用题答案:
“统计”按钮的CLICK事件代码为:
clos all
USE XUESHENG
DO WHILE NOT EOF()
SELECT AVG(成绩) FROM CHENGJI WHERE 学号=XUESHENG.学号 INTO ARRAY aaa
REPLACE 平均分 WITH aaa(1,1)
ENDDO
SELECT 学号,姓名,平均分 FROM XUESHENG ORDER BY 平均分,学号 INTO TABLE PINGJUN
“关闭”按钮的CLICK事件代码为:thisform.release
第 14 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、打开考生文件夹下的STSC数据库,为STUDENT表建立主索引,索引名为学号,索引表达式为学号。
2、为SCORE表建立普通索引,索引名为学号,索引表达式为学号,并根据建立的索引建立STUDENT表和SCORE表之间的联系。
3、为以上联系指定参照完整性,其中插入规则为"限制",更新规则和删除规则为"级联"。
4、逻辑删除STUDENT表中学号为"S5"的记录。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和COURSE。利用SQL语句查询选修了"C++"课程的学生的全部信息,并将结果按学号升序存放在CPLUS.DBF文件中(库的结构同STUDENT,并在其后加入课程号和课程名字段)。
2、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT,使用报表向导制作一个名为P1的报表,存放在考生文件夹中。要求:选择 STUDENT表中所有字段,报表式样为经营式;报表布局:列数为1,方向为纵向,字段布局为列;排序字段选择学号(升序)报表标题为"学生基本情况一览表"。
三、综合应用(1小题,计30分)
在考生文件夹下有职员管理数据库staff_8,数据库中有YUANGONG表和ZHICHENG表,YUANGONG的表结构是职工编码C(4)、姓名C(10)、职称代码C(1)、工资N(10.2)。ZHICHENG的表结构是职称代码C(1)、职称名称C(8)、增加百分比N(10,2),然后编写并运行符合下列要求的程序:设计一个名为staff_m的菜单,菜单中有两个菜单项"计算"和"退出"。程序运行时,单击"计算"菜单项应完成下列操作:在表yuangong中增加一新的字段:新工资 N(10,2)。现在要给每个人增加工资,请计算YUANGONG表的新工资字段,方法是根据ZHICHENG表中相应职称的增加百分比来计算:新工资=工资*(1+增加百分比/100);单击"退出"菜单项对应命令SET SYSMENU TO DEFAULT,使之可以返回到系统菜单,程序终止运行。
简单应用题答案:
1、Sele student.*,course.课程号,课程名 from student,score,course where 课程名="C++" and student.学号=score.学号 and ;
Score.课程号=course.课程号 order by student.学号 into table cplus
综合应用题答案:
“计算”菜单项的过程代码为:
USE ZHICHENG IN 2
USE YUANGONG IN 1
ALTER TABLE YUANGONG ADD 新工资 N(10,2)
SELECT 2
DO WHILE NOT EOF()
SELECT 1
UPDATE YUANGONG SET 新工资=工资*(1+ZHICHENG.增加百分比/100) WHERE YUANGONG.职称代码=ZHICHENG.职称代码
SELECT 2
ENDDO
“退出”菜单项的命令代码为:SET SYSMENU TO DEFAULT
第 15 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下建立数据库STSC。
2、把自由表STUDENT、COURSE、SCORE加入到数据库中。
3、为SCORE表的"成绩"字段建立有效性规则:成绩大于等于零,否则提示信息:成绩必须大于等于零。
4、为STUDENT表建立主索引,索引名为PRIMARYKEY,索引表达式为学号。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个商品数据库COMMDB,其中有数据库表SP存放商品信息,使用菜单设计器制作一个名为SMENU的菜单,菜单包括"数据操作"和"文件"两个菜单栏。每个菜单栏都包括一个子菜单。菜单结构如下: 数据操作
其中:数据输出子菜单对应的过程完成下列操作:打开数据库COMMDB,使用SQL的SELECT语句查询数据库表SP中所有信息,然后关闭数据库。退出菜单项对应的过程含有命令SET SYSMENU TO DEFAULT,使之可以返回到系统菜单。
2、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2、SC和COURSE2。三个表如下所示:STUDENT2(学号,姓名,年龄,性别,院系编号);SC(学号,课程号,成绩,备注);COURSE2(课程号,课程名,先修课号,学分)。用SQL语句查询"数据库"课程的考试成绩在85分以上(含85分)的学生的全部信息并将结果按学号升序存入自由表NINE.DBF文件中(库的结构同STUDENT2,并在其后加入成绩字段)。
三、综合应用(1小题,计30分)
考生文件夹下有学生管理数据库stu_nine,数据库中有score1表,其库结构是学号C(10)、少数民族L、优秀干部L、三好生L、考试成绩I、总成绩I。其中,前五项已有数据。请编写并运行符合下列要求的程序:设计一个名为form_stu的表单,表单中有两个命令按钮,按钮的名称分别为CMDYES和CMDNO,标题分别为"计算"和"关闭"。程序运行时,单击"计算"按钮应完成下列操作:(1) 计算每一个学生的总成绩。总成绩的计算方法是:考试成绩+加分,加分的规则是:如果该生是少数民族(相应数据字段为.T.)加分5分,优秀干部加分10分,三好生加分20分,加分不累计,取最高的。例如,如果该生既是少数民族又是三好生,加分为20分。如果都不是,总成绩=考试成绩;(2) 根据上面的计算结果,生成一个新的自由表ZCJ,该表只包括学号和总成绩两项,并按总成绩的升序排序,如果总成绩相等,则按学号的升序排序。单击"关闭"按钮,程序终止运行。
简单应用题答案:
1、“数据输出”的过程代码为:
open data commdb
sele * from sp
clos data
“退出”的命令代码为:set sysmenu to default
2、sele student2.*,成绩 from student2,sc,course2 where student2.学号=sc.学号 and sc.课程号=course2.课程号 and ;
课程名="数据库" and 成绩>=85 order by student2.学号 into table nine
综合应用题答案:
“计算”命令按钮的CLICK事件代码为:
USE SCORE1
DO WHILE NOT EOF()
STORE 0 TO JF
DO CASE
CASE 三好生
JF=20
CASE 优秀干部
JF=10
CASE 少数民族
OTHERWISE
ENDCASE
REPLACE 总成绩 WITH 考试成绩+JF
ENDDO
SELECT 学号,总成绩 FROM SCORE1 ORDER BY 总成绩,学号 INTO TABLE ZCJ
“关闭”命令按钮的CLICK事件代码为:thisform.release
第 16 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下建立项目STSC_M。
2、把数据库STSC加入到STSC_M项目中。
3、打开STSC数据库,三个表中必要的索引已经建立,为三个表建立永久性联系。
4、为COURSE表增加字段:开课学期 I。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有数据库STSC,其中有数据库表STUDENT、SCORE和COURSE。三个表如下所示:STUDENT(学号,姓名,性别,院系,出生日期);SCORE(学号,课程编号,成绩);COURSE(课程编号,课程名称,开课院系,开课学期)。 在考生文件夹下有一个程序dbtest4.prg,该程序的功能是检索选课门数是3门以上的(包括3门)每个学生的学号、姓名、平均成绩、最低分、选课门数和院系,并按平均成绩降序排序,同时将结果存放到表TEST1中,
请修改程序中的错误,并调试该程序,使之正确运行。不得增加或删减程序行。
2、在考生文件夹中有数据库STSC,其中有数据库表STUDENT、SCORE和COURSE。三个表如下所示:STUDENT(学号,姓名,性别,院系,出生日期);SCORE(学号,课程编号,成绩);COURSE(课程编号,课程名称,开课院系,开课学期)。使用CREATE QUERY命令建立一个文件名为QUSC.QPR的查询,要求含有学号、姓名、成绩和课程名称,按课程名称升序排序,查询去向是表(表名是QUSC.DBF),然后执行该查询。
三、综合应用(1小题,计30分)
在考生文件夹下有职员管理数据库staff_10,数据库中的YUANGONG表结构是职工编码C(4)、姓名C(10)、夜值班天数I、昼值班天数I、加班费N(10.2)。ZHIBAN表结构是值班时间C(2)、每天加班费N(7.2),ZHIBAN表中只有两条记录,分别记载了白天和夜里的每天加班费标准。 请编写运行符合下列要求的程序:设计一个名为staff_m的菜单,菜单中有两个菜单项"计算"和"退出"。程序运行时,单击"计算"菜单项应完成下列操作:(1)计算YUANGONG表的加班费字段值,计算方法是:加班费=夜值班天数*夜每天加班费+昼值班天数*昼每天加班费 (2)根据上面的结果,将员工的职工编码、姓名、加班费存储到的自由表staff_d中,并按加班费降序排列,如果加班费相等,则按职工编码的升序排列。单击"退出"菜单项,请使用set sysmenu to default命令使程序终止运行。 简单应用题答案:
1、“sum”改为“count”,第二处加“desc”, 第三处改为:into table test1。改好后运行。
综合应用题答案:
“计算”菜单项的过程代码为:
SELECT 每天加班费 FROM ZHIBAN WHERE 值班时间="昼" INTO ARRAY zhou
SELECT 每天加班费 FROM ZHIBAN WHERE 值班时间="夜" INTO ARRAY ye
UPDATE YUANGONG SET 加班费=夜值班天数*ye(1)+昼值班天数*zhou(1)
SELECT 职工编码,姓名,加班费 FROM YUANGONG ORDER BY 加班费 DESC,职工编码 INTO TABLE STAFF_D “退出”菜单项的命令代码为:SET SYSMENU TO DEFAULT
第 17 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1. 创建一个新的项目"客户管理"。
2. 在新建立的项目"客户管理"中创建数据库"订货管理"。
3. 在"订货管理"数据库中建立表order_list,表结构如下:
客户号 字符型(6)
订单号 字符型(6)
订购日期 日期型
总金额 浮动型(15.2)
4. 为order_list表创建一个主索引,索引名和索引表达式均是"订单号"。
二、简单应用(2小题,每题20分,计40分)
1. 将order_list1表中的全部记录追加到order_list表中,然后用SQL SELECT语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到results表中(其中客户号、客户名取自customer表,订单号、总金额取自order_list表)。
2. 打开form1表单,并按如下要求进行修改(注意:最后保存所做的修改):(1) 表单中有5个随机排列的命令按钮,不要移动或改变"基准按钮"位置(否则影响成绩),然后使其他命令按钮与"基准按钮"左部对齐;(2) 在这组命令按钮的右边添加一个表格控件,并将它的RecordSourceType属性设置为"表",然后设置另一个相关属性使在表格控件中显示customer表的记录。
三、综合应用(1小题,计30分)
当order_detail表中的单价修改后,应该根据该表的"单价"和"数量"字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:(1) 根据order_detail表中的记录重新计算order_list表的总金额字段的值;(2) 一条order_list记录可以对应几条order_detail记录;(3) 在编程前应保证在基础操作中正确地建立了order_list表,在简单应用中为该表追加了记录(注意只能追加一次);(4) 最后将order_list表中的记录按总金额降序排序存储到od_new表中(表结构与order_list表完全相同);(5) 将程序保存为prog1.prg文件。
简单应用题答案:
1、Append from order_list1
INTO TABLE OD_MOD
USE OD_MOD
DO WHILE NOT EOF()
SELECT AAA.总金额 FROM AAA WHERE AAA.订单号=OD_MOD.订单号 INTO ARRAY BBB
REPLACE 总金额 WITH BBB(1)
ENDDO
SELECT * FROM OD_MOD ORDER BY 总金额 INTO CURSOR CCC
SELECT * FROM CCC INTO TABLE OD_MOD
第 19 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1. 打开"订货管理"数据库,并将表order_list添加到该数据库中。
2. 在"订货管理"数据库中建立表customer,表结构描述如下:
客户号 字符型(6)
客户名 字符型(16)
地址 字符型(20)
电话 字符型(14)
3. 为新建立的customer表创建一个主索引,索引名和索引表达式均是"客户号"。
4. 将表order_detail从数据库中移出,并永久删除。
二、简单应用(2小题,每题20分,计40分)
1. 将customer1表中的全部记录追加到customer表中,然后用SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的order_list记录的customer表中的记录),同时要求按客户号升序排序,并将结果存储到results表中(表结构与customer表结构相同)。
2. 打开并按如下要求修改form1表单文件(最后保存所做的修改):(1) 在"确定"命令按钮的click事件(过
程)下的程序有两处错误,请改正之;(2) 设置Text2控件的有关属性,使用户在输入口令时显示"*"(星号)。
三、综合应用(1小题,计30分)
使用报表设计器建立一个报表,具体要求如下:(1) 报表的内容(细节带区)是order_list表的订单号、订购日期和总金额;(2) 增加数据分组,分组表达式是 "order_list.客户号",组标头带区的内容是"客户号",组注脚带区的内容是该组订单的"总金额"合计;(3) 增加标题带区,标题是 "订单分组汇总表(按客户)",要求是3号字、黑体,括号是全角符号;(4) 增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的
报表文件保存为report1.frx文件。 提示:在考试的过程中可以使用"显示→预览"菜单查看报表的效果。 简单应用题答案:
1、clos all
use customer
append from customer1
sele * from customer where 客户号 IN (sele dist 客户号 from order_list) order by 客户号 into table results
2、第一处改为:if thisform.text1.value = thisform.text2.value, 第二处改为:thisform.release
将text2的passwordchar属性设置为 *
第 20 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下的"订货管理"数据库中完成如下操作:
1. 将order_detail、order_list和customer表添加到数据库。
2. 为order_list表创建一个主索引,索引名和索引表达式均是"订单号"。
3. 建立表order_list和表order_detail间的永久联系(通过"订单号"字段)。
4. 为以上建立的联系设置参照完整性约束:更新规则为"限制",删除规则为"级联",插入规则为"限制"。
二、简单应用(2小题,每题20分,计40分)
1. 列出客户名为"三益贸易公司"的订购单明细 (order_detail)记录将结果先按"订单号"升序排列,同一订单的再按"单价"降序排列,并将结果存储到results表中(表结构与order_detail表结构相同)。
2. 考生文件夹下有一个form1表单文件,其中三个命令按钮click事件下的语句都是错误的,请按如下要求进行修改(最后保存所做的修改):(1) 单击"刷新标题"命令按钮时,使表单的标题为"简单应用";(2) 单击"订单记录" 命令按钮时,使表格控件中显示order_list表中的记录;(3) 单击"关闭表单" 命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不可以增加语句。
三、综合应用(1小题,计30分)
首先为order_detail表增加一个新字段:新单价(类型与原来的单价字段相同),然后编写满足如下要求的程序:根据order_list 表中的"订购日期"字段值确定order_detail表的"新单价"字段的值,原则是:订购日期为2001年的"新单价"字段的值为原单价的90%,订购日期为2002年的"新单价"字段的值为原单价的110%(注意:在修改操作过程中不要改变order_detail表记录的顺序),将order_detail表中的记录存储到od_new表中(表结构与order_detail表完全相同);最后将程序保存为prog1.prg,并执行该程序。接着再利用 Visual Foxpro的"快速报表"功能建立一个的简单报表,该报表内容按顺序含有order_detail表的订单号、器件号、器件名、新单价和数量字段的值,将报表文件保存为report1.frx。
简单应用题答案:
1、 sele order_detail.* from order_detail,order_list,customer wher customer.客户号=order_list.客户号 and order_list.;
订单号=order_detail.订单号 and 客户名=“三益贸易公司” order by order_detail.订单号,单价 desc into table results
2、“刷新标题”命令按钮的CLICK事件代码为:Thisform.caption=“简单应用”
“订单记录”命令按钮的CLICK事件代码为:Thisform.grid1.recordsource=“order_list.dbf”
“关闭表单”命令按钮的CLICK事件代码为:Thisform.release
综合应用题答案:PROG1.PRG的内容如下:
SELECT 订单号 FROM ORDER_LIST WHERE YEAR(订购日期)=2001 INTO CURSOR AAA
DO WHILE NOT EOF()
UPDATE ORDER_DETAIL SET 新单价=单价*0.9 WHERE 订单号=AAA.订单号
ENDDO
SELECT 订单号 FROM ORDER_LIST WHERE YEAR(订购日期)=2002 INTO CURSOR BBB
DO WHILE NOT EOF()
UPDATE ORDER_DETAIL SET 新单价=单价*1.1 WHERE 订单号=BBB.订单号
ENDDO
SELECT * FROM ORDER_DETAIL INTO TABLE OD_NEW
第 21 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1. 打开"订货管理"数据库,并将表order_detail添加到该数据库中。
2. 为表order_detail的"单价"字段定义默认值为NULL。
3. 为表order_detail的"单价"字段定义约束规则:单价 > 0 ,违背规则时的提示信息是:"单价必须大于零"。
4. 关闭"订货管理"数据库,然后建立自由表customer,表结构如下:
客户号 字符型(6)
客户名 字符型(16)
地址 字符型(20)
电话 字符型(14)
二、简单应用(2小题,每题20分,计40分)
1. 列出总金额大于所有订购单总金额平均值的订购单(order_list)清单(按客户号升序排列),将结果存到results表中(表结构与order_list表结构相同)。
2. 利用Visual Foxpro的"快速报表"功能建立一个满足如下要求的简单报表:(1) 报表的内容是
order_detail表的记录(全部记录,横向);(2) 增加"标题带区",然后在该带区中放置一个标签控件,该标签控件显示报表的标题"器件清单";(3) 将页注脚区默认显示的当前日期改为显示当前的时间;(4) 最后将建立的
报表保存为report1.frx。
三、综合应用(1小题,计30分)
首先将order_detail表全部内容复制到od_bak表,然后对od_bak表编写完成如下功能的程序:1. 把"订单号"尾部字母相同并且订货相同("器件号"相同)的订单合并为一张订单,新的"订单号"就取原来的尾部字母,"单价"取最低价,"数量" 取合计;2. 结果先按新的"订单号"升序排序,再按"器件号"升序排序;3. 最终记录的处理结果保存在od_new表中;4. 最后将程序保存为prog1.prg,并执行该程序。
简单应用题答案:
1、Sele * from order_list where 总金额>(sele avg(总金额) from order_list) order by 客户号 into table results
综合应用题答案:程序PROG1.PRG内容如下:
USE OD_BAK
COPY STRUCTURE TO OD_NEW
SELECT RIGHT(订单号,1) AS 新订单号,器件名,器件号,RIGHT(订单号,1)+器件号 AS NEWNUM FROM OD_BAK GROUP BY NEWNUM ;
ORDER BY 新订单号,器件号 INTO CURSOR AAA
DO WHILE NOT EOF()
SELECT MIN(单价) AS 最低价,SUM(数量) AS 数量合计 FROM OD_BAK WHERE RIGHT(订单号,1)=AAA.新订单号 AND ;
器件号=AAA.器件号 INTO ARRAY BBB
INSERT INTO OD_NEW VALUES (AAA.新订单号,AAA.器件号,AAA.器件名,BBB(1,1),BBB(1,2))
ENDDO
第 22 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1. 创建一个新的项目sdb_p,并在该项目中创建数据库sdb。
2. 将考生文件夹下的自由表student和sc添加到sdb数据库中。
3. 在sdb数据库中建立表course,表结构如下:
字段名 类型 宽度
课程号 字符型 2
课程名 字符型 20
学时 数值型 2
随后向表中输入6条记录,记录内容如下(注意大小写):
课程号 课程名 学时
c1 C++ 60
c2 Visual FoxPro 80
c3 数据结构 50
c4 JAVA 40
c5 Visual BASIC 40
c6 OS 60
4. 为course表创建一个主索引,索引名为cno、索引表达式为"课程号"。
二、简单应用(2小题,每题20分,计40分)
1. 根据sdb数据库中的表用SQL SELECT命令查询学生的学号、姓名、课程名和成绩,结果按 "课程名"升序排序,"课程名"相同时按"成绩"降序排序,并将查询结果存储到sclist表中。
2. 使用表单向导选择student表生成一个名为form1的表单。要求选择student表中所有字段,表单样式为"阴影式";按钮类型为"图片按钮";排序字段选择"学号"(升序);表单标题为"学生基本数据输入维护"。
三、综合应用(1小题,计30分)
1.打开基本操作中建立的数据库sdb,使用SQL的CREATE VIEW命令定义一个名称为SVIEW的视图,该视图的SELECT语句完成查询:选课数是3门以上(不包括3门)的每个学生的学号、姓名、平均成绩、最低分和选课数,并按"平均成绩" 降序排序。最后将定义视图的命令代码存放到命令文件T1.PRG中并执行该文件。接着
利用报表向导制作一个报表。要求选择SVIEW视图中所有字段;记录不分组;报表样式为"随意式";排序字段为 "学号"(升序);报表标题为"学生成绩统计一览表";报表文件名为pstudent。
2.设计一个名称为form2的表单,表单上有"浏览"(名称为Command1)和"打印"(Command2)两个命令按
钮。鼠标单击"浏览"命令按钮时,先打开数据库sdb,然后执行SELECT语句查询前面定义的SVIEW视图中的记录(两条命令不可以有多余命令),鼠标单击"打印"命令按钮时,调用报表文件pstudent浏览报表的内容(一条命令,不可以有多余命令)。
简单应用题答案:
1、 sele student.学号,姓名,课程名,成绩 from student,sc,course where student.学号=sc.学号 And sc.课
程号=course.课程号;
order by 课程名,成绩 desc into table sclist
综合应用题答案:
1、程序T1.PRG的内容如下:
CREATE VIEW SVIEW AS SELECT SC.学号,姓名,AVG(成绩) AS 平均成绩,MIN(成绩) AS 最低分,COUNT(课程号) AS 选课数 ;
FROM SC,STUDENT WHERE SC.学号=STUDENT.学号 GROUP BY STUDENT.学号 HAVING COUNT(课程号)>3 ORDER BY 平均成绩 DESC
2、“浏览”命令按钮的CLICK的事件代码为: open database sdb
select * from sview
“打印”命令按钮的CLICK的事件代码为: report form pstudent.frx preview
第 23 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下的数据库salarydb中完成如下操作:
1. 在数据库salarydb中建立表dept,表结构如下:
字段名 类型 宽度
部门号 字符型 2
部门名 字符型 20
随后在表中输入5条记录,记录内容如下:
部门号 部门名
01 制造部
02 销售部
03 项目部
04 采购部
05 人事部
2. 为dept表创建一个主索引(升序),索引名和索引表达式均是"部门号"。
3. 通过"部门号"字段建立salarys表和dept表间的永久联系。
4. 为以上建立的联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。
二、简单应用(2小题,每题20分,计40分)
1. 使用报表向导建立一个简单报表。要求选择salarys表中所有字段;记录不分组;报表样式为"随意式";列数为"1",字段部局为"列",方向为"纵向";排序字段为"雇员号"(升序);报表标题为 "雇员工资一览表";报表文件名为print1。
2. 在考生文件夹下有一个名称为form1的表单文件,表单中的两个命令按钮的click事件下的语句都有错误,其中一个按钮的名称有错误。请按如下要求进行修改,修改完成后保存所做的修改:(1) 将按钮"刘缆雇员工资"名称修改为"浏览雇员工资";(2) 单击"浏览雇员工资"命令按钮时,使用SELECT命令查询salarys表中所有字段信息供用户浏览;(3) 单击"退出表单"命令按钮时,关闭表单。注意:每处错误只能在原语句上进行修改,不能增加语句行。
三、综合应用(1小题,计30分)
1.请编写名称为change_c的程序并执行;该程序实现下面的功能:将雇员工资表salarys进行备份,备份文件名为baksals.dbf;利用"人事部"向"财务部"提供的雇员工资调整表c_salary1的"工资",对salarys表的"工资"进行调整(请注意:按"雇员号"相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不
AS 实发工资 FROM SALARYS ORDER BY 部门号 DESC
综合应用题答案:
“生成”命令按钮的CLICK事件代码为:
OPEN DATA SALARYDB
DO CASE
CASE THISFORM.OPTIONGROUP1.VALUE=1
USE SVIEW
SELECT * FROM SVIEW INTO TABLE GZ1.DBF
CASE THISFORM.OPTIONGROUP1.VALUE=2
USE DEPT
SELECT * FROM DEPT INTO TABLE BM1.DBF
CASE THISFORM.OPTIONGROUP1.VALUE=3
SELECT DEPT.部门号,dept.部门名,SUM(工资) AS 工资,SUM(补贴) AS 补贴,SUM(奖励) AS 奖励 ,SUM(失业保险) ;
AS 失业保险,SUM(医疗统筹) AS 医疗统筹 FROM DEPT,SALARYS WHERE DEPT.部门号=SALARYS.部门号 ; GROUP BY DEPT.部门号 ORDER BY DEPT.部门号 INTO TABLE HZ1.DBF
ENDCASE
“退出”命令按钮的CLICK事件代码为:THISFORM.RELEASE
第 25 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下的"商品销售"数据库中完成如下操作:
1.将"销售表"中的日期在2000年12月31日前(含2000年12月31日)的记录复制到一个新表"2001.dbf"中。
2.将"销售表"中的日期(日期型字段)在2000年12月31日前(含2000年12月31日)的记录物理删除。
3.打开"商品表",使用BROWSE命令浏览时,使用"文件"菜单中的选项将"商品表"中的记录生成文件名为"商品表.htm"的HTML格式文件。
4.为"商品表"创建一个主索引,索引名和索引表达式均是"商品号";为"销售表"创建一个普通索引(升序),索引名和索引表达式均是"商品号"。
二、简单应用(2小题,每题20分,计40分)
1. 在"商品销售"数据库中,根据"销售表"和"商品表"查询每种商品的商品号、商品名、单价、销售数量和销售金额(商品号、商品名取自商品表,单价和销售数量取自销售表,销售金额=单价*销售数量),结果按销售金额降序排序,并将查询结果存储到see_a表中。
2. 在考生文件夹下有一个名称为form1的表单文件,该表单中的三个命令按钮的Click事件下的语句有错误。请按如下要求进行修改,修改完成后保存所做的修改:(1) 单击"刷新标题"命令按钮时,将表单的标题改为"商品销售数据输入";(2) 单击"商品销售输入"命令按钮时,调用当前文件夹下的名称为sellcomm的表单文件打开数据输入表单;(3) 单击"输出销售报表"命令按钮时,调用当前文件夹下的名称为print1的报表文件对报表进行预览。注意:每处错误只能在原语句上进行修改,不可以增加语句行。
三、综合应用(1小题,计30分)
在考生文件夹下,对"商品销售"数据库完成如下综合应用:1.请编写名称为change_c的命令程序并执行,该程序实现下面的功能:将"商品表"进行备份,备份文件名为"SPBAK.dbf";将"商品表"中"商品号"前两位编号为"10"的商品的"单价"修改为出厂单价提高10%;使用"单价调整表"对商品表的部分商品出厂单价进行修改(按"商品号"相同)。
2.设计一个名称为form2的表单,上面有"调整"(名称Command1)和"退出"(名称Command2)两个命令按钮。单击"调整"命令按钮时,调用change_c命令程序实现商品单价调整;单击"退出"命令按钮时,关闭表单。注意:以上两个命令按钮均只含一条语句,不可以有多余的语句。
基本操作题答案:
1 sele * from 销售表 where 日期<={^2000-12-31} into table 2001
2 dele from 销售表 where 日期<={^2000-12-31}
use 销售表
简单应用题答案:
1 Sele 商品表.商品号,商品名,销售表.单价,销售数量,销售表.单价*销售数量 AS 销售金额 from 商品表,销售表 ;
WHERE 商品表.商品号=销售表.商品号 ORDER BY 销售金额 DESC INTO TABLE see_a
2、“刷新标题”命令按钮的CLICK事件代码为:ThisForm.CAPTION= "商品销售数据输入"
“商品销售输入”命令按钮的CLICK事件代码为:DO FORM sellcomm
“商品销售报表”命令按钮的CLICK事件代码为:REPORT FORM print1 PREVIEW
综合应用题答案:
1、程序change_c.PRG的内容如下:
SELECT * FROM 商品表 INTO TABLE SPBAK
UPDATE 商品表 SET 单价=出厂单价*1.1 WHERE LEFT(商品号,2)="10"
USE 单价调整表
DO WHILE NOT EOF()
UPDATE 商品表 SET 出厂单价=单价调整表.出厂单价 WHERE 商品号=单价调整表.商品号
ENDDO
2、“调整”命令按钮的CLICK事件代码为:DO CHANGE_C
“退出” 命令按钮的CLICK事件代码为:THISFORM.RELEASE
第 26 套
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下的"雇员管理"数据库中完成如下操作:
1.为"雇员"表增加一个字段名为EMAIL、类型为"字符"、宽度为20的字段。
2.设置"雇员"表中"性别"字段的有效性规则,性别取"男"或"女",默认值为"女"。
3.在"雇员"表中,将所有记录的EMAIL字段值使用"部门号"的字段值加上"雇员号"的字段值再加上"@xxxx.com.cn"进行替换。
4.通过"部门号"字段建立"雇员"表和"部门"表间的永久联系。
二、简单应用(2小题,每题20分,计40分)
1.请修改并执行名称为form1的表单,要求如下:(1) 为表单建立数据环境,并将"雇员"表添加到数据环境中;2) 将表单标题修改为"XXX公司雇员信息维护";(3) 修改命令按钮"刷新日期"的Click事件下的语句,使用SQL的更新命令,将"雇员"表中"日期"字段值更换成当前计算机的日期值。注意:只能在原语句上进行修改,不可以增加语句行。
2.建立一个名称为menu1的菜单,菜单栏有"文件"和"编辑浏览"两个菜单。"文件"菜单下有"打开"、"关闭退出"两个子菜单;"浏览"菜单下有"雇员编辑"、"部门编辑"和"雇员浏览"三个子菜单。
三、综合应用(1小题,计30分)
在考生文件夹下,对"雇员管理"数据库完成如下综合应用:1.建立一个名称为VIEW1的视图,查询每个雇员的部门号、部门名、雇员号、姓名、性别、年龄和EMAIL。 2.设计一个名称为form2的表单,表单上设计一个页框,页框有"部门"和"雇员"两个选项卡,在表单的右下角有一个"退出"命令按钮。要求如下:(1) 表单的标题名称为"商品销售数据输入";(2) 单击选项卡"雇员"时,在选项卡"雇员"中使用"表格"方式显示VIEW1视图中的记录(表格名称grdView1);(3) 单击选项卡"部门"时,在选项卡"部门"中使用"表格"方式显示"部门"表中的记录(表格名称为"grd部门");(4) 单击"退出"命令按钮时,关闭表单。
基本操作题答案:
2、重要提示,必须写成:性别=‘男’OR 性别=‘女’,否则不得分。
3、Replace all email with 部门号+雇员号+“@xxxx.com.cn”
简单应用题答案:
3、“刷新日期”命令按钮的CLICK事件代码为:update 雇员 SET 日期=date()
综合应用题答案:
1、create view view1 as sele 雇员.部门号,部门名,雇员号,姓名,性别,年龄,EMAIL FROM 雇员,部门 ;
Where 雇员.部门号=部门.部门号
第 27 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 新建一个名为"供应"的项目文件。
2. 将数据库"供应零件"加入到新建的"供应"项目文件中。
3. 通过"零件号"字段为"零件"表和"供应"表建立永久联系("零件"是父表,"供应"是子表)。
4. 为"供应"表的数量字段设置有效性规则: 数量必须大于0并且小于9999;错误提示信息是"数量超范围"(注意:公式必须为 数量>0 .and. 数量<9999)。
二、简单应用(2小题,每题20分,计40分)
1. 用SQL语句完成下列操作:列出所有与"红"颜色零件相关的信息(供应商号,工程号和数量),并将检索结果按数量降序排序存放于表sup_temp中。
2. 建立一个名为m_quick的快捷菜单,菜单中有两个菜单项"查询"和"修改"。然后在表单myform中的RightClick事件中调用快捷菜单m_quick。
三、综合应用(1小题,计30分)
设计名为mysupply的表单(表单的控件名和文件名均为mysupply)。表单的标题为"零件供应情况"。表单中有一个表格控件和两个命令按钮"查询"(名称为Command1)和"退出"(名称为Command2)。运行表单时,单击"查询"命令按钮后,表格控件(名称grid1)中显示了工程号"J4"所使用的零件的零件名、颜色、和重量。单击"退出"按钮关闭表单。
简单应用题答案:
1、 sele 供应商号,工程号,数量 FROM 供应 WHERE 零件号 IN (SELE 零件号 FROM 零件 WHERE 颜色=”红”) ;
Order by 数量 DESC into table sup_temp
综合应用题答案:
先将表单中的grid1表格的recordsourcetype属性设置成“表”,然后写 “查询”命令按钮的CLICK事件代码为:
select 零件名,颜色,重量 from 零件 where 零件号 in (select 零件号 from 供应 where 工程号="J4") into table ls
thisform.grid1.recordsource="ls"
“退出”命令按钮的CLICK事件代码为:thisform.release
第 28 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 新建一个名为"图书管理"的项目。
2. 在项目中建立一个名为"图书"的数据库。
3. 将考生文件夹下的所有自由表添加到"图书"数据库中。
4. 在项目中建立查询book_qu:查询价格大于等于10的图书(book表)的所有信息,查询结果按价格降序排序。
二、简单应用(2小题,每题20分,计40分)
1. 用SQL语句完成下列操作:检索"田亮"所借图书的书名、作者和价格,结果按价格降序存入booktemp表中。
2. 在考生文件夹下有一个名为menu_lin的下拉式菜单,请设计顶层表单frmmenu,将菜单menu_lin加入到该表单中,使得运行表单时菜单显示在本表单中,并在表单退出时释放菜单。
三、综合应用(1小题,计30分)
设计名为formbook的表单(控件名为form1,文件名为formbook)。表单的标题设为"图书情况统计"。表单中有一个组合框(名称为Combo1)、一个文本框(名称为Text1)和两个命令按钮"统计"(名称为Command1)和"退出"(名称为Command2)。 运行表单时,组合框中有三个条目"清华"、"北航"、"科学"(只有三个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击"统计"命令按钮,则文本框显示出"图书"表中该出版社图书的总数。 单击"退出"按钮关闭表单。
简单应用题答案:
1、sele 书名,作者,价格 FROM book,borrows,loans where book.图书登记号=loans.图书登记号 and ;
Loans.借书证号=borrows.借书证号 and 姓名=”田亮” order by 价格 desc into table booktemp
2、建一个frmmenu的表单,将表单的showwindows属性值设置为2,然后在表单的init事件代码中加入:DO
menu_lin.mpr with this,在表单的destory事件代码中加入:release menu menu_lin extended 。 注意其中extended不可少。
综合应用题答案:
表单的CAPTION属性设为“图书统计情况”,组合框的rowsource属性设为“清华,北航,科学”, rowsourcetype属性设为1,style属性设为2-下拉列表框。
表单的“统计”命令按钮的CLICK事件代码为:
close all
select count(*) from book where 出版社=thisform.combo1.value into array Temp
thisform.text1.value=temp(1)
表单的“退出”命令按钮的CLICK事件代码为:thisform.release
第 29 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 根据SCORE数据库,使用查询向导建立一个含有学生"姓名"和"出生日期"的标准查询QUERY31.QPR。
2. 从SCORE数据库中删除视图NEWVIEW。
3. 用SQL命令向SCORE1表插入一条记录:学号为"993503433"、课程号为"0001"、成绩是99。
4. 打开表单MYFORM34,向其中添加一个"关闭"命令按钮(名称为Command1),单击此按钮关闭表单(不可以有多余的命令)。
二、简单应用(2小题,每题20分,计40分)
1. 建立视图NEW_VIEW,该视图含有选修了课程但没有参加考试(成绩字段值为NULL)的学生信息(包括"学号"、"姓名"和"系部"3个字段)。
2. 建立表单MYFORM3,在表单上添加表格控件(名称为grdCourse),并通过该控件显示表course的内容(要求RecordSourceType属性必须为0)。
三、综合应用(1小题,计30分)
利用菜单设计器建立一个菜单TJ_MENU3,要求如下:(1) 主菜单(条形菜单)的菜单项包括"统计"和"退出"两项;(2) "统计"菜单下只有一个菜单项"平均",该菜单项的功能是统计各门课程的平均成绩,统计结果包含"课程名"和"平均成绩"两个字段,并将统计结果按课程名升序保存在表NEWTABLE中。(3) "退出"菜单项的功能是返回VFP系统菜单(SET SYSMENU TO DEFAULT)。菜单建立后,运行该菜单中各个菜单项。
简单应用题答案:
1、 create view new_view as sele 学号,姓名,系部 from student where 学号 in (sele 学号 from score1
where 成绩 is null)
2、 在表单上添加表格控件(名称为grdCourse),其中有一处C必须大写,否则无分。
综合应用题答案: 菜单项“平均”的过程代码为:
OPEN DATABASE SCORE
SELECT 课程名, AVG(成绩) as 平均成绩 FROM course,score1 where Course.课程号 = Score1.课程号 GROUP BY 课程名 ;
ORDER BY 课程名 INTO TABLE NEWTABLE
菜单项“退出”的命令代码为:set sysmnu to default
第 30 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 建立数据库BOOKAUTH.DBC,把表BOOKS.DBF和AUTHORS.DBF添加到该数据库。
2. 为AUTHORS表建立主索引,索引名"PK",索引表达式"作者编号"。
3. 为BOOKS表分别建立两个普通索引,其一索引名为"RK",索引表达式为"图书编号";其二索引名和索引表达式均为"作者编号"。(注意PK和RK的区别)
4. 建立AUTHORS表和BOOKS表之间的联系。
二、简单应用(2小题,每题20分,计40分)
1.打开表单MYFORM44,把表单(名称为Form1)标题改为"欢迎您",将文本"欢迎您访问系统"(名称为label1的标签)的字号改为25,字体改为隶书。再在表单上添加"关闭"(名称为Command1)命令按钮,单击此按钮关
量=该种外币的"现钞买入价"* 该种外币"持有数量"。单击"退出"按钮时关闭表单。
简单应用题答案:
1、 sele 外币名称,持有数量 from rate_exchange,currency_sl where Currency_sl.外币代码 = Rate_exchange.
外币代码 and ;
姓名 = "林诗因" order by 持有数量 into table rate_temp
综合应用题答案:“查询”命令按钮的CLICK事件代码为:
select 现钞买入价*持有数量 from Rate_exchange,Currency_sl where Currency_sl.外币代码 = Rate_exchange.外币代码 ;
and 姓名 =alltrim(thisform.text1.value) group by 姓名into array sl
thisform.text2.value=sl
第 32 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 新建一个名称为"外汇数据"的数据库。
2. 将自由表rate_exchange和currency_sl添加到数据库中。
3. 通过"外币代码"字段为rate_exchange和currency_sl建立永久联系(如果必要请建立相关索引)。
4. 打开表单文件test_form,该表单的界面如下图所示,请将标签"用户名"和"口令"的字体都改为"黑体"。
二、简单应用(2小题,每题20分,计40分)
1. rate_pro.prg中的程序功能是计算出"林诗因"所持有的全部外币相当于人民币的价值数量,summ中存放的是结果。注意:某种外币相当于人民币数量的计算公式:人民币价值数量 = 该种外币的"现钞买入价"* 该种外币"持有数量"。请在指定位置修改程序的语句,不得增加或删除程序行,请保存所做的修改。
2. 建立一个名为menu_rate的菜单,菜单中有两个菜单项"查询"和"退出"。"查询"项下还有子菜单,子菜单有"日元"、"欧元"、"美元"三个选项。在"退出"菜单项下创建过程,该过程负责返回系统菜单。
三、综合应用(1小题,计30分)
设计一个文件名为myrate的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为"外汇持有情况"。表单中有一个选项组控件(命名为myOption和两个命令按钮"统计"(command1)和"退出"(command2)。其中,选项组控件有三个按钮"日元"、"美元"和"欧元"。运行表单时,首先在选项组控件中选择"日元"、"美元"或"欧元",单击"统计"命令按钮后,根据选项组控件的选择将持有相应外币的人的姓名和持有数量分别存入rate_ry.dbf(日元)或rate_my.dbf(美元)或rate_oy(欧元)中。单击"退出"按钮时关闭表单。表单建成后,要求运行表单,并分别统计"日元"、"美元"和"欧元"的持有数量。
简单应用题答案:
1、 第一处将“find”改为“loca” 注意:loca 只准写四个字符,多写扣7分。
2、 第二处将“while not eof()”改为“do while not eof()”
3、 第三处将“summ=summ+a[1] * rate_exchange.持有数量”改为“summ=summ+a[1]*currency_sl.持有数
量”注意:[ ]不要改( )。
综合应用题答案:“统计”命令按钮的CLICK事件代码为:
DO CASE
CASE thisform.myOption.option1.value=1
SELECT 姓名,持有数量 FROM rate_exchange,Currency_sl where rate_exchange.外币代码=Currency_sl.外币代码 and ;
外币名称="日元" INTO TABLE rate_ry
CASE thisform.myOption.option2.value=1
SELECT 姓名,持有数量 FROM rate_exchange,Currency_sl where rate_exchange.外币代码=Currency_sl.外币代码
and ;
外币名称="美元" INTO TABLE rate_my
CASE thisform.myOption.option3.value=1
SELECT 姓名,持有数量 FROM rate_exchange,Currency_sl where rate_exchange.外币代码=Currency_sl.外币代码 and ;
外币名称="欧元" INTO TABLE rate_oy
ENDCASE
“退出”命令按钮的CLICK事件代码为:thisform.release
第 33 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 新建一个名为"学生管理"的项目文件。
2. 将"学生"数据库加入到新建的项目文件中。
3. 将"教师"表从"学生"数据库中移出,使其成为自由表。
4. 通过"学号"字段为"学生"和"选课"表建立永久联系(如果必要请先建立有关索引)。
二、简单应用(2小题,每题20分,计40分)
1. 用SQL语句对自由表"教师"完成下列操作:将职称为"教授"的教师新工资一项设置为原工资的120%,其他教师的新工资与原工资相等;插入一条新记录,该教师的信息:姓名"林红",职称"讲师",原工资10000,新工资10200,同时将你所使用的SQL语句存储于新建的文本文件teacher.txt中(两条更新语句,一条插入语句,按顺序每条语句占一行)。
2. 使用查询设计器建立一个查询文件stud.qpr,查询要求:选修了"英语"并且成绩大于等于70的学生的姓名和年龄,查询结果按年龄升序存放于stud_temp.dbf表中。
三、综合应用(1小题,计30分)
设计名为mystu的表单(文件名为mystu,表单名为form1),所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为"计算机系学生选课情况"。表单中有一个表格控件(Grid1),该控件的RecordSourceType的属性设置为4 (SQL说明)和两个命令按钮"查询"(command1)和"退出"(command2)。
运行表单时,单击"查询"命令按钮后,表格控件中显示6系(系字段值等于字符6)的所有学生的姓名、选修的课程名和成绩。单击"退出"按钮关闭表单。
简单应用题答案:
1、 teacher.txt中的三条SQL语句为:
update 教师 set 新工资=原工资*1.2 where 职称="教授"
update 教师 set 新工资=原工资 where 职称!="教授"
insert into 教师 values("林红","讲师",10000,10200)
综合应用题答案:“查询”命令按钮的CLICK事件代码为:
thisform.grid1.recordsource ="sele 姓名,课程名称,成绩 from学生,选课,课程 where 学生.学号=选课.学号 and;
课程.课程号=选课.课程号 and 系='6' "
“退出”命令按钮的CLICK事件代码为:thisform.release
第 34 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 新建一个名为"饭店管理"的项目。
2. 在新建的项目中建立一个名为"使用零件情况"的数据库,并将考生目录下的所有自由表添加到该数据库中。
3. 修改"零件信息"表的结构,增加一个字段,字段名为"规格",类型为字符型,长度为8。
4. 打开并修改mymenu菜单文件,为菜单项"查找"设置快捷键Ctrl+T。
二、简单应用(2小题,每题20分,计40分)
1. 用SQL语句完成下列操作:查询与项目号"s1"的项目所使用的任意一个零件相同的项目号、项目名、零件号和零件名称(包括项目号s1自身),结果按项目号降序排序,并存放于item_temp.dbf中,同时将你所使用的SQL语句存储于新建的文本文件item.txt中。
2. 根据零件信息、使用零件和项目信息三个表,利用视图设计器建立一个视图view_item,该视图的属性列由项目号、项目名、零件名称、单价、数量组成,记录按项目号升序排序,筛选条件是:项目号为"s2"。
三、综合应用(1小题,计30分)
设计一个文件名和表单名均为form_item的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题设为"使用零件情况统计"。表单中有一个组合框(combo1)、一个文本框(text1)和两个命令按钮"统计"(command1)和"退出"(command2)。 运行表单时,组合框中有三个条目"s1"、"s2"、"s3"(只有三个,不能输入新的,RowSourceType的属性为"数组",Style的属性为"下拉列表框")可供选择,单击"统计"命令按钮以后,则文本框显示出该项目所用零件的金额(某种零件的金额=单价*数量)。单击"退出"按钮关闭表单。 简单应用题答案:
1 select 项目信息.项目号, 项目名,零件信息.零件号,零件名称 from 零件信息,使用零件,项目信息 where 使用零件.项目号;
=项目信息.项目号 and 零件信息.零件号=使用零件.零件号 and 使用零件.零件号in (select 零件号 from 使用零件 where ;
项目号="s1") order by 使用零件.项目号 desc into table item_temp
综合应用题答案:
表单的load事件代码为:
public ss(3)
ss(1)='s1'
ss(2)='s2'
ss(3)='s3'
combo1的RowSourceType的属性为"数组",RowSource的属性为ss(3), Style的属性为"下拉列表框"。 “统计”命令按钮的CLICK事件代码为:
SELECT SUM (单价*数量) FROM 零件信息,使用零件,项目信息 where 使用零件.项目号=项目信息.项目号 and 零件信息.零件号=使用零件.零件号 and ;
使用零件.项目号=ALLTRIM(THISFORM.combo1.VALUE) GROUP BY 项目信息.项目号 INTO ARRAY TEMP
THISFORM.TEXT1.VALUE=TEMP
“退出”命令按钮的CLICK事件代码为:thisform.release
第 35 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 建立一个名称为"外汇管理"的数据库。
2. 将表currency_sl.DBF和rate_exchange.DBF添加到新建立的数据库中。
3. 将表rate_exchange.DBF中"买出价"字段的名称改为"现钞卖出价"。
4. 通过"外币代码"字段建立表rate_exchange.DBF和currency_sl.DBF之间的一对多永久联系(需要首先建立相关索引)。
二、简单应用(2小题,每题20分,计40分)
1. 在建立的"外汇管理"数据库中利用视图设计器建立满足如下要求的视图:1) 视图按顺序包含列Currency_sl.姓名、Rate_exchange.外币名称、Currency_sl.持有数量和表达式Rate_exchange.基准价* Currency_sl.持有数量;2) 按"Rate_exchange.基准价* Currency_sl.持有数量"降序排序;3) 将视图保存为view_rate。
2. 使用SQL SELECT语句完成一个汇总查询,结果保存在results.dbf表中,该表含有"姓名"和"人民币价值"两个字段(其中"人民币价值"为每人持有外币的"Rate_exchange.基准价* Currency_sl.持有数量"的合计),结果按"人民币价值"降序排序。
三、综合应用(1小题,计30分)
设计一个表单,所有控件的属性必须在表单设计器的属性窗口中设置,表单文件名为"外汇浏览",表单界面如下所示:
其中:1. "输入姓名"为标签控件Label1; 2. 表单标题为"外汇查询"; 3. 文本框的名称为Text1,用于输入要查询的姓名,如张三丰;4. 表格控件的名称为Grid1,用于显示所查询人持有的外币名称和持有数量,RecordSourceType的属性为0(表);5. "查询"命令按钮的名称为Command1,单击该按钮时在表格控件Grid1中按持有数量升序显示所查询人持有的外币名称和数量(如上图所示),并将结果存储在以姓名命名的DBF表文件中,如张三丰.DBF;6. "退出"命令按钮的名称为Command2,单击该按钮时关闭表单。完成以上表单设计后运行该表单,并分别查询"林诗因"、"张三丰"和"李寻欢"所持有的外币名称和持有数量。
简单应用题答案:
2、 sele 姓名,sum(基准价*持有数量) AS 人民币价值 FROM currency_sl,rate_exchange where Currency_sl.
外币代码=;
rate_exchange.外币代码 GROUP BY 姓名 ORDER BY 人民币价值 DESC INTO TABLE results
综合应用题答案:
“查询”命令按钮的CLICK事件代码为:
a=ALLTRIM(THISFORM.text1.VALUE)
sele 外币名称,持有数量 from rate_exchange,currency_sl where rate_exchange.外币代码=currency_sl.外币代码 and ;
姓名=a order by 持有数量 into table(a)
thisform..Grid1.RECORDSOURCE="(a)"
“退出”命令按钮的CLICK事件代码为:thisform.release
第 36 套(本套时间较长,请多练熟,考试时抓紧时间)
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 用SQL语句从rate_exchange.dbf表中提取外币名称、现钞买入价和卖出价三个字段的值并将结果存入rate_ex.dbf表(字段顺序为外币名称、现钞买入价、卖出价,字段类型和宽度与原表相同,记录顺序与原表相同),并将相应的SQL语句保存为文本文件one.txt。
2. 用SQL语句将rate_exchange.dbf表中外币名称为"美元"的卖出价修改为829.01,并将相应的SQL语句保存为文本文件two.txt。
3. 利用报表向导根据rate_exchange.dbf表生成一个外币汇率报表,报表按顺序包含外币名称、现钞买入价和卖出价三列数据,报表的标题为"外币汇率"(其他使用默认设置),生成的报表文件保存为rate_exchange。
4. 打开生成的报表文件rate_exchange进行修改,使显示在标题区域的日期改在每页的注脚区显示。
二、简单应用(2小题,每题20分,计40分)
1. 设计一个如下图所示的时钟应用程序,具体描述如下:
单编号升序排序,查询结果存放在results.dbf文件中,并要求将完整的SQL SELECT语句保存在SQL.PRG文件中。
三、综合应用(1小题,计30分)
建立满足如下要求的应用并运行,所有控件的属性必须在表单设计器的属性窗口中设置:1. 建立一个表单myform(文件名和表单名均为myform),其中包含两个表格控件,第一个表格控件名称是grd1,用于显示表customer中的记录,第二个表格控件名称是grd2,用于显示与表customer中当前记录对应的order表中的记录。要求两个表格尺寸相同、水平对齐。2. 建立一个菜单mymenu,该菜单只有一个菜单项"退出",该菜单项对应于一个过程,并且含有两条语句,第一条语句是关闭表单myform,第二条语句是将菜单恢复为默认的系统菜单。3.在myform的Load事件中执行生成的菜单程序mymenu.mpr。
简单应用题答案:
1、第一处将(此处空行)改为 “use customer”,第二处将“scan while ”改为“scan for”
2、程序SQL.prg的内容如下:
sele 公司名称,订单编号,金额,送货方式 from customer,order where customer.客户编号=order.客户编号 ;
ORDER BY 公司名称,order.订单编号 into table results
综合应用题答案:
1、添加两个表格到新建的表单中,尺寸相同,水平居中。右击表单,选择“数据环境”,在数据环境中添加"customer"和"order",建立好两表的关联。然后右键单击表格grd1,在弹出的快捷菜单中选择“生成器”,弹出表格生成器对话框,在“1.表格项”中选择"custmer",将表中所有字段添加到选定字段中,以同样的方法设置第二个表格的生成器。然后选择“4.关系”选项卡,把“父表中的关键字段”设置为customer.客户编号,把“子表中的相关索引”设置为客户编号。
2、菜单项"退出"的过程代码为:
Myform.release
Set sysmenu to defa
表单的load事件代码为:do mymenu.mpr
第 38 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 用SQL INSERT语句插入元组("p7","PN7",1020)到"零件信息"表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.prg中。
2. 用SQL DELETE语句从"零件信息"表中删除单价小于600的所有记录,并将相应的SQL语句存储在文件two.prg中。
3. 用SQL UPDATE语句将"零件信息"表中零件号为"p4"的零件的单价更改为1090,并将相应的SQL语句存储在文件Three.prg中。
4. 打开菜单文件mymenu.mnx,然后生成可执行的菜单程序mymenu.mpr。
二、简单应用(2小题,每题20分,计40分)
1.modi1.prg程序文件中SQL SELECT语句的功能是查询哪些零件(零件名称)目前用于三个项目,并将结果按升序存入文本文件results.txt。给出的SQL SELECT语句中在第1、3、5行各有一处错误,请改正并运行程序(不可以增、删语句或短语,也不可以改变语句行)。
2.根据项目信息(一方)和使用零件(多方)两个表、利用一对多报表向导建立一个报表,报表中包含项目号、项目名、项目负责人、(联系)电话、(使用的)零件号和数量等6个字段,报表按项目号升序排序,报表样式为经营式,在总结区域(细节及总结)包含零件使用数量的合计,报表标题为"项目使用零件信息",报表文件名为report。
三、综合应用(1小题,计30分)
按如下要求完成综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):1. 根据"项目信息"、"零件信息"和"使用零件"三个表建立一个查询(注意表之间的连接字段),该查询包含项目号、项目名、零件名称和(使用)数量四个字段,并要求先按项目号升序排序、再按零件名称降序排序,保存的查询文件名为chaxun;
2. 建立一个表单,表单名和文件名均为myform,表单中含有一个表格控件Grid1,该表格控件的数据源是前面建立的查询chaxun;然后在表格控件下面添加一个"退出"命令按钮Command1,要求命令按钮与表格控件左对齐、并且宽度相同,单击该按钮时关闭表单。
基本操作题答案:注意,文件扩展名为prg,不是txt。
1、insert into 零件信息 values ("p7","PN7",1020)
2、delete from 零件信息 where 单价<600
3、UPDATE 零件信息 SET 单价=1090 WHERE 零件号="p4"
简单应用题答案:
1、第一行将“=”改“ IN ”。 第三行将“项目号”改为“零件号”。第五行将“IN”改为“TO”
第 39 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开Ecommerce数据库,完成如下操作:
1.打开Ecommerce数据库,并将考生文件夹下的自由表OrderItem添加到该数据库。
2.为OrderItem表创建一个主索引,索引名为PK,索引表达式为"会员号+商品号";再为OrderItem创建两个普通索引(升序),一个的索引名和索引表达式均是"会员号";另一个的索引名和索引表达式均是"商品号"。
3.通过"会员号"字段建立客户表Customer和订单表OrderItem之间的永久联系(注意不要建立多余的联系)。
4.为以上建立的联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。
二、简单应用(2小题,每题20分,计40分)
1. 建立查询qq,查询会员的会员号(来自Customer表)、姓名(来自Customer表)、会员所购买的商品名(来自article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价 * OrderItem.数量),结果不要进行排序,查询去向是表ss。查询保存为qq.qpr,并运行该查询。
2. 使用表单向导选择客户表Customer生成一个文件名为myform的表单。要求选择客户表Customer表中所有字段,表单样式为阴影式;按钮类型为图片按钮;排序字段选择会员号(升序);表单标题为"客户基本数据输入维护"。
三、综合应用(1小题,计30分)
在考生文件夹下,打开Ecommerce数据库,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):设计一个名称为myforma的表单(文件名和表单名均为myforma),表单的标题为"客户商品订单基本信息浏览"。表单上设计一个包含三个选项卡的页框(pageframe1)和一个"退出"命令按钮(command1)。要求如下:1. 为表单建立数据环境,按顺序向数据环境添加Article表、Customer表和OrderItem表。2. 按从左至右的顺序三个选项卡的标签(标题)的名称分别为"客户表"、"商品表"和"订单表",每个选项卡上均有一个表格控件,分别显示对应表的内容(从数据环境中添加,客户表为Customer、商品表为Article、订单表为OrderItem)。3. 单击"退出"按钮关闭表单。
第 40 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开Ecommerce数据库,完成如下操作:
1.首先打开Ecommerce数据库,然后为表Customer增加一个字段,字段名为email、类型为字符、宽度为20。
2.为Customer表的"性别"字段定义有效性规则,规则表达式为:性别 $ "男女",出错提示信息为"性别必须是男或女",默认值为"女"。
3.通过"会员号"字段建立客户表Customer和订单表OrderItem之间的永久联系;通过"商品号"字段建立商品表Article和订单表OrderItem之间的永久联系。
4.为以上建立的联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开Ecommerce数据库,完成如下简单应用:
1. 使用报表向导建立一个简单报表。要求选择客户表Customer中所有字段;记录不分组;报表样式为随意式;列数为"1",字段布局为"列",方向为"纵向";排序字段为"会员号",升序;报表标题为"客户信息一览表";报表文件名为myreport。
2.使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。视图中包括客户的会员号(来自Customer表)、姓名(来自Customer表)、客户所购买的商品名(来自article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价 * OrderItem.数量),结果按会员号升序排序。
三、综合应用(1小题,计30分)
在考生文件夹下,打开Ecommerce数据库,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):设计一个文件名和表单名均为myform的表单,表单标题为"客户基本信息"。要求该表单上有"女客户信息"(Command1)、"客户购买商品情况"(Command2)、"输出客户信息"(Command3)和"退出"(Command4)四个命令按钮。各命令按钮功能如下:1) 单击"女客户信息"按钮,使用SQL的SELECT命令查询客户表Customer中"女"客户的全部信息。2) 单击"客户购买商品情况"按钮,使用SQL的SELECT命令查询简单应用中创建的sb_view视图中的全部信息。3) 单击"输出客户信息"按钮,调用简单应用中设计的报表文件myreport在屏幕上预览(PREVIEW)客户信息。4) 单击"退出"按钮,关闭表单。
简单应用题答案:
3、create view sb_view as sele customer.会员号,姓名,商品名,orderitem .单价, orderitem.数量,orderitem.单价* ;
orderitem.数量From customer,article,orderitem where customer.会员号=orderitem.会员号 and orderitem.商品号;
=article.商品号 Order by customer.会员号
综合应用题答案:
“女客户信息”命令按钮的CLICK事件代码为:select * from Customer where 性别="女"
“客户购买商品情况”命令按钮的CLICK事件代码为:open database ecommerce
select * from sb_view
“输出客户信息”命令按钮的CLICK事件代码为:report form myreport preview
“退出”命令按钮的CLICK事件代码为:thisform.release
第 41 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 从数据库stock中移去表stock_fk(不是删除)。
2. 将自由表stock_name添加到数据库中。
3. 为表stock_sl建立一个主索引,索引名和索引表达式均为"股票代码"。
4. 为stock_name表的股票代码字段设置有效性规则,"规则"是:left(股票代码,1)="6",错误提示信息是"股票代码的第一位必须是6"。
二、简单应用(2小题,每题20分,计40分)
1. 用SQL完成下列操作:列出所有赢利(现价大于买入价)的股票简称、现价、买入价和持有数量,并将检索结果按持有数量降序排序存储于表stock_temp中。
2. 使用一对多报表向导建立报表。要求:父表为stock_name,子表为stock_sl,从父表中选择字段:"股票简称";从子表中选择全部字段;两个表通过"股票代码"建立联系;按股票代码升序排序;报表标题为:"股票持有情况";生成的报表文件名为stock_report。
三、综合应用(1小题,计30分)
设计名为mystock的表单(控件名,文件名均为mystock)。表单的标题为:"股票持有情况"。表单中有两个文本框(text1和text2)和两个命令按钮"查询"(名称为Command1)和"退出"(名称为Command2)。运行表单时,在文本框text1中输入某一股票的汉语拼音,然后单击"查询",则text2中会显示出相应股票的持有数量。单击"退出"按钮关闭表单。
简单应用题答案:
1、sele 股票简称,现价,买入价,持有数量 from stock_name,stock_sl where (stock_sl.股票代码=stock_name.股票代码);
And 现价>买入价 order by 持有数量 desc into table stock_temp
综合应用题答案:
“查询”命令按钮的CLICK事件代码为:
SELE Stock_sl.持有数量 FROM stock_name,stock_sl where Stock_name.股票代码 = Stock_sl.股票代码 and 汉语拼音;
=alltrim(thisform.text1.value) into array temp
THISFORM.TEXT2.VALUE=temp(1)
“退出”命令按钮的CLICK事件代码为:thisform.release
第 42 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 新建一个名为"学生"的数据库。
2. 将"学生"、"选课"、"课程"三个自由表添加到新建的数据库"学生"中。
3. 通过"学号"字段为"学生"表和"选课"表建立永久联系。
4. 为上面建立的联系设置参照完整性约束:更新和删除规则为"级联",插入规则为"限制"。
二、简单应用(2小题,每题20分,计40分)
1. 用SQL语句完成下列操作:将选课在5门课程以上(包括5门)的学生的学号、姓名、平均分和选课门数按平均分降序排序,并将结果存放于数据库表stu_temp(字段名为学号、姓名、平均分和选课门数)。
2. 建立一个名为menu_lin的下拉式菜单,菜单中有两个菜单项"查询"和"退出"。"查询"项下还有一个子菜单,子菜单有"按姓名"和"按学号"两个选项。在"退出"菜单项下创建过程,该过程负责使程序返回到系统菜单。
三、综合应用(1小题,计30分)
设计名为mystu的表单(控件名为form1,文件名为mystu)。表单的标题为"学生学习情况统计"。表单中有一个选项组控件(命名为myOption)和两个命令按钮"计算"(名称为Command1)和"退出"(名称为Command2)。其中,选项组控件有两个按钮"升序"(名称为Option1)和"降序"(名称为Option2)。 运行表单时,首先在选项组控件中选择"升序"或"降序",单击"计算"命令按钮后,按照成绩"升序"或"降序"(根据选项组控件)将选修了"C语言"的学生学号和成绩分别存入stu_sort1.dbf和stu_sort2.dbf文件中。单击"退出"按钮关闭表单。 简单应用题答案:
1、 sele 学生.学号,姓名,sum(成绩) as 总成绩,count(选课.学号) AS 选课门数 from 选课,学生 WHERE 学
生.学号=选课.学号;
GROUP BY 选课.学号 HAVING COUNT(选课.学号)>=5 INTO TABLE aaa
sele 学号,姓名,总成绩/选课门数 as 平均分,选课门数 from aaa order by 平均分 DESC INTO TABLE stu_temp
综合应用题答案:
“计算”命令按钮的CLICK事件代码为:
DO CASE
CASE THISFORM.myOption.VALUE=1
SELECT 学生.学号,成绩 FROM 学生,选课,课程 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and;
课程名称="C语言" ORDER BY 成绩 INTO TABLE stu_sort1
CASE THISFORM.myOption.VALUE=2
SELECT 学生.学号,成绩 FROM 学生,选课,课程 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and;
课程名称="C语言" ORDER BY 成绩 desc INTO TABLE stu_sort2
ENDCASE “退出”命令按钮的CLICK事件代码为:thisform.release
第 43 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开数据库SCORE_MANAGER,该数据库中含三个有联系的表STUDENT、SCORE1和COURSE,根据已经建立好的索引,建立表之间联系。
2. 为COURSE表增加字段:开课学期(N,2,0)。
3. 为SCORE1表"成绩"字段设置字段有效性规则:成绩>=0,出错提示信息是:"成绩必须大于或等于零"。
4. 将SCORE1表"成绩"字段的默认值设置为空值(NULL)。
二、简单应用(2小题,每题20分,计40分)
1. 在SCORE_MANAGER数据库中查询学生的姓名和年龄(计算年龄的公式是:2003-Year(出生日期),年龄作为字段名),结果保存在一个新表NEW_TABLE1中。使用报表向导建立报表NEW_REPORT1,用报表显示NEW_TABLE1的内容。报表中数据按年龄升序排列,报表标题是"姓名-年龄",其余参数使用缺省参数。
2. 在SCORE_MANAGER数据库中查询没有选修任何课程的学生信息,查询结果包括"学号"、"姓名"和"系部"字段,查询结果按学号升序保存在一个新表NEW_TABLE2中。
三、综合应用(1小题,计30分)
SCORE_MANAGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。 为了对SCORE_MANAGER数据库数
意:字段名"开课单位"是在基本操作中根据"开课系部"修改后的字段名)。
三、综合应用(1小题,计30分)
SCORE_MANAGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。为了对SCORE_MANAGER数据库数据进行查询,设计一个表单Myform3(控件名为form1,表单文件名为Myform3)。表单标题为"成绩查询";表单有"查询"(名称为Command1)和"退出"(名称为Command2)两个命令按钮。表单运行时,单击"查询"按钮,查询每门课程的最高分,查询结果中含"课程名"和"最高分"字段,结果按课程名升序保存在表NEW_TABLE3。单击"退出"按钮,关闭表单。
基本操作题答案:
4、sele * from score1 ORDER BY 学号,成绩 DESC INTO TABLE NEW_ORDER
简单应用题答案:
1、sele count(dist 学号) AS 学生人数 FROM SCORE1 INTO TABLE NEW_TABLE
2、sele 课程名,开课单位 form course where 课程号 not in (sele 课程号 from score1) order by 课程名 ;
into table new_table2
综合应用题答案:
“查询”命令按钮的CLICK事件代码为:
SELECT 课程名,MAX(成绩) AS 最高分 FROM course,score1,student where Student.学号=Score1.学号 and ;
Course.课程号=Score1.课程号 GROUP BY 课程名 INTO TABLE NEW_TABLE3
“退出” 命令按钮的CLICK事件代码为:thisform.release
第 45 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 创建一个名为Sproject的项目文件。
2. 将考生文件夹下的学生数据库SDB添加到新建的项目文件中。
3. 打开学生数据库SDB,将考生文件夹下的自由表TEACHER添加到学生数据库SDB中;为教师表TEACHER创建一个索引名和索引表达式均为教师号的主索引(升序);为班级表CLASS创建一个索引名和索引表达式均为班主任号的普通索引(升序)。
4. 通过"班级号"字段建立班级表CLASS和学生表STUDENT表间的永久联系。通过班级表CLASS的"班主任号"字段与教师表TEACHER的"教师号"字段建立班级表CLASS和教师表TEACHER间的永久联系。
二、简单应用(2小题,每题20分,计40分)
1. 在考生文件夹下使用菜单设计器设计一个名称为SMENU的下拉式菜单。 要求如下:菜单包括"数据浏览"和"退出"两个菜单栏。①数据浏览菜单栏包括"学生表"和"课程表"两个选项: 学生表选项在过程中使用SQL语句"SELECT * FROM STUDENT"查询学生表STUDENT的记录。课程表选项在过程中使用SQL语句"SELECT * FROM COURSE"查询课程表COURSE的记录。 ②退出菜单栏包括"返回到系统菜单"一个选项:返回系统菜单选项在过程中使用命令返回系统默认的菜单。
2. 在考生文件夹下打开命令文件ONE.PRG,该命令文件用来建立一个名称为S_VIEW的视图,视图查询学生的班级号、班级名、姓名、性别和班主任名(来自TEACHER表的教师名)。命令文件只包含两条语句,第1条语句有一个错误,第2条语句有两个错误,请修改之,并运行。注意,修改时不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
三、综合应用(1小题,计30分)
在考生文件夹下,打开学生数据库SDB,完成如下综合应用:设计一个表单名为sform的表单,表单文件名为SDISPLAY,表单的标题为"学生课程教师基本信息浏览"。表单上有一个包含三个选项卡的页框(Pageframe1)控件和一个"退出"按钮(Command1)。其他功能要求如下: 1. 为表单建立数据环境,向数据环境依次添加STUDENT表(cursor1)、COURSE表(cursor2)和TEACHER表(cursor3)。2. 要求表单的高度为280,宽度为450;表单显示时自动在主窗口内居中。 3. 三个选项卡的标签的名称分别为"学生表"(Page1)、"课程表"(Page2)和"教师表"(Page3),每个选项卡分别以表格形式浏览学生表(grdStudent)、课程表(grdCourse)和教师表(grdTeacher)的信息。选项卡位于表单的左边距为18,顶边距为10,选项卡的高度为230,宽度为420。4. 单击"退出"按钮时关闭表单。
简单应用题答案:
第一处将“USE sdb”改为“OPEN DATA sdb”, 第二处将“CREATE VIEW”改为“CREA VIEW S_VIEW AS” 第三处将“WHERE Student.班级号=Class.班级号,Teacher.教师号=Class.班主任号”改为
“WHERE Student.班级号=Class.班级号 and Teacher.教师号 = Class.班主任号”。(加 and)
第 46 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开一个公司销售数据库SELLDB,完成如下操作:
1. 为各部门分年度季度销售金额和利润表S_T创建一个主索引和普通索引(升序),主索引的索引名为NO,索引表达式为"部门号+年度";普通索引的索引名和索引表达式均为部门号。
2. 在S_T表中增加一个名为"备注"的字段、字段数据类型为"字符"、宽度为30。
3. 使用SQL的ALTER TABLE语句将S_T表的年度字段的默认值修改为"2004",并将该SQL语句存储到命令文件ONE.PRG中。
4. 通过"部门号"建立S_T表和DEPT表间的永久联系,并为该联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"忽略"。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开公司销售数据库SELLDB,完成如下简单应用:
1. 使用一对多表单向导生成一个名为SD_EDIT的表单。要求从父表DEPT中选择所有字段,从子表S_T表中选择所有字段,使用"部门号"建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为部门号(升序);表单标题为"数据输入维护"。
2. 在考生文件夹下打开命令文件TWO.PRG,该命令文件用来查询各部门的分年度的部门号、部门名、年度、全年销售额、全年利润和利润率(全年利润/全年销售额),查询结果先按年度升序、再按利润率降序排序,并存储到S_SUM表中。 注意,程序在第5行、第6行、第8行和第9行有错误,请直接在错误处修改。修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
三、综合应用(1小题,计30分)
在考生文件夹下,打开公司销售数据库SELLDB,完成如下综合应用:设计一个表单名为Form_one、表单文件名为SD_SELECT、表单标题名为"部门年度数据查询"的表单,其表单界面如图所示。其他要求如下:1. 为表单建立数据环境,向数据环境添加S_T表(Cursor1)。2. 当在"年度"标签右边的微调控件中(Spinner1)选择年度并单击"查询"按钮(Command1)时,则会在下边的表格(Grid1)控件内显示该年度各部门的四个季度的销售额和利润。指定微调控件上箭头按钮(SpinnerHighValue属性)与下箭头按钮(SpinnerLowValue属性)值范围为2010-1999,缺省值(Value属性)为2003,增量(Increment属性)为1。 3. 单击"退出"按钮(Command2)时,关闭表单。要求:表格控件的RecordSourceType属性设置为"4-SQL说明"。
基本操作题答案:
4、ALTER TABLE S_T ALTER COLUMN 年度 SET DEFAULT "2004"
简单应用题答案:(注意:FROM S_T DEPT;少一“,”应改为“FROM S_T,DEPT;”,题中没说)
第一处将:“一季度利润+二季度利润+三季度利润+四季度利润/一季度销售额+二季度销售额+三季度销售额+
四季度销售额 AS 利率”
“(一季度利润+二季度利润+三季度利润+四季度利润)/(一季度销售额+二季度销售额+三季度销售额+四季度销
售额) AS 利润率”。
第二处将“GROUP BY 年度 利润率 DESC”改为“ORDER BY 年度,利润率 DESC”
第三处将“INTO S_SUM”改为 “INTO TABLE S_SUM”。
综合应用题答案:
“查询”命令按钮的CLICK事件代码为:
aa=(thisform.spinner1.value)
aa=alltrim(str(aa))
aa=left(aa,4)
ThisForm.Grid1.RecordSource="select * from S_T where 年度=aa"
“退出”命令按钮的CLICK事件代码为:thisform.release
第 47 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 用命令新建一个名为"外汇"的数据库,并将该命令存储于one.txt中;
2. 将自由表"外汇汇率"、"外汇账户"、"外汇代码"加入到新建的"外汇"数据库中;
3. 用SQL新建一个表rate,其中包含4个字段"币种1代码" C(2)、"币种2代码"C(2)、"买入价"N(8,4)、"卖出价"N(8,4),请将SQL语句存储于two.txt中。
4. 表单文件test_form中有一个名为form1的表单(如图),请将编辑框控件Edit1的滚动条去掉。
二、简单应用(2小题,每题20分,计40分)
1. 编写程序three.prg完成下列操作:根据"外汇汇率"表中的数据产生rate自由表中的数据。 要求:将所有"外汇汇率"表中的数据插入rate表中并且顺序不变,由于"外汇汇率"中的币种1和币种2存放的是外币名称,而rate表中的币种1代码和币种2代码应该存放外币代码,所以插入时要做相应的改动,外币名称与外币代码的对应关系存储在"外汇代码"表中。注意:程序必须执行一次,保证rate表中有正确的结果。
2. 使用查询设计器建立一个查询文件four.qpr。查询要求:外汇帐户中有多少日元和欧元。查询结果包括了外币名称、钞汇标志、金额,结果按外币名称升序排序,在外币名称相同的情况下按金额降序排序,并将查询结果存储于表five.dbf 中。
三、综合应用(1小题,计30分)
设计一个文件名和表单名均为myaccount的表单。表单的标题为"外汇持有情况"。表单中有一个选项按钮组控件(myOption)、一个表格控件(Grid1)以及两个命令按钮"查询"(Command1)和"退出"(Command2)。其中,选项按钮组控件有两个按钮"现汇"(Option1)、"现钞"(Option2)。运行表单时,首先在选项组控件中选择"现钞"或"现汇",单击"查询"命令按钮后,根据选项组控件的选择将"外汇账户"表的"现钞"或"现汇"(根据钞汇标志字段确定)的情况显示在表格控件中。单击"退出"按钮,关闭并释放表单。注:在表单设计器中将表格控件Grid1的数据源类型设置为"SQL说明"。
基本操作题答案:
1、creat database 外汇
3、create table rate (币种1代码 C(2), 币种2代码 C(2), 买入价 N(8,4), 卖出价 N(8,4))
4、将编辑框(EDIT1)的ScrollBars属性设置为“无”
简单应用题答案:
1、程序three.prg的内容如下:
SELECT 外汇代码.外币代码 AS 币种1代码, aa.外币代码 AS 币种2代码,买入价,卖出价 FROM 外汇代码,外汇汇率,;
外汇代码 aa where 币种2 =aa.外币名称 and 外汇代码.外币名称=币种1 INTO array temp
insert into rate from array temp
综合应用题答案:
“查询”按钮的CLICK事件代码为:
DO CASE
CASE THISFORM.myOption.VALUE=1
THISFORM.GRID1.RECORDSOURCE="SELECT 外币代码,金额 FROM 外汇账户 WHERE 钞汇标志='现汇' into table temp"
CASE THISFORM.myOption.VALUE=2
THISFORM.GRID1.RECORDSOURCE="SELECT 外币代码,金额 FROM 外汇账户 WHERE 钞汇标志='现钞' into table temp"
ENDCASE
“退出”按钮的CLICK事件代码为:thisform.release
第 48 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 建立项目"超市管理";并把"商品管理"数据库加入到该项目中。
2. 为商品表增加字段:销售价格N(6,2),该字段允许出现"空"值,默认值为.NULL.。
3. 为"销售价格"字段设置有效性规则:销售价格>0;出错提示信息是:"销售价格必须大于零"。
4. 用报表向导为商品表创建报表:报表中包括商品表中全部字段,报表样式用"经营式",报表中数据按商品编码升序排列,报表文件名report_a.frx。其余按缺省设置。
二、简单应用(2小题,每题20分,计40分)
1. 使用SQL命令查询2001年(不含)以前进货的商品,列出其分类名称、商品名称、进货日期,查询结果按进货日期升序排序并存入文本文件infor_a.txt中;所用命令存入文本文件cmd_aa.txt中;
2. 用SQL UPDATE 命令为所有商品编码首字符是"3"的商品计算销售价格:销售价格为在进货价格基础上加22.68%,并把所用命令存入文本文件cmd_ab.txt中。
三、综合应用(1小题,计30分)
建立表单,表单文件名和表单名均为myform_a,表单标题为"商品浏览",表单样例如图所示(左图)。其它功能要求如下:
1. 用选项按钮组(OptionGroup1)控件选择商品分类(饮料(Option1)、调味品(Option2)、酒类(Option3)、小家电(Option4));
2. 单击"确定"(Command2)命令按钮,显示选中分类的商品,要求使用DO CASE语句判断选择的商品分类(如右图所示);
3. 在右图所示界面中按Esc键返回左图所示界面;
4. 单击"退出"(Command1)命令按钮,关闭并释放表单。 注:选项按钮组控件的Value属性必须为数值型。 简单应用题答案:
1、cmd_aa.txt的内容如下:
SELECT 分类名称,商品名称,进货日期 FROM 商品,分类WHERE 商品.分类编码=分类.分类编码 AND 进货日期<{^2001-01-01};
order by 进货日期 TO FILE infor_a.txt
2、cmd_ab.txt的内容如下:
update 商品 set 销售价格=进货价格*1.2268 where substr(商品编码,1,1)="3"
综合应用题答案:
“确定”命令按钮的CLICK事件代码为:
DO CASE
1、第六行改为: carea=cya(r,h), 第十四行改为: RETURN C
2、NEW.TXT的内容如下:
SELE TOP 3 Employee.职工号,姓名,COUNT(Employee.职工号) AS 订单数 FROM employee,orders;
WHERE Employee.职工号=Orders.职工号 GROU BY Employee.职工号 ORDE BY 3 DESC INTO TABL newcoun 综合应用题答案:步骤如下:
1、建立好要求样式的表单,将表单的showwindos属性设置为2。表单的LOAD事件代码为:do mymenu.mpr with this,.t.
2、建立好下拉式菜单,将“显示”—>“常规选项”—>“顶层表单”选中
3、菜单项“小家电”的过程代码如下:
myform.grid1.recordsource="sele * from products,category where products.分类编码=category.分类编码 and;
category.分类名称='小家电' into cursor aaa"
菜单项“饮料”的过程代码如下:
myform.grid1.recordsource="sele * from products,category where products.分类编码=category.分类编码 and;
category.分类名称='饮料' into cursor aaa"
菜单项“酒类”的过程代码如下:
myform.grid1.recordsource="sele * from products,category where products.分类编码=category.分类编码 and;
category.分类名称='酒类' into cursor aaa"
菜单项“退出”的命令代码为: Myfrom.release
4、生成菜单
第 50 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开数据库"外汇",通过"外币代码"字段为"外汇代码" 和"外汇账户"建立永久联系。
2. 新建一个名为"外汇管理"的项目文件,将数据库"外汇"加入"外汇管理"项目中。
3. 修改mymenu菜单文件,为"文件"下的子菜单项"查找"设置访问键F(显示方式为"查找F"),并生成新的菜单程序。
4. 修改one.prg中的SQL语句,使之正确(该语句的功能是从rate表中删除币种1代码为14,并且币种2代码为27的记录)。
二、简单应用(2小题,每题20分,计40分)
1. 用SQL语句进行以下查询:查询"外汇账户"表中的日元信息。查询结果包括钞汇标志、金额,结果按金额降序排序,并存储于表two.dbf 中,并将SQL语句存储于新建的there.txt文件中。
2. 用一对多报表向导建立报表,"外汇代码"表为父表,"外汇账户"表为子表。要求:选择父表和子表中的全部字段;用"外币代码"字段为两个表建立关系;排序方式为按"外币代码"升序;报表样式为"帐务式",方向为"横向";报表标题为"外汇账户情况";报表文件名为report_account。然后在报表设计器中修改该报表,在报表标题带区的右端利用OLE对象插入文件picture.gif。
三、综合应用(1小题,计30分)
设计一个文件名和表单名均为rate的表单,表单的标题为"外汇汇率查询",表单界面如图所示,表单中有两个下拉列表框(Combo1和Combo2),这两个下拉列表框的数据源类型(RowSourceType属性)均为字段,且数据源(RowSource属性)分别是外汇汇率表的"币种1"和"币种2"字段;另外有币种1(Label1)和币种2(Label2
两个标签以及两个命令按钮"查询"(Command1)和"退出"(Command2)。运行表单时,首先从两个下拉列表框选择币种,然后单击"查询"按钮,用SQL语句从外汇汇率表中查询相应币种(匹配币种1和币种2的信息),并将结果存储到表temp_rate中。单击"退出"按钮关闭表单。
基本操作题答案:
1、 将“查找”改为:“查找\“常规选项”—>“顶层单表”项选中
4、 菜单项“浏览课程”的过程代码如下:myform.grid1.recrodsource=“课程”
菜单项“浏览选课统计”的过程代码如下:myform.gird1.recordsource=“SVIEW”
菜单项“预览报表”的过程代码如下:report form creport preview
菜单项“退出”的命令为代码为:myform.release
第 52 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1.建立数据库orders_manage,将自由表employee和orders添加到新建的数据库中。
2.为employee表的性别字段设置默认值"男"。
3.为employee表的"性别"字段定义有效性规则,规则表达式为:性别 $ "男女",出错提示信息为"性别必须是男或女"。
4.使用SQL命令从employee表中查询所有已婚(婚否字段值为逻辑真)记录的职工号、姓名和出生日期信
息,结果按出生日期降序排序存入表infor_da中,同时把所用命令存入文本文件cmd_da.txt。
二、简单应用(2小题,每题20分,计40分)
1.建立表单,表单文件名和表单控件名均为myform_da。为表单建立快捷菜单scmenu_d,快捷菜单有选项"时间"和"日期";运行表单时,在表单上单击鼠标右键弹出快捷菜单,选择快捷菜单的"时间"项,表单标题将显示当前系统时间,选择快捷菜单"日期"项,表单标题将显示当前系统日期。 注意:显示时间和日期用过程实现。
2.使用SQL命令从worker中查询年龄最大的三名职工信息:职工号、姓名、出生日期,查询结果按年龄降序(即出生日期升序)排序并保存在表infor_db.dbf中。
三、综合应用(1小题,计30分)
建立一个表单,表单文件名和表单控件名均为myform_db,表单标题为"数据浏览和维护",表单样例如图所示。其它功能要求如下:
1. 用选项按钮组(Optiongroup1)控件选择职工表(employee)(Option1)或订单表(orders)(Option2);(注意:括号使用全角符号)2. 用复选框(Check1)控件确定显示的表是否需要存盘;3. 单击"确定"(Command1)命令按钮,若"存盘"复选框被选中,则用SQL语句将选项组指定的表的内容存入表temp中,否则用SQL语句显示该表的内容; 4. 单击"退出"(Command2)命令按钮,关闭并释放表单。
基本操作题答案:
4、sele 职工号,姓名,出生日期 from employee wher employee.婚否=.T. into table infor_da;
order by employee.出生日期 desc
简单应用题答案:具体操作步骤如下:
1、建立表单,将其name属性改为”myform_da”。建立菜单,选择“快捷菜单”方式,创建菜单项“时间”
和“日期”。写代码:菜单项“时间”的过程代码为:myform_da.caption=time()。菜单项“日期”的过程代码为:myform_da.caption=dtoc(date())。生成菜单,按提示将其保存为scmenu_d。打开表单myform_da,在其RightClick事件中输入代码:do scmenu_d.mpr ,运行保存表单
综合应用题答案:
“确定”命令按钮的CLICK事件代码如下:
if thisform.check1.value=1
if thisform.optiongroup1.value=1
sele * from employee into table temp
sele * from orders into table temp
endif
if thisform.optiongroup1.value=1
sele * from employee
sele * from orders
endif
endif
第 53 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 从student表查询所有性别为"男"的学生信息,并按学号升序排序将查询结果存入results表。
2. 利用表单向导生成一个表单,该表单含有student表的学号、班级、姓名和性别4个字段,按学号字段升序排序,其他设置采用默认值,并将表单保存为student.scx文件。
3. 建立一个命令文件myprog.prg,该命令文件只有一行语句,即执行前一小题生成的表单文件。
4. 在student表最后增加一个"年龄"字段,类型为数值型(2)。
二、简单应用(2小题,每题20分,计40分)
1. 改错题
student是一个"学生"表,其中包含学号(C 8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生目录下的modi1.prg程序文件的功能是显示输出所有政治面目为"群众"的"男"生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。说明:程序中 ******ERROR FOUND******
的下一行即
简单应用题答案:
1、SELE TOP 5 姓名,出生日期 FROM employee ORDE BY 出生日期 INTO TABL emage
2、第一处改为:PARAMETERS a,b 第二处改为:RETURN c
综合应用题答案:
“计算”命令按钮的CLICK事件代码为:
n=thisform.optiongroup1.value
do case
case n=1
thisform.text3.value=thisform.text1.value+thisform.text2.value
case n=2
thisform.text3.value=thisform.text1.value-thisform.text2.value
case n=3
thisform.text3.value=thisform.text1.value*thisform.text2.value
case n=4
thisform.text3.value=thisform.text1.value/thisform.text2.value
endcase
第 55 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 将当前文件夹下的自由表CLASS(班级表)和TEACHER(教师表)添加到学生数据库SDB中;
2. 为班级表CLASS创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。为教师表TEACHER创建一个主索引,索引名和索引表达式均为教师号;
3. 通过"班级号"字段建立班级表CLASS和学生表STUDENT表间的永久联系。通过班级表CLASS的"班主任号"字段与教师表TEACHER的"教师号"字段建立班级表CLASS和教师表TEACHER间的永久联系;
4. 为以上建立的两个联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开学生数据库SDB,完成如下简单应用:
1.使用报表向导建立一个简单报表。要求选择STUDENT表中所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为"列",方向为"纵向";排序字段为"学号"(升序);报表标题为"学生基本情况一览表";报表文件名为TWO。
2. 使用查询设计器设计一个查询,查询每个班级的班级号、班级名、班长名和班主任名,查询结果按班级号升序排序,并输出到ONE表中。运行该查询,并将设计的查询保存为ONE.QPR文件。注意:① 表之间的关联,一个是STUDENT表的学号与CLASS表的班长号,另一个是CLASS表的班主任号与TEACHER表的教师号;② 查询结果的各列的名称分别为班级号、班级名、班长名和班主任名。班长名列的数据来自于STUDENT表的姓名,班主任名列的数据来自于TEACHER表的教师名。
三、综合应用(1小题,计30分)
在考生文件夹下,打开学生数据库SDB,完成如下综合应用:
设计一个表单文件名为form的表单,表单控件名为THREE,表单的标题名为"学生基本信息浏览"。在表单的左上方有一个标签(Label1),标签上的文字为"班级号";在标签的右边紧接着放置一个组合框控件(Combo1),将组合框控件的Style 属性设置为"下拉列表框",RowSourceType属性设置为"字段"(用来选择CLASS
级号);在组合框的右边紧接着放置一个"确认"命令按钮(Command2);在标签的下方放置一个表格控件(Grid1),将RecordSourceType属性设置为"4-SQL说明";在表单的右下方放置一个"退出"命令按钮(Command1)。表单界面如图所示。其他功能要求如下:
1. 为表单建立数据环境,向数据环境添加STUDENT表(cursor1)和CLASS表(cursor2)。2. 程序运行时,在组合框中选择某个班级的班级号,单击"确认"按钮后在表格中显示该班级的学生信息。 3. 单击"退出"按钮时,关闭表单。
简单应用题答案:
2、字段选项卡选CLASS.班级号,CLASS.班级名,STUDENT.姓名 AS 班长名,TEACHER.教师名 AS 班主任名(后两个字段在函数和表达式中输入后添加)联接选项卡中移去原来两个关联条件,重新建立关联:类型:INNER JOIN,字段名:STUDENT.学号=CLASS.班长号 AND 类型:INNER JOIN,字段名:CLASS.班主任号=TEACHER.教师号,排序依据:CLASS.班级号 升序
综合应用题答案:(注意 command2是确认不是确定,答案必须按下面写才有得分)
ThisForm.Grid1.RecordSource="select student.学号,student.姓名,student.年龄,student.性别 from student inner join;
class on student.班级号=class.班级号 where class.班级号='"+thisform.combo1.list(thisform.combo1.listindex) +"'"
第 56 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 建立数据库ordersmanage.dbc。把自由表employee.dbf和orders.dbf添加到数据库中。
2. 打开表单dh.scx,设置标签控件中英文字母的字号为18,保存表单。
3. 打开表单dh.scx,为命令按钮"隐藏"添加代码,使表单运行时,单击此按钮隐藏表单上标签控件label1;保存并运行该表单。
4. 利用报表向导建立一对多报表,以employee表为父表,选择其中职工号、姓名和性别字段;以orders表为子表,选择其全部字段。报表样式为简报式,表之间的关联通过"职工号"字段实现,排序方式为按职工号降序,报表标题为"职工订单"。报表其他参数取默认值。最后将生成的报表保存为empord.frx。
二、简单应用(2小题,每题20分,计40分)
1.打开程序文件progerr.prg,按文件中给出的功能要求改正其中的错误,以文件名prognew.prg重新保存该文件并运行程序。
2.建立如图所示顶层表单,表单文件名为myform.scx,表单控件名为myform,表单标题为"顶层表单"。
为顶层表单建立菜单mymenu。菜单栏如图所示(无下拉菜单),单击"退出"菜单时,关闭释放此顶层表单,并返回到系统菜单(在
过程中完成)。
三、综合应用(1小题,计30分)
打开表单文件sapp,并完成如下操作(不得有多余操作):● 将"课程"表添加到表单的数据环境中;● 使列表框List1中的数据项为"课程"表中的课程名(课程.课程名);● 单击列表框中的数据项时,统计选修了所选课程的学生人数(从"考试成绩"表),并将结果存储在以课程名命名的表中,表中只有一个字段"人数";● 添加一个命令按钮 Command1,单击该按钮时关闭表单。说明:完成该程序后必须运行,并且分别统计选修了"数据库"和"操作系统"课程的学生人数。
基本操作题答案:
3、thisform.label1.visible=.F.
简单应用题答案:
1、"CREATE viewes" 改为:"CREATE view viewes"; "SELECT * FROM orders "改为:" SELECT * FROM viewes";
第三行后加 into table newtable 。
2、将表单的showwindows属性设置为2,表单的LOAD事件代码为:DO mymenu.mpr with this, .t.。 建立菜单,
将“显示”—>“常规选项”—>“顶层表单”项选中,菜单项“退出”的过程代码为:myform.release。生成菜单,运行表单。
综合应用题答案:
列表框的CLICK事件代码如下:
select count(dist 学号) as 人数 from 课程,考试成绩 where 课程.课程编号=考试成绩.课程编号 and 课程名=;
thisform.list1.list(thisform.list1.listindex) into tabl thisform.list1.list(thisform.list1.listindex)
第 57 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,有一表单文件myform.scx。打开该表单文件,然后在表单设计器环境下完成如下操作:
1. 在属性窗口中将表单设置为不可移动的,并将其标题设置为"表单操作"。
2. 为表单新建一个名为mymethod的方法,方法代码为:wait "mymethod" window
3. 设置Ok按钮的Click事件代码,其功能是调用表单的mymethod方法。
4. 设置Cancel按钮的Click事件代码,其功能是关闭当前表单。
二、简单应用(2小题,每题20分,计40分)
1. 利用查询设计器创建查询,从xuesheng和chengji表中找出所有1982年出生的汉族学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排序;查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。
2. 首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图view1:利用该视图只能查询数学、英语和信息技术三门课中至少有一门不及格(小于60分)的学生记录;查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排序。最后利用刚创建的视图view1查询视图中的全部信息,并将查询结果存放在表table2中。
三、综合应用(1小题,计30分)
首先利用表设计器在考生目录下建立表table3,表结构如下: 民族 字符型(4); 数学平均分 数值型(6,2);英语平均分 数值型(6,2)。 然后在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前vfp系统菜单的末尾追加一个"考试"子菜单,如下图示。
菜单命令"计算"和"返回"的功能都通过执行过程完成。 菜单命令"计算"的功能是根据xuesheng表和chengji表分别统计汉族学生和少数民族学生在数学和英语两门课程上的平均分,并把统计数据保存在表table3中。表table3的结果有两条记录:第1条记录是汉族学生的统计数据,"民族"字段填"汉";第2条记录是少数民族学生的统计数据,"民族"字段填"其他"。菜单命令"返回"
的功能是恢复标准的系统菜单。菜单程序生成后,运行菜单程
序并依次执行"计算"和"返回"菜单命令。
基本操作题答案:
1、将表单的movable属性设为.F.(具体答案见文件夹myform.scx文件)
简单应用题答案
1、联接条件为表达式:表达式为:year(出生日期)=1982 and 民族=’汉’。
2、crea view view1 as sele xuesheng.学号,姓名,数学,英语,信息技术 from xuesheng,chengji where xuesheng.学号=;
chengji.学号 and (数学<60 or 英语<60 or 信息技术<60) order by xuesheng.学号 desc
sele * from view1 into table table2
综合应用题答案:
建立好下拉式菜单后,将“显示”—>“常规选项”—>“位置”—>“追加”项选中。菜单项“计算”的过程代码为:
SELECT 民族,avg(数学) as x,AVG(英语) AS y FROM xuesheng,chengji where Xuesheng.学号 = Chengji.学号 and 民族="汉"; INTO ARRAY aa
insert into table3 from array aa
SELECT 民族,avg(数学) as x,AVG(英语) AS y FROM xuesheng,chengji where Xuesheng.学号 = Chengji.学号 and 民族!="汉" ;
INTO ARRAY aa
insert into table3 from array aa
update table3 set 民族='其他' where 民族!="汉"
菜单项“返回”的过程代码为:set sysmenu to default
第 58 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下有一表单文件myform.scx,其中包含Text1和Text2两个文本框,以及Ok和Cancel两个命令按钮。打开该表单文件,然后在表单设计器环境下通过属性窗口设置相关属性完成如下操作:
1. 将文本框Text1和Text2的宽度都设置为100。
2. 设置Text1,使其在表单打开时显示123,数据类型为字符型。
3. 设置Text2,使其在表单打开时显示表单的宽度值,数据类型为数值型。注意:表单打开时的初始宽度可以是任意值。
4. 将Ok按钮设置为"确认"按钮,即通过按Enter键就可以选择该按钮;将Cancel按钮的第1个字母C设置成"访问键",即通过按字母键C就可以选择该按钮。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下已有xuesheng和chengji两个表,现请在考生目录下完成以下简单应用:
1. 利用查询设计器创建查询,根据xuesheng和chengji表统计出各班(学号的前8个数字串为班号)男、女生在英语课程上各自的最高分、最低分和平均分。查询结果包含班号、性别、最高分、最低分和平均分5个字段;各记录按班号升序排序,同一班的女生在前、男生在后;查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。
2. 使用报表向导创建一个简单报表。要求选择 xuesheng表中的所有字段;记录不分组;报表样式为帐务式;列数为2,字段布局为行,方向为纵向;按学号升序排序记录;报表标题为"XUESHENG";报表文件名为report1。
三、综合应用(1小题,计30分)
在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前 vfp系统菜单的末尾追加一个"考试"子菜单,如下图所示。
菜单命令"计算"和"返回"的功能都通过执行过程完成。菜单命令"计算"的功能是从xuesheng表和chengji表中找出所有满足如下条件的学生:其在每门课程上的成绩都大于等于所有同学在该门课程上的平均分。
USE TABLE3
SELECT * FROM table3 WHERE .f. INTO TABLE temp
SELECT 1
USE xuesheng
INDEX ON 学号 TAG 学号
SELECT 2
USE chengji
INDEX ON 学号 TAG 学号
SET RELATION TO 学号 INTO xuesheng
GO TOP
DO WHILE .NOT.EOF()
IF chengji.数学<60
INSERT INTO temp values (xuesheng.学号,xuesheng.姓名,'数学',chengji.数学)
ENDIF
IF chengji.英语<60
INSERT INTO temp values (xuesheng.学号,xuesheng.姓名,'英语',chengji.英语)
ENDIF
IF chengji.信息技术<60
INSERT INTO temp values (xuesheng.学号,xuesheng.姓名,'信息技术',chengji.信息技术)
ENDIF
ENDDO
SELECT * FROM temp ORDER BY 分数,学号 DESC INTO ARRAY arr
INSERT INTO table3 FROM ARRAY arr
CLOSE ALL
DROP TABLE temp
SET TALK ON
RETURN
第 60 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 修改菜单my_menu,my_menu中的"文件"菜单项下有子菜单项"新建"、"打开"、"关闭"和"退出",请在"关闭"和"退出"之间加一条水平的分组线,并为"退出"菜单项设置一条返回到系统菜单的命令(不可以使用过程)。
2. 使用"调试器"单步调试考生文件夹下的程序debug.prg,调试结束后,将调试输出窗口中的内容保存到文本文件debug_out.txt中。
3. 使用SQL建立表的语句建立一个与自由表"金牌榜"结构完全一样的自由表 golden.dbf。请将该SQL语句存储在文件one.prg中,否则不得分。
4. 使用SQL语句向自由表golden.dbf中添加一条记录("011",9,7,11)。请将该SQL语句存储在文件two.prg中,否则不得分。
二、简单应用(2小题,每题20分,计40分)
1. 使用SQL语句完成下面的操作:根据"国家"和"获奖牌情况"两个表统计每个国家获得的金牌数("名次"为1表示获得一块金牌)结果包括"国家名称"和"金牌数"两个字段,并且先按"金牌数"降序、再按"国家名称"降序排列存储到表temp中。请将该SQL语句存储在文件three.prg中,否则不得分。
2. 建立一个文件名和控件名均为myform的表单,表单构造见下图。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个"退出"命令按钮(Command1),这三个控件名使用系统默认的名字。相关控件属性设置要求:表单的标题为"奖牌查询",列表框的数据源使用SQL语句根据"国家"表显示国家名称,选项组中有三个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。
三、综合应用(1小题,计30分)
打开考生文件夹下的sport_project项目,项目中有一个表单sport_form,表单中包括三个命令按钮。请
完成如下操作:
1. 编写并运行程序Four.prg。程序功能是:根据"国家"和"获奖牌情况"两个表统计并建立一个新表"假奖牌榜",新表包括"国家名称"和"奖牌总数"两个字段,要求先按奖牌总数降序排列(注意"获奖牌情况"的每条记录表示一枚奖牌)、再按"国家名称"升序排列。
2. 为表单sport_form中的"生成表"命令按钮编写一条命令,执行Four.prg程序。
3. 将快速报表sport_report加入项目文件,并为表单sport_form中的命令按钮"浏览报表"编写一条命令,预览快速报表sport_report。
4. 将自由表"国家"和"获奖牌情况"加入项目文件sport_project,然后将项目文件连编成应用程序文件sport_app.app。
基本操作题答案:
1、首先在“关闭”与“退出”菜单项间插入一新菜单项,输入“\-”即可获取水平线,
“退出”菜单项的命令代码为:SET SYSMENU TO DEFAULT
3、程序one.prg的内容为:
use 金牌榜
copy stru to golden
4、程序TWO.prg的内容为: insert into golden valu("011",9,7,11)
简单应用题答案:
1、程序THREE.prg的内容为:
SELECT国家名称,COUNT(名次) AS 金牌数 FROM国家,获奖牌情况 where 国家.国家代码=获奖牌情况.国家代码;
and 获奖牌情况.名次=1 GROUP BY 国家.国家名称 ORDER BY 2 DESC,国家.国家名称 DESC INTO TABLE temp
2、将列表LIST1的rowsource属性设置为:“select 国家名称 from 国家”,Rowsourcetype属性设置为:3
综合应用题答案:程序Four.prg的内容为:
SELECT国家名称,COUNT(名次) AS 奖牌总数 FROM 国家,获奖牌情况 WHERE 国家.国家代码=获奖牌情况.国家代码;
GROUP BY 国家名称 ORDER BY 2 DESC,国家名称 INTO TABLE 假奖牌榜.dbf
表单sport_form中的"生成表"命令按钮的CLICK事件代码为:DO FOUR.PRG
表单sport_form中的命令按钮"浏览报表"的CLICK事件代码为:REPORT FORM SPORT_REPORT.FRX PREVIEW
第 61 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开考生文件夹下的表单one(如图所示),在"显示"命令按钮的Click事件中增加一条语句,使表单
运行时单击该命令按钮的结果是在Text1文本框中显示当前系统日期的年份。
2. 打开考生文件夹下的表单two(如图所示),为该表单新建一个方法test,该方法的功能是使"测试"按
钮变为不可用。("测试"按钮的Click事件中已经有一条语句负责调用test方法)。
3. 创建一个快速报表study_report,报表中包含"课程表"中的所有字段。
4. 使用SQL语句为"教师表"的"职工号"字段增加有效性规则:职工号的最左边三位字符是110,表达式应
为:LEFT(职工号,3)="110"。请将该SQL语句存储在three.prg文件中,否则不得分。
二、简单应用(2小题,每题20分,计40分)
1. 打开数据库文件"课程管理",使用 SQL语句建立一个视图salary,该视图包括了系号和(该系的)平均工资两个字段,并且按平均工资降序排列。请将该SQL语句存储在four.prg文件中,否则不得分。
2. 打开考生文件夹下的表单six(如图所示),"登录"命令按钮Click事件中的程序功能是:当用户输入用户名和口令以后,单击"登录"按钮时,程序根据自由表"用户表"的内容进行操作,若在"用户表"中找不到相应的用户名,则提示"用户名错误",若用户名输入正确,而口令输入错误,则提示"口令错误"。在"登录"命令按钮Click事件中空行处填加适当的语句,使其能够正确运行。注意:不得做其他修改。
三、综合应用(1小题,计30分)
1. 建立一个如图所示的表单名和文件名均为myform的表单。表单的标题是"教师情况",表单中有两个命令按钮(Command1和Command2),两个复选框(Check1和Check2)和两个单选钮(Option1和Option2)。Command1和Command2的标题分别是"生成表"和"退出",Check1和Check2的标题分别是"系名"和"工资",Option1和Option2的标题分别是"按职工号升序"和"按职工号降序"。
2. 为"生成表"命令按钮编写程序。程序的功能是根据表单运行时复选框指定的字段和单选钮指定的排序方式生成新的自由表。如果两个复选框都被选中,生成的自由表命名为 two.dbf,two.dbf的字段包括职工号、姓名、系名、工资和课程号;如果只有"系名"复选框被选中,生成的自由表命名为one_x.dbf,one_x.dbf的字段包括职工号、姓名、系名和课程号;如果只有"工资"复选框被选中,生成的自由表命名为one_xx.dbf,one_xx.dbf的字段包括职工号、姓名、工资和课程号。
3. 运行表单,并分别执行如下操作:(1)选中两个复选框和"按职工号升序"单选钮,单击"生成表"命令按钮;
(2)只选中"系名"复选框和"按职工号降序"单选钮,单击"生成表"命令按钮;(3)只选中"工资"复选框和"按职工号降序"单选钮,单击"生成表"命令按钮。
基本操作题答案:
1、“显示”命令按钮的Click事件代码为:thisform.text1.value=year(date())
2、test的事件代码为:thisform.command1.enabled=.f.
4、程序three.prg的内容如下:alter table 教师表 alter 职工号 set check LEFT(职工号,3)="110" 简单应用题答案: 1、程序four.prg的内容如下:由于阅卷系统问题,本题必须严格照抄,包括行数。
create sql view salary as;
select 教师表.系号,AVG(教师表.工资) AS 平均工资;
FROM 课程管理!教师表;
GROUP BY 教师表.系号;
ORDER BY 2 DESC
2、第一处加:do while not eof(),由于阅卷系统问题,not前后不能带. 第二处加:endif,第三处加:skip,第四处加:if flag=0
综合应用题答案:“生成表”命令按钮的CLICK事件如下:
Clos all
a=thisform.check1.value
b=thisform.check2.value
c=thisform.optiongroup1.option1.value
d=thisform.optiongroup1.option2.value
if a=1 and b=1
if c=1
select 职工号,姓名,系名,工资,课程号 from教师表,学院表 where 教师表.系号=学院表.系号;
order by 职工号 into table two
if d=1
select 职工号,姓名,系名,工资,课程号 from教师表,学院表 where 教师表.系号=学院表.系号; order by 职工号 desc into table two
endif
endif
endif
if a=1 and b=0
if c=1
select 职工号,姓名,系名,课程号 from教师表,学院表 where 教师表.系号=学院表.系号;
order by 职工号 into table one_x
if d=1
select 职工号,姓名,系名,课程号 from教师表,学院表 where 教师表.系号=学院表.系号;
order by 职工号 desc into table one_x
endif
endif
endif
if a=0 and b=1
if c=1
select 职工号,姓名,工资,课程号 from教师表,学院表 where 教师表.系号=学院表.系号;
order by 职工号 into table one_xx
if d=1
select 职工号,姓名,工资,课程号 from教师表,学院表 where 教师表.系号=学院表.系号;
order by 职工号 desc into table one_xx
endif
endif
endif
第 62 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开"宾馆"数据库,完成如下操作:
1. 打开"客户"表,给"性别"字段增加约束:性别只能为"男"或"女",默认值为:"女",表达式为: 性别 $ "男女";
2. 为"入住"表创建一个主索引,主索引的索引名为fkkey,索引表达式为:"客房号+客户号";
3. 根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。
表中的记录指针会自动移到学号相同的对应记录上。
二、简单应用(2小题,每题20分,计40分)
1. 利用查询设计器创建查询,从xuesheng和chengji表中查询数学、英语和信息技术三门课都在85分以上(含),或者数学、英语都在90分以上(含)而信息技术在75分以上(含)的学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排序;查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。
2. 首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图view1:利用该视图只能查询20001001班(学号的前8位数字串为班号)的学生记录;查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排序。最后利用刚创建的视图view1查询视图中的全部信息,并将查询结果存放在表table2中。
三、综合应用(1小题,计30分)
在考生文件夹下创建一个下拉式菜单 mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前vfp系统菜单的末尾追加一个"考试"子菜单,如下图所示。
菜单命令"计算"和"返回"的功能都通过执行过程完成。 菜单命令"计算"的功能如下: 1)先用SQL-SELECT语句完成查询:按学号降序列出所有学生在学号、姓名、数学、英语和信息技术5个字段上的数据,查询结果存放在表table3中。2)用ALTER TABLE语句在表table3中添加一个"等级"字段,该字段为字符型,宽度为4。 3)最后根据数学、英语和信息技术的成绩为所有学生计算等级:三门课程都及格(大于等于60分)且平均分大于等于90分的填为"优",三门课程都及格且平均分大于等于80分、小于90分的填为"良";三门课程都及格且平均分大于等于70分、小于80分的填为"中";三门课程都及格且平均分小于70分的填为"及格";其他的填为"差"。 菜单命令"返回"的功能是恢复标准的系统菜单。菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
基本操作题答案:
2、windowtype属性设为1
简单应用题答案:
2、crea view view1 as sele xuesheng.学号,姓名,数学,英语,信息技术 from xuesheng,chengji where xuesheng.学号=;
chengji.学号and left(xuesheng.学号,8)="20001001" order by xuesheng.学号 desc
sele * from view1 into table table2 本题也可用设计器做,命令供做时参考
综合应用题答案:菜单项“计算”的过程代码如下:
select xuesheng.学号,姓名,数学,英语,信息技术 from chengji,xuesheng where chengji.学号=xuesheng.学号;
order by xuesheng.学号 desc into table table3
alter table table3 add column 等级 c(4)
update table3 set 等级='优' where 数学>=60 and 英语>=60 and 信息技术>=60 and (数学+英语+信息技术)>=270
update table3 set 等级='良' where 数学>=60 and 英语>=60 and 信息技术>=60 and (数学+英语+信息技术)>=240;
and (数学+英语+信息技术)<270
update table3 set 等级='中' where 数学>=60 and 英语>=60 and 信息技术>=60 and (数学+英语+信息技术)>=210;
and (数学+英语+信息技术)<240
update table3 set 等级='及格' where数学>=60 and 英语>=60 and 信息技术>=60 and (数学+英语+信息技术)>=180;
and (数学+英语+信息技术
)<210
update table3 set 等级='差' where 等级=" "
菜单项“返回”命令代码为:SET SYSMENU TO DEFAULT
第 64 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开表单one(如图1所示),通过设置控件的相关属性,使得表单运行时的开始焦点在"打开"命令按钮,
并且接下来的焦点的移动顺序是"关闭"和"退出"
2. 打开表单two(如图2所示),使用"布局"工具栏的"顶边对齐"按钮将表单中的三个命令按钮控件的顶边对齐(如图3所示)。
3. 使用SQL语句创建一个名为"分组情况表"的自由表,"分组情况表"有两个字段:组号和组名,组号占两个字符,组名占10个字符。请将该SQL语句存储在three.prg中,否则不得分。
4. 使用SQL语句插入一个记录到"分组情况表"中,插入的内容是,组号:"01",组名:"通俗唱法"。请将该SQL语句存储在four.prg中,否则不得分。
二、简单应用(2小题,每题20分,计40分)
1. 歌手比赛分为四个组,"歌手表"中的"歌手编号"字段的左边两位表示了该歌手所在的组号。考生目录下的程序文件five.prg的功能是:根据"歌手表"计算每个组的歌手人数,将结果填入表 one.dbf,表one.dbf中有两个字段:"组号"和"歌手人数"。程序中有三处错误,请修改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名A不允许修改。
2. 建立一个数据库文件"歌手大奖赛.dbc",并将"歌手表"、"评委表"和"评分表"三个自由表添加到该数据库中。使用视图设计器建立视图 songer_view,该视图根据"歌手表"、"评委表"和"评分表"建立,视图中的字段项包括:评委姓名、歌手姓名、分数,视图中的记录按"歌手姓名"升序、"分数"降序排列。
三、综合应用(1小题,计30分)
1. 建立一个文件名和表单名均为myform的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和Command2),Command1和Command2的标题分别为"计算"和"退出"。2. 列表框(List1)中应显示组号,通过 RowSource和RowSourceType属性手工指定列表框的显示条目为 01、02、03、04(注意不要使用命令指定这两个属性,否则将不能得分)。3. 为"计算"命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的"组号",将"评分表"中该组歌手("歌手编号"字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表 two.dbf中,two.dbf的表结构与"评分表"相同,表中的记录先按"歌手编号"降序、再按"分数"升序排列。4. 运行表单,在列表框中指定组号"01",并且单击"计算"命令按钮。注意:结果two表文件中只能且必须包含01组歌手的评分信息。
基本操作题答案:
3、程序three.prg的内容为:create table 分组情况表(组号 c(2),组名 c(10))
4、程序four.prg的内容为:insert into 分组情况表 values("01","通俗唱法")
简单应用题答案:
1、第一处:while前加do,第二处:"歌手表.歌手编号=zuhao" 改为:"LEFT(歌手表.歌手编号,2)=zuhao" , 第三处: "into"
改为: "with"
综合应用题答案:3、“计算”菜单项的CLICK事件代码为:
SELECT * FROM 评分表 WHERE left(评分表.歌手编号,2) = thisform.list1.list(thisform.list1.listindex);
ORDER BY 评分表.歌手编号 DESC,评分表.分数 INTO TABLE two
第 65 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1、利用快捷菜单设计器创建一个弹出式菜单one(如图1所示),有两个选项。"增加"和"删除",两个选项之间用分组线分隔。
2. 创建一个快速报表app_report,报表中包含了"评委表"中的所有字段。
3. 建立一个数据库文件"大奖赛.dbc",并将"歌手表"、"评委表"和"评分表"三个自由表添加到该数据库中。
4. 使用SQL语句为"评委表"的"评委编号"字段增加有效性规则:评委编号的最左边两位字符是11(使用LEFT函数),并将该SQL语句存储在three.prg中,否则不得分。
二、简单应用(2小题,每题20分,计40分)
1. 建立一个文件名和表单名均为two的表单,然后为表单two建立一个名为quit的新方法,并在该方法中写一条语句Thisform.release;最后向表单中添加一个命令按钮(Command1),并在该命令按钮的Click事件中写一条语句调用为表单建立的新方法quit。
2. 使用SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到result.dbf表中(包含歌手姓名、最高分、最低分和平均分4个字段),要求结果按平均分降序。
三、综合应用(1小题,计30分)
1. 建立一个表单名和文件名均为myform的表单(如图2所示)。表单的标题是"评委打分情况",表单中有两个命令按钮(Command1和Command2)和两个单选钮(Option1和Option2)。Command1和Command2的标题分别是"生成表"和"退出",Option1和Option2的标题分别是"按评分升序"和"按评分降序"。
2. 为"生成表"命令按钮编写程序,程序的功能是根据简单应用题生成的result.dbf表按指定的排序方式生成新的表,单选钮选择"按评分升序"时,依次按最高分、最低分和平均分3个字段升序排序生成表 six_a,单选钮选择"按评分降序"时,依次按最高分、最低分和平均分3个字段降序排序生成表six_d。
3. 运行表单,选择"按评分升序"单选钮,单击"生成表"命令按钮;再选择"按评分降序"单选钮,单击"生成表"命令按钮(注意必须执行)。
基本操作题答案:
4、alter table 评委表 alter 评委编号 set check LEFT(评委编号,2)="11"
简单应用题答案:
2、sele 歌手姓名,max(分数) as 最高分,min(分数) as 最低分,avg(分数) as 平均分 from 歌手表,评分表; where 歌手表.歌手编号=评分表.歌手编号 group by 歌手表.歌手编号 order by 4 desc into table result 综合应用题答案: “生成表”的CLICK事件代码为:
DO CASE
CASE THISFORM.Optiongroup1.VALUE=1
SELECT * FROM result ORDER BY 最高分,最低分,平均分 INTO TABLE six_a
CASE THISFORM.Optiongroup1.VALUE=2
SELECT * FROM result ORDER BY 最高分 DESC,最低分 DESC,平均分 DESC INTO TABLE six_d
ENDCASE
第 66 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框。
2. 在表单one中,通过RowSource和RowSourceType属性手工指定组合框Combo1的显示条目为"上海"、"
北京"(不要使用命令指定这两个属性),显示情况如下图所示。
3. 向表单one中添加两个命令按钮Command1和Command2,其标题分别为"统计"和"退出"。为"退出"命令按钮的Click事件写一条命令,执行该命令时关闭和
释放表单。
4. 为表单one中的"统计"命令按钮的Click事件写一条SQL命令,执行该命令时,将"歌手表"中所有"歌手出生地"为上海歌手的全部信息存入自由表birthplace中。
二、简单应用(2小题,每题20分,计40分)
1. 建立一个查询score_query。查询评委为"歌手编号"是"01002"的歌手所打的分数,结果存入自由表result中,该自由表的字段项包括:"评委姓名"和"分数",各记录按分数升序排列。最后运行该查询。
2. 根据上一步操作得到的自由表result建立一个报表。要求:(1) 使用报表向导建立报表,报表中包括"评委姓名"和"分数"两个字段,按"分数"字段降序排列,报表标题设置为空,报表文件命名为score_result。
(2) 打开报表score_result,利用报表控件标签,将"王岩盐得分情况"添加到报表中作为报表的标题。
三、综合应用(1小题,计30分)
1. 编写程序并执行,计算"01"组(歌手编号的前2位)歌手的得分并将结果存入自由表FINAL.DBF中。 FINAL.DBF包含"歌手姓名"和"得分"两个字段,"得分"取各评委所打分数的平均值。FINAL.DBF中的结果按得分降序、歌手姓名降序排列。请将程序存储在two.prg中,否则不得分。 2. 新建一个文件名和表单名均为score_form的表单,向表单添加一个命令按钮Command1,标题为"计算",为该命令按钮的Click事件增加命令,调用two.prg程序执行。最后运行该表单,并单击"计算"按钮执行two程序。 3. 新建一个项目文件score_project,将自由表"歌手表"、"评委表"和"评分表"以及表单文件score_form加入该项目,然后将项目文件连编成应用程序文件score_app。
基本操作题答案:
4、“统计”命令按钮的CLICK事件代码为:
sele * from 歌手表.dbf where 歌手出生地=thisform.combo1.list(thisform.combo1.listindex) into table birthplace
综合应用题答案:1、程序two.prg的内容如下:
SELECT 歌手姓名,avg(分数) as 得分 FROM 歌手表,评分表 where 歌手表.歌手编号=评分表.歌手编号and;
left(歌手表.歌手编号,2)="01" GROUP BY 歌手姓名 ORDER BY 2 DESC,歌手姓名 DESC INTO TABLE final "计算"命令按钮的CLICK事件代码为:DO two.prg
第 67 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 利用表设计器为employee表创建一个普通索引,索引表达式为"姓名",索引名为xm。
2. 打开考生目录下的表单文件formone.scx,然后设置表单的Load事件代码:打开employee表,并将索引xm设置为当前索引。
3. 在formone表单中添加一个列表框,并设置列表框的属性:名称为mylist;高度为60;可以多重选择。
4. 设置formone表单中mylist列表框的有关属性,其中RowSourceType属性为字段,使得当表单运行时,列表框内显示employee表中姓名字段的值。
二、简单应用(2小题,每题20分,计40分)
1. 利用查询设计器创建查询,从employee和order表中查询金额最高的10笔订单。查询结果依次包含订单号、姓名、签订日期、金额4个字段;各记录按金额降序排序;查询去向为表tableone
。最后将查询保存在
1. 打开"TEST_DB"数据库,根据表DEPT和表SELL并使用查询设计器设计一个名称为THREE的查询,按年度统计各部门的月平均销售(通过销售额计算)、月平均工资(通过工资额计算)和月平均利润(通过"月平均销售-月平均工资"计算)。查询统计结果按部门号、年度升序排序,并将查询结果输出到表TABB中。表TABB的字段名依次为:部门号、部门名、年度、月平均销售、月平均工资、月平均利润。设计完成后,运行该查询。
2. 打开文件名为"testA"的表单。该表单完成如下功能: 每当用户输入用户名和口令并按"确认"按钮后,利用表PASS中记录检查其输入是否正确,若正确,就显示"欢迎使用本系统!"字样,并关闭表单;若不正确,则显示"用户名或口令不对,请重输入!"字样;如果三次输入不正确,就显示"用户名或口令不对,登录失败!"字样,并关闭表单。(1) 修改口令输入文本框,使输入的口令显示为"*"。(2) 修改该表单"确认"按钮的Click事件中的程序。请将第2、3、4、7和12行语句修改正确。修改时不允许增加或删除行,只能在错误行上进行修改。
三、综合应用(1小题,计30分)
建立一个文件名和表单名均为myform的表单文件,表单上有:表格控件grid1(RecordSourceType属性手工设置为"别名");文本框控件Text1;命令按钮控件Command1(文本为"确定")。程序运行时在文本框中输入部门名,然后单击"确定"命令按钮计算该部门各年度的销售额(合计)和利润(合计)(利润为"销售额-工资额"),按年度升序将结果(含年度、销售额和利润3个字段)保存在以部门名命名的dbf文件的同时,在Grid1控件中显示计算的结果。要求:程序完成后必须运行,并分别计算"笔记本产品部"和"计算机产品部"按年度的销售额和利润情况。
简单应用题答案:
1、新加如下三个表达式:avg(销售额) as 月平均销售,avg(工资额) as 月平均工资,avg(销售额-工资额) as 月平均利润
2、(1) 通过设置PassWordChar属性可实现文本框中的数据以“*”方式显示
(2) 第2、3行分别改为:ThisForm.Text1.Value 和ThisForm.Text2.Value,第4行“list all while”改为“locate all for”。
第7行“exit”改为“thisform.release”,第12行“loop”改为“thisform.release”。
综合应用题答案:“确定”命令按钮的CLICK事件代码为:
x="SELECT 年度,sum(销售额) as 销售额,sum(销售额-工资额) as 利润"
x=x+" FROM sell where 部门号 in (select 部门号 FROM DEPT WHERE 部门名='"+myform.text1.value+"')" x=x+" GROUP BY 年度"
x=x+" ORDER BY 年度"
x=x+" INTO TABLE "+myform.text1.value
&x
myform.Grid1.recordsource=myform.text1.value
第 69 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 将student表中学号为99035001的学生的院系字段值修改为"经济"。
2. 将score表的"成绩"字段的名称修改为"考试成绩" 。
3. 使用SQL命令(ALTER TABLE)为student表建立一个候选索引,索引名和索引表达式都是"学号",并将相应的SQL命令保存在three.prg文件中。
4. 使用非SQL命令为course表建立一个候选索引,索引名和索引表达式都是"课程编号",并将相应的命令保存在four.prg文件中(只保存建立索引的命令)。
二、简单应用(2小题,每题20分,计40分)
1. 建立一个满足如下要求的表单文件tab; (1) 表单中包含一个页框控件Pageframe1,该页框含有3个页面,页面的标题依次为"学生"(Page1)、"课程"(Page2)和"成绩"(Page3);(2) 依次将表student(学生)、course(课程)和score(成绩)添加到表单的数据环境中;(3) 直接用拖拽的方法使得在页框控件的相应页面上依次分别显示表student(学生)、course(课程)和score(成绩)的内容;(4) 表单中包含一个命令按钮"退出"(Command1),单击该按钮关闭并释放表单。
2. 给定程序(表单)modi2.scx,其功能是请用户输入一个正整数,然后计算从1到该数字之间有几个偶数、几个奇数、几个被3整除的数,并分别显示出来,最后给出总数目。请修改并调试该程序,使之正确运行。改错要求:在"计算"按钮的单击事件的程序中共有3处错误,请修改*****found****下面的错误,必须在原来位置修
改,不得增加或删减程序行(其中第一行的赋值语句不许减少或改变变量名)。在"退出"按钮下有一处错误,该按钮的功能是关闭并释放表单。
三、综合应用(1小题,计30分)
打开考生文件夹下的表单文件zonghe,并完成如下操作: 1、修改"添加>"命令按钮Click事件下的语句,使得当单击该命令按钮时,将左边列表框所选项添加到右边的列表框;2、修改"<移去"命令按钮Click事件下的语句,使得当单击该命令按钮时,将右边列表框所选项移去(删除);3、"确定"命令按钮Click事件下的程序的功能是查询右边列表框所列课程的学生的考试成绩(依次包含姓名、课程名称和考试成绩3个字段),并先按课程名称升序、再按考试成绩降序存储到表zonghe.dbf中。 注意:程序完成后必须运行,要求将"计算机基础"和"高等数学"从左边的列表框添加到右边的列表框,并单击"确定"命令按钮完成查询和存储。
基本操作题答案:
3、ALTER TABLE student ADD UNIQUE 学号 TAG 学号
4、use course
INDEX ON 课程编号 TAG 课程编号 CANDIDATE 本题只保存第二条命令。
简单应用题答案:
2、第一处:“x,s1,s2,s3=0” 改为 “store 0 to x,s1,s2,s3”;
第二处:“x=thisform.text1” 改为 “x=val(thisform.text1.value)”;
第三处:“if div(x,3)=0” 改为 “if mod(x,3)=0”;
第四处:“close” 改为 “thisform.release”
综合应用题答案:
“添加”命令按钮的CLICK事件代码为:thisform.list2.additem(thisform.list1.value)
“移去”命令按钮的CLICK事件代码为:thisform.list2.removeitem(thisform.list2.listindex)
“确定”命令按钮的CLICK事件代码后面加上:
SELECT姓名,课程名称,考试成绩 FROM student,score,course where Score.课程编号 = Course.课程编号 and;
Student.学号=Score.学号and &cn ORDER BY 课程名称,考试成绩 DESC INTO TABLE zonghe
第 70 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开考生文件夹下的表单one(如图所示),在"打开"命令按钮的Click事件中增加一条语句,使表单运行时单击该命令按钮的结果是使"关闭"按钮变为可用。
2. 打开考生文件夹下的表单two(如图1所示),在选项组中增加一个单选钮(如图2所示)。注意:不能改变原先的名称以及属性值。
图1 图2
3. 使用SQL语句为考生文件夹下的"学院表"增加一个字段"教师人数"(整数型),同时为该字段设置有效性规则:教师人数>=0。请将该SQL语句存储在three.prg文件中,否则不得分。
4. 使用SQL语句将考生文件夹下的自由表teacher中教师姓名为Jack的工资修改为8000元。请将该SQL语句存储在four.prg文件中,否则不得分。
二、简单应用(2小题,每题20分,计40分)
在考生目录下完成如下简单应用:
1.考生文件夹下的程序文件five.prg的功能是:根据"教师表"计算每个系的教师人数并将相应数据填入"学院表",程序中有三处错误,请修改并执行程序。只能修改标有错误的语句行,不能修改其他语句。
2. 在"课程管理"数据库中使用视图设计器建立视图teacher_view,该视图根据"教师表"和"课程表"建立,视图包括姓名、工资、课程名和学时4个字段,视图中的记录按"工资"升序排列。
三、综合应用(1小题,计30分)
1. 建立一个名为myform的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和Command2),Command1和Command2的标题分别为"生成表"和"退出"。
2. 设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性,使用SQL语句根据"学院表"的"系名"字段的内容在列表框中显示"系名"(注意不要使用命令指定这两个属性)。
3. 为"生成表"命令按钮的单击事件编写程序。程序的功能是根据表单运行时列表框中选定的"系名",将"教师表"表中相应系的所有记录存入以该系名命名的自由表中,自由表中包含"职工号","姓名"和"工资"三个字段,并按照"职工号"升序排列。
4. 运行表单,分别生成存有"计算机"、"通信"、"信息管理"系信息的3个表。
基本操作题答案:
1、“打开”命令按钮的CLICK事件代码为:thisform.command2.enabled=.T.
3、程序three.prg的内容为:ALTER TABLE 学院表 ADD 教师人数 I CHECK 教师人数=>0
4、程序four.prg的内容为:UPDATE TEACHER SET 工资=8000 WHERE 姓名="Jack"
简单应用题答案:
1、第一处:“DO .NOT. EOF()”改为“DO WHILE NOT EOF()”;第二处:“INTO A” 改为“INTO ARRAY A”, 第三处:“next” 改为 “skip”。
综合应用题答案:LIST1的rowsourcetype属性设为3-SQL说明,rowsource属性设为“sele 系名 from 学院表 into curs mylist”。
“生成表”命令按钮的CLICK事件代码为:
aa=alltrim(thisform.list1.value)
sele 职工号,姓名,工资 from 教师表,学院表 where 教师表.系号=学院表.系号 and 系名=aa order by 职工号 into table &aa
第 71 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开表单文件one,在表单设计器中将命令按钮Command1的标题修改为"开始"。
2. 在考生文件夹下建立项目文件one。
3. 在项目one中建立数据库student。
4. 在项目one中建立程序代码文件one.prg,其中包含如下一条命令:? "良好的开端" 。
二、简单应用(2小题,每题20分,计40分)
1. 建立表单two(表单名和表单文件名均为two),然后完成如下操作:1) 在表单中添加表格控件Grid1;
2) 在表单中添加命令按钮Command1(标题为"退出");3) 将表student添加到表单的数据环境中;4) 将Grid1的RecordSourceType属性设置为0(即数据源的类型为表),将Grid1的RecordSource属性设置为student,使得在表单运行时表格控件中显示表student的内容。
2. 使用SQL SELECT语句查询每个学生的平均成绩,结果包括"姓名"(出自student表)和"平均成绩"(根据score表的成绩字段计算)两个字段,并按"平均成绩"字段降序,"平均成绩"相等时按姓名升序将查询结果存储在表avgscore.dbf中。
三、综合应用(1小题,计30分)
1. 打开student数据库(基本操作题建立的),将自由表student、score和course添加到数据库中;
2. 在student数据库中建立反映学生选课和考试成绩的视图viewsc,该视图包括"学号"、"姓名"、"课程名称"和"成绩"4个字段;
3. 使用报表向导建立一个报表,该报表按顺序包含视图viewsc的"学号"、"姓名"、"课程名称"和"成绩"4个字段,样式为"简报式",报表文件名为three.frx;
4. 打开表单文件three,然后完成如下操作:1) 为"生成数据"命令按钮(Command1)写代码:用SQL命令查询视图viewsc的全部内容,要求先按"学号"升序、再按"成绩"降序排序,并将结果保存在result.dbf表文件中;
2) 为"运行报表"命令按钮(Command2)写代码:预览报表three.frx;3) 为"退出"命令按钮(Command3)写代码:
关闭并释放表单。最后运行表单three,并一定通过"生成数据"命令按钮产生result.dbf表文件。
简单应用题答案:
3、sele 姓名,avg(成绩) as 平均成绩 from student,score where student.学号=score.学号 group by student.学号;
order by 2 desc,姓名into table avgscore
综合应用题答案:
“生成数据”命令按钮的CLICK事件代码为:select * from viewsc order by 学号,成绩 desc into table result
“运行报表”命令按钮的CLICK事件代码为:report form three preview
“退出”命令按钮的CLICK事件代码为:Release ThisForm
第 72 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开SELLDB数据库,完成如下基本操作:
1. 创建"客户表"(客户号,客户名,销售金额),其中:客户号为字符型,宽度为4;客户名为字符型,宽度为20;销售金额为数值型,宽度为9(小数2位)。
2. 为第1小题创建的"客户表"建立一个主索引,索引名和索引表达式均为"客户号"。
3. 为"部门成本表"增加一个字段,字段名为"备注",数据类型为字符型,宽度为20。
4. 先选择"客户表"为当前表,然后使用报表设计器中的快速报表功能为"客户表"创建一个文件名为P_S的报表。快速报表建立操作过程均为默认。最后,给快速报表增加一个标题,标题为"客户表一览表"。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下的SELLDB数据库中包含"部门表"、"销售表"、"部门成本表"和"商品代码表"等。
1. 在考生文件夹下已有程序文件 three.prg,其功能如下:查询2006年各部门商品的年销售利润情况。查询内容为:部门号、部门名、商品号、商品名和年销售利润,其中年销售利润等于销售表中一季度利润、二季度利润、三季度利润和四季度利润的合计。查询结果按部门号升序,然后按年销售利润降序排序,并将查询结果输出到表TABA中。表TABA的字段名分别为:"部门号"、"部门名"、"商品号"、"商品名"和"年销售利润"。请打开程序文件three.prg,修改其中的错误,然后运行该程序。
2. 在考生文件夹下已有程序文件four.prg,其功能如下:计算2005年按部门不分商品的"年销售利润",以及"年销售利润"减去部门成本表中对应部门的"工资支出"和"办公支出"后的纯利润,并将结果存储到表account中。表account的字段名分别为:"部门号"、"部门名"、"年销售利润"、"工资支出"、"办公支出"和"纯利润"。请打开程序文件four.prg,修改其中的错误,然后运行该程序。
三、综合应用(1小题,计30分)
在考生文件夹下,打开SELLDB数据库,完成如下综合应用:
创建一个标题名为"部门销售查询"、表单名为Form1,文件名为XS的表单,如下图所示。表单要求如下:在该表单中设计两个标签、两个文本框、一个表格和两个命令按钮。1. 两个标签对象标题文本分别为"部门号:"(Label1)和"年度:"(Label2);两个文本框分别用于输入部门号(Text1)和年度(Text2);表格控件用于显示查询结果(Grid1)。2. 两个命令按钮的功能如下: ⑴ "查询"按钮(Command1):在该按钮的Click事件中编写程序,根据输入的部门号和年度,在表格控件中显示:该部门销售的"商品号"、"商品名"、"一季度利润"、"二季度利润"、"三季度利润"和"四季度利润",将查询结果存储到以"xs+部门号"为名称的表中(例如,部门号为02,则相应的表名为xs02.dbf)。 注意:表的字段名分别为:"商品号"、"商品名"、"一季度利润"、"二季度利润"
客户为单位、从customer 和orders表中求出订单金额的和。统计结果包含"客户号"、"客户名"和"合计"三项内容,其中"合计"是指与某客户所签所有订单金额的和。统计结果应按"合计"降序排序,并存放在tabletwo表中。菜单命令"退出"的功能是释放并关闭表单。 最后,请运行表单并依次执行其中的"统计"和"退出"菜单命令。 简单应用题答案:
4、第一处“columncount”->“ListCount”,第二处“value”->“list(1)”,第三处“s=s+thisform.list1.value”
->“s=s+","+thisform.list1.list(i)”
综合应用题答案:菜单项“统计”的过程代码为:
SELECT Customer.客户号,客户名,SUM(金额) AS 合计FROM customer,orders where Customer.客户号=Orders.
GROUP BY Customer.客户号 ORDER BY 3 DESC INTO TABLE tabletwo
菜单项“退出”的过程代码为:myform.release
第 74 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1.创建一个名为"订单管理"的数据库,并将已有的employee和orders两个表添加到该数据库中。
2.为orders表建立一个普通索引,索引名为je,索引表达式为"金额",降序索引。
3.在"订单管理"的数据库中新建一个名为customer的表,表结构如下:
客户号 字符型(4)
客户名 字符型(36)
地址 字符型(36)
4.通过"客户号"分别为customer 表建立主索引,为orders建立普通索引,索引名和索引表达式均为"客户
号",通过"客户号"为customer表和orders表之间建立一个一对多的永久联系。
二、简单应用(2小题,每题20分,计40分)
1.在考生文件夹下已有表单文件formone.scx,如下图所示,其中包含一个文本框、一个表格和两个命令按钮。请按下面要求完成相应的操作:1) 通过"属性"窗口,将文本框Text1的Value属性值设置为当前系统日期(日期型,不含时间)。 2) 通过"属性"窗口,将表格Grid1的RecordResourceType属性值设置为"4-SQL说明"。
3) 修改"确定"按钮的 Click 事件代码。当单击该按钮时,表格Grid1内将显示指定日期以后(含)签订的订单信息(包括"订单号"、"签订日期"和"金额"等信息)。4) 设置"关闭"按钮的Click事件代码。当单击该按钮时,将释放并关闭表单。
2.利用查询设计器创建查询,根据employee和orders表对各组在2001年所签订单的金额进行统计。统计结果仅包含那些总金额大于等于500的组,各记录包括"组别"、"总金额"、"最高金额"和"平均金额"4个字段;各记录按"总金额"降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。
三、综合应用(1小题,计30分)
1.创建一个下拉式菜单mymenu.mnx,运行该菜单程序时会在当前vfp系统菜单的末尾追加一个"考试"子菜
单,如下图所示。
菜单命令"统计"和"返回"的功能都通过执行过程完成。菜单命令"统计"的功能是以某年某月为单位求订单金额的和。统计结果包含"年份"、"月份"和"合计"三项内容(若某年某月没有订单,则不应包含记录)。统计结果应按年份降序月份升序排序,并存放在tabletwo表中。菜单命令"返回"的功能是返回标准的系统菜单。
2.创建一个项目myproject.pjx,并将已经创建的菜单mymenu.mnx设置成主文件。然后连编产生应用程序myproject.app。最后运行myproject.app,并依次执行"统计"和"返回"菜单命令。
简单应用题答案:
1、(3)“确定”命令按钮的CLICK事件代码如下:
第一处“to 4”->“on”,第二处“va=text1.value”->“va=thisform.text1.value”,第三处
“this.grid1.rowdsource=st”->“thisform.grid1.recordsource=st”
2、利用查询设计器创建查询,添加employee和orders表,选中题面要求的字段,其中在函数和表达式中添加
表达式:SUM(金额)
AS 总金额;MAX(金额) AS 最高金额;AVG(金额) AS 平均金额,并选中此字段。在“筛选”中添加:year(签
订日期)=2001。按
“总金额”降序排序,按“组别”进行分组,在“分组依据”的“满足条件”中设置总金额>=500。查询去向
为表tableone.
综合应用题答案: 菜单项“统计”的过程代码如下
sele year(签订日期) as 年份,month(签订日期) as 月份,sum(金额) as 合计from orders group by 1,2 order by 1 desc,2;
into table tabletwo
菜单项“返回”的过程代码如下:SET SYSMENU TO DEFAULT
第 75 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1.打开"订单管理"数据库,然后从中删除customer表。
2.为employee表建立一个普通索引,索引名为xb,索引表达式为"性别",升序索引。
3.为employee表建立一个普通索引,索引名为xyz,索引表达式为"str(组别,1)+职务",升序索引。
4.为employee表建立主索引,为orders建立普通索引,索引名和索引表达式均为"职员号"。通过"职员号"
在employee表和orders之间建立一个一对多的永久联系。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹下已有表单文件formone.scx,如下图所示,其中包含两个标签、一个组合框和一个文本框。
请按下面要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,而该职员所签订单的平均金额能自动显示在文本框里。1) 将orders表和employee表依次添加到该表单的数据环境中(不要修改两个表对应对象的各属性值)。2) 将组合框设置成下拉列表框;将employee表中的"姓名"字段作为下拉列表框条目的数据源(RowSourceType属性值应设置为:6-字段)。3) 将文本框Text1设置为只读。4) 修改组合框的InteractiveChange事件代码,使得当用户从组合框选择职员时,能够将该职员所签订单的平均金额自动显示在文本框里。
2.利用查询设计器创建查询,从employee和orders表中查询"组别"为1的组各职员所签所有订单的信息。查询结果依次包含"订单号"、"金额"、"签订者"三项内容,其中"签订者"为签订订单的职员姓名。各记录按"金额"降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。
三、综合应用(1小题,计30分)
在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前Visual FoxPro系统菜单的"帮助"子菜单之前插入一个"考试"子菜单,如下图所示。
菜单命令"统计"和"返回"的功能都通过执行过程完成。菜单命令"统计"的功能是以组为单位求订单金额的和。统计结果包含"组别"、"负责人"和"合计"三项内容,其中"负责人"为该组组长(由employee中的"职务"一项指定)的姓名,"合计"为该组所有职员所签订单的金额总和。统计结果应按"合计"降序排序,并存放在tabletw表中。菜单命令"返回"的功能是返回标准的系统菜单。菜单程序生成后,运行菜单程序并依次执行"统计"和"返回"菜单命令。
简单应用题答案:
1、3)表单中TEXT1控件的ReadOnly属性设置为 .T.。 4)text1.value=m2->thisform.text1.value=m2 综合应用题答案: 菜单项“统计”的过程代码为:
SELECT 组别,Sum(金额) AS 合计FROM employee,orders where employee.职员号=orders.职员号GROUP BY 组别INTO TABLE AAA
SELECT AAA.组别,姓名 as 负责人,合计FROM employee, AAA WHERE employee.组别=AAA.组别 and 职务="组长" order by 合计 DESC INTO TABLE tabletwo
第 76 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1. 打开考生文件夹下的数据库SPORT,首先永久删除该数据库中的temp表,然后将"金牌榜"、"获奖牌情况"
和"国家"三个自由表加入该数据库中。
2.使用"调试器"单步调试考生文件夹下的程序three.prg,调试结束后,将调试输出窗口中的内容保存到文本文件debug_out.txt中。
3.使用SQL语句为表"金牌榜"增加一个字段"奖牌总数"(整数型),同时为该字段设置有效性规则:奖牌总数>=0。请将该SQL语句存储在文件one.prg中,否则不得分。
4.使用SQL语句更改表"金牌榜"所有记录的"奖牌总数"字段值,该值应为"金牌数"、"银牌数"、"铜牌数"三项之和。请将该SQL语句存储在文件two.prg中,否则不得分。
二、简单应用(2小题,每题20分,计40分)
1.使用一对多表单向导新建一个表单SPM。要求:使用"国家"为父表并选择"国家名称"字段作为显示字段,"获奖牌情况"为子表并选择"项目名称"和"名次"字段作为显示字段,使用"国家代码"建立表之间的关系,表单样式选择"阴影式",按钮类型选择"图片按钮",按"国家名称"升序排列,表单标题为"奥运会获奖情况"。
2.在SPORT数据库中使用视图设计器建立视图sport_view,该视图根据"国家"和"获奖牌情况"两个表统计每个国家获得的金牌数("名次"为1表示获得一块金牌),视图中包括"国家名称"和"金牌数"两个数据项,视图中的记录先按"金牌数"降序排列、再按国家名称降序排列。
三、综合应用(1小题,计30分)
在考生文件夹下有一个名为myform的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作:1、在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性,使用SQL语句根据"国家"表中"国家名称"字段的内容在列表框中显示"国家名称"(注意不要使用命令指定这两个属性)。2、为"生成表"命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将"获奖牌情况"表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含"运动员名称","项目名称"和"名次"三个字段,并按照"名次"升序排列。提示:假设从列表框中选择的国家名称存放在变量gm中,那么在SQL SELECT语句中使用短语into table&gm就可以将选择的记录存入以该国家名命名的自由表中。3.运行表单,分别生成存有"中国"、"日本"、"美国"、"俄罗斯"4个国家获奖情况的4个自由表。
基本操作题答案:
3、alter table 金牌榜 add 奖牌总数 I check 奖牌总数>=0
4、UPDATE 金牌榜 SET 奖牌总数=金牌数+银牌数+铜牌数
简单应用题答案:
2、打开数据库SPORT,在“数据库”菜单中选择“新建本地视图”按钮,打开“视图设计器”。将“国家”和“获奖牌情况”表添加到视图中并建立相应连接,选择字段国家名称,在“函数和表达式”中设置表达式“COUNT(获奖牌情况.名次) AS 金牌数”,并选择此字段,在“筛选”栏内输入条件“名次=1”,在“排序依据”中按题面
要求设置降序排列,在“分组依据”中设置按“国家名称”分组,以视图名sport_view保存。
综合应用题答案:
1、rowSource属性的SQL语句为:select 国家名称 from 国家 into cursor mylist。 rowSource属性的值
2、“生成表”命令按钮的CLICK事件代码为:
gm=alltrim(thisform.list1.value)
select 运动员名称,项目名称,名次 from 获奖牌情况,国家where 获奖牌情况.国家代码=国家.国家代码 and;
国家名称=gm order by 名次 into table &gm
第 77 套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1.建立一个"客户"表,表结构如下;客户编号 C(8)、 客户名称 C(8)、联系地址 C(30)、联系电话 C(11)、
电子邮件 C(20)。
2.建立一个"客户"数据库,并将"客户"表添加到该数据库中。
3.将如下记录插入到"客户"表中。
43100112 沈红霞 浙江省杭州市83号信箱 13312347008 shenhx@sohu.com
44225601 唐毛毛 河北省唐山市100号信箱 13184995881 tangmm@bit.com.cn
50132900 刘云亭 北京市1010号信箱 13801238769 liuyt@ait.com.cn
30691008 吴敏霞 湖北省武汉市99号信箱 13002749810 wumx@sina.com
41229870 王衣夫 辽宁省鞍山市88号信箱 13302438008 wangyf@abbk.com.cn
4.利用报表向导生成一个"客户"(报表文件名)报表,报表的内容包含客户表的全部字段,报表的标题为"
客户",其他各项取默认值。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下有student(学生)、course(课程)和score(选课成绩)3个表,用SQL语句完成如下
1.查询每门课程的最高分,要求得到的信息包括课程名称和分数,将结果存储到me.dbf表文件(字段名是
课程名称和分数),并将相应的SQL语句存储到命令文件one.prg。
2.查询哪些课程有不及格的成绩,将查询到的课程名称存入表new.dbf,并将相应的SQL语句存储到命令文
件two.prg。
三、综合应用(1小题,计30分)
1.建立"学生"数据库; 2.把自由表student(学生)、course(课程)和score(选课成绩)添加到新建立的数据库;3.建立满足如下要求的表单formlist(控件名和文件名)(1) 添加一个表格控件Grid1,并按学号升序显示学生选课及考试成绩信息(包括字段学号、姓名、院系、课程名称和成绩);(2) 添加命令按钮"保存"(Command1)和"退出"(Command2),单击命令按钮"保存"时将表格控件Grid1中所显示的内容保存到表tbm(方法不限),单击命令按钮"退出"时关闭并释放表单。 注意:程序完成后必须运行,并按要求保存表格控件Grid1中所显示的内容到表tbm。
基本操作题 提示:录入数据错一处或少一字扣2分。
简单应用题答案:
1、程序one.prg的内容如下:
SELECT 课程名称, MAX(成绩) as 分数 FROM course,score where Course.课程编号 = Score.课程编号 GROUP BY 课程名称;
INTO TABLE me
2、程序two.prg的内容如下:
SELECT 课程名称 FROM course,score where Course.课程编号 = Score.课程编号 and 成绩<60 GROUP BY 课程名称;
INTO table new
综合应用题答案: 表格的recordsourcetype属性为“4-SQL说明”,“保存”命令按钮 init 事件代码如下: ThisForm.Grid1.RecordSource="SELECT Student.学号,姓名,院系,课程名称,成绩 FROM student,score,course where Score.课程编号=Course.课程编号and Student.学号=Score.学号 ORDER BY
表统计每个学生的平均成绩,并写入新添加的字段。该程序有三处错误,请改正之,使程序能正确运行(在指定处修改,不允许增加或删除程序行)。
三、综合应用(1小题,计30分)
1.根据"成绩管理"数据库中的"课程"、"选课"和"学生"三个表建立一个名为view_grade的视图,该视图包含学号、姓名、课程名称和成绩四个字段,并要求先按学号升序排序、在学号相同情况下按课程名称降序排序;
2.建立一个表单grade_list(控件名和文件名),添加一个表格控件,该表格控件的数据源是前面建立的视图view_grade(直接使用拖拽的方法添加该表格);然后在表格控件下面添加一个命令按钮(名称为Command1),该命令按钮的标题为"退出",要求单击按钮时关闭表单。 注意:完成表单设计后要运行表单的所有功能。 基本操作题答案:
4、UPDA 学生 SET 出生日期={^1983.05.1} WHER 姓名="王三风"
简单应用题答案:
1、select 姓名 from 学生,选课 where 学生.学号=选课.学号 and 成绩>=70 group by 姓名 having count (课程号)>=3;
INTO TABLE results
2、第一处:modify -> alter,第二处: EOF()-> .not. eof() ,第三处:= —> with 。
综合应用题答案:
1、create view view_grade as select 学生.学号,姓名,课程名称,成绩 from 学生,课程,选课 where 学生.学号=选课.学号;
and 选课.课程号=课程.课程号 order by 学生.学号,课程名称 desc
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开"点菜"数据库,完成如下操作:
1.打开"菜单表",增加一个"厨师姓名"字段,字段类型为字符型,宽度为8;
2.使用报表向导建立一个简单报表,要求选择"菜单表"中所有字段(其他不做要求),并把报表保存为one.frx文件。
3.打开第2题建立的报表文件one,将报表标题修改为"菜单一览表",最后保存所做的修改。
4.使用SQL的SELECT语句,根据顾客点菜表和菜单表查询顾客点单价大于等于40元菜的顾客号和菜编号、菜名、单价和数量,结果按菜编号降序排序并存储到名为TABA的表中,将SQL的SELECT语句存储到名为TWO.PRG的文件中。表TABA由SELECT语句自动建立。注意:在SQL语句中不要对表取别名。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,完成如下简单应用:
1.打开"点菜"数据库,使用查询设计器设计一个名称为THREE的查询,根据顾客点菜表和菜单表,查询顾客的"顾客号"和"消费金额合计"。顾客某次消费金额由数量*单价得出,而消费金额合计则为其各次消费金额之和。查询结果按"消费金额合计"降序排序,并将查询结果输出到表TABB中。表TABB的两个字段名分别为:顾客号,消费金额合计。设计完成后,运行该查询。
2.创建设计一个文件名为"testA"的表单,如下图所示。表单的标题名为"选择磁盘文件",表单名为"Form1"。该表单完成如下功能:
设置选项按钮组的Click事件代码,使每当在选项按钮组中选择一个文件类型,列表框(List1)就列出该文件类型的文件。列表框的列数为1。"退出"按钮的功能是"关闭和释放表单"。
提示:(1)选择的三种文件类型分别为Word、Excel和TXT文本文件。
(2)列表框的RowSourceType应设置为"7-文件"。
(3)若要让列表框显示Word文件,可将其RowSource属性设置为"*.DOC"。
三、综合应用(1小题,计30分)
在考生文件夹下,先打开"点菜"数据库,然后创建设计一个标题名为"查询"、文件名为"testB"的表单,如下图所示。
表单要求如下:
在该表单中设计一个标签(Label1)、一个文本框(Text1)、一个表格(Grid1)和三个命令按钮。
标签对象标题文本为"结帐日期"(Label1);文本框用于输入结帐日期(Text1);表格控件用于显示结果。 三个命令按钮的功能如下:
(1)"查询"(Command1)按钮:在该按钮的"Click"事件中使用SQL的SELECT命令查询结帐日期等于从文本框输入日期的顾客序号、顾客姓名、单位和消费金额,查询结果按消费金额降序排序,并将查询结果存储到表TABC中。
(2)"显示"(Command2)按钮:在该按钮的"Click"事件中使用命令将表TABC中记录在表格控件中显示。 提示:设置表格控件的RecordSourceType和RecordSource属性,其中RecordSourceType属性应设置成"4-SQL说明"。
(3)"退出"(Command3)按钮的功能是"关闭和释放表单"。
表单设计完成后,运行该表单,查询结帐日期等于2005-10-01的顾客信息。
基本操作题
4、SELECT 顾客号,菜单表.菜编号,菜名,单价,数量 FROM 菜单表,顾客点菜表 WHERE;
菜单表.菜编号=顾客点菜表.菜编号 AND 单价>=40 ORDER BY 菜单表.菜编号 DESC INTO TABLE TABA 简单应用题
2、选项按钮组的Click事件代码:
if thisform.optiongroup1.option1.value=1
thisform.list1.rowsource="*.doc"
endif
if thisform.optiongroup1.option2.value=1
thisform.list1.rowsource="*.xls"
endif
if thisform.optiongroup1.option3.value=1
thisform.list1.rowsource="*.txt"
endif
"退出"按钮的Click事件代码:thisform.release
综合应用题
"查询"按钮的CLICK事件代码:
Select 顾客序号,顾客姓名,单位,消费金额 from 点菜!结帐表 where ;
结帐日期 = ctod(thisform.text1.text) order by 消费金额 desc INTO TABLE tabc.dbf
"显示"按钮的CLICK事件代码:
thisform.grid1.recordsource="Select 顾客序号,顾客姓名,单位,消费金额 from 点菜!结帐表;
where 结帐日期 = ctod(thisform.text1.text) order by 消费金额 desc INTO TABLE tabc.dbf"
"退出"按钮的CLICK事件代码:THISFORM.RELEASE
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开DB数据库,完成如下基本操作:
1.给表TABB增加一个字段,字段名为"日期",数据类型为日期型。
2.使用SQL Update语句将表TABB中所有记录的字段"日期"的值修改为2005-10-01,并将SQL语句存储到名为TWO.PRG的文件中。
3.表TABA中有重复的记录,用SQL语句将表TABA中的记录复制到另外一个与它具有相同结构的表TABC中,并消除重复的记录(对于重复多次的记录,只复制一条记录的数据)。并将SQL的SELECT语句存储到名为THREE.PRG的文件中。
4.使用报表向导建立一个简单报表。要求选择TABA中所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为"列",方向为"横向";排序字段为No,升序;报表标题为"计算结果一览表";报表文件名为P_ONE。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开DB数据库,完成如下简单应用:
1.编写文件名为FOUR.PRG的程序,根据表TABA中所有记录的a,b,c三个字段的值,计算各记录的一元二次方程的两个根x1和x2,并将两个根x1和x2写到对应的字段x1和x2中,如果无实数解,在note字段中写入"无实数解"。注意:平方根函数为SQRT();程序编写完成后,运行该程序计算一元二次方程的两个根。
注意:一元二次方程公式如下:
2.打开文件名为testA的表单,表单界面上有两个命令按钮,界面要求如下:
(1)设置两个按钮的高度为:30;宽度为:80;"退出"按钮与"查询"按钮顶边对齐;
(2)"查询"按钮:在该按钮的Click事件中使用SQL的SELECT命令从表TABA中查询"无实数解"的记录存储到表TABD中;
(3)"退出"按钮:关闭并释放表单。
请按要求完成表单的设计,表单设计完成后,运行该表单,单击"查询"按钮进行查询。
三、综合应用(1小题,计30分)
在考生文件夹下,打开SDB数据库,完成如下应用:创建一个标题名为"查询"、文件名为testb的表单,如下图所示。
表单要求如下:1.为表单建立数据环境,向数据环境添加"学生表"。 2.表单启动后自动居中。
3.在该表单中设计一个标签、一个文本框、一个表格和两个命令按钮。
1) 标签对象标题文本为"学生注册日期"(Label1);文本框用于输入学生注册日期(Text1);表格控件用于显示结果(Grid1)。
2) 命令按钮的功能如下:①"查询"按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令从"学生表"中查询学生注册日期等于文本框中指定的注册日期的学生的学号、姓名、年龄、性别、班级和注册日期,查询结果按年龄降序排序,并将查询结果在表格控件中显示,同时将查询结果存储到表TABE中。 注意:查询结果存储到表TABE之前,应将表TABE中记录清空。TABE表是已经建立好的表,它与学生表的结构不完全一样,多两个字段。②"退出"按钮(Command2):的功能是"关闭和释放表单"。注意:表格控件的RecordSourceType属性设置为"4-SQL说明";表单设计完成后,运行该表单,查询注册日期等于2005年9月2日的学生信息。
基本操作题
use tabb
select distinct * from tabb into table tabc
简单应用题
1、在FOUR.PRG文件中输入代码:
use db!taba in 0
select taba
do while !eof()
select a,b,c,x1,x2,note from taba into array aa
a=aa(1)
b=aa(2)
c=aa(3)
IF a<>0
delta=b^2-4*a*c
re=-b/(2*a)
im=SQRT(ABS(delta))/(2*a)
IF delta>=0
root1=re+im
root2=re-im
replace x1 with root1
replace x2 with root2
repl note with "无实数解"
ENDIF
ENDIF
enddo
close database
2、"查询"按钮的Click事件代码: select * from taba where note="无实数解" into table tabd
"退出"按钮的Click事件代码:THISFORM.RELEASE
综合应用题:
将"学生表"添加为表单testb的数据环境,将表单testb的AutoCenter属性设置为".T."。
设置"查询"按钮的Click事件代码:
close all
delete from tabe
declare dd(1)
use 学生表
select 学号 as 学号,姓名 as 姓名,年龄 as 年龄,性别 as 性别,班级 as 班级,注册日期 as 注册日期; from 学生表 where 注册日期= ctod(thisform.Text1.text) into arra dd order by 年龄 desc
use tabe
appe from arra dd
thisform.grid1.recordsource="select 学号 as 学号,姓名 as 姓名,年龄 as 年龄,性别 as 性别,; 班级 as 班级,注册日期 as 注册日期 from 学生表 where ;
注册日期= ctod(thisform.Text1.text) into cursor tmp order by 年龄 desc"
"退出"按钮的Click事件代码:THISFORM.RELEASE
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1.新建一个名为"学校"的数据库文件,将自由表"教师表"、"课程表"和"学院表"添加到该数据库。
2.使用SQL语句ALTER TABLE...UNIQUE...将"课程表"中的"课程号"定义为候选索引,索引名是temp,并将该
a(1) = 3000
a(2) = 4000
a(3) = 5000
"生成"按钮的Click事件代码:
if thisform.optiongroup1.option1.value=1
for i=1 to 3
if thisform.combo1.listindex=i then
select * from 教师表 order by 工资 desc,姓名 into table salary where 教师表.工资>=a(i) endif
for i=1 to 3
if thisform.combo1.listindex=i then
select * from 教师表 order by 工资 desc,姓名 into table salary where 教师表.工资=1。
4. alter table 教师表 alter 职工号 set check LEFT(职工号,4)="1102"
简单应用题:
1、第一处:KEY-> PRIMARY KEY;第二处:TO->INTO;第三处:BY->SET;第四处:WHILE->WHERE
综合应用题:
"取前3名"过程的代码为:SELECT TOP 3 学院表.系名,avg(教师表.工资) as 平均工资 FROM 学院表,教师表; WHERE 学院表.系号=教师表.系号 GROUP BY 学院表.系名 ORDER BY 2 DESC into table sa_three
"取前5名"过程的代码为:SELECT TOP 5 学院表.系名,avg(教师表.工资) as 平均工资 FROM 学院表,教师表; WHERE 学院表.系号=教师表.系号 GROUP BY 学院表.系名 ORDER BY 2 DESC into table sa_five
在表单的RightClick事件中输入代码:do mymenu.mpr,
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
1.建立一个新表emp_bak.dbf,该表的结构与employee表的结构完全相同。
2.为employee表的"职员号"字段建立一个候选索引,索引名为empid,索引表达式为"职员号"。
3.使用报表向导生成一个报表文件employee.frx,其中包括employee表的职员号、姓名、性别和职务4个字段,报表样式为"简报式",按"职员号"升序排序,报表标题为"职员一览表"。
4.建立一个命令文件one.prg,该文件包含一条运行(预览)报表文件employee.frx的命令。
二、简单应用(2小题,每题20分,计40分)
1.建立一个表单文件myform,将employee表文件添加到数据环境中,在表单中添加表格控件grid1,指定其记录源类型为"别名"、记录源为employee表文件,最后添加一个"退出"命令按钮控件Command1,程序运行时单击该命令按钮将关闭表单。
2.修改two.prg文件中的SQL SELECT命令,使之正确运行时可以显示如下结果:
组别 组长 组员
1 朱茵 赵一军
1 朱茵 李龙
1 朱茵 王婧
1 朱茵 王一凡
2 李毅军 刘严俊
2 李毅军 杨小萍
2 李毅军 胡小晴
3 吴军 杨兰
3 吴军 吴伟军
3 吴军 赵小青
3 吴军 韦小光
4 杨一明 李琪
4 杨一明 杨小阳
4 杨一明 李楠
4 杨一明 胡一刀
三、综合应用(1小题,计30分)
按要求完成如下综合应用:
1. 建立如下图所示的表单文件form_three(表单名为form1)。标签控件命名为Ln,文本框控件命名为Textn,命令按钮控件命名为Commands。表单运行时在文本框中输入职员号,单击"开始查询"命令按钮查询该职员所经手的订购单信息(order表),查询的信息包括:订单号、客户号、签订日期和金额,按签订日期升序排序,并将结果存储到用字母't'加上职员号命名的表文件中(如职员101经手的订购单信息将存储在t101.dbf文件),每次完成查询后关闭表单。
2.建立菜单mymenu,包含菜单项"查询"和"退出",选择"查询"时运行表单form_three(直接用命令),选择"退出"时返回到默认的系统菜单(直接用命令SET SYSMENU TO DEFAULT)。
3.最后从菜单运行所建立的表单,并依次查询职员107、111和115经手的订购单信息。
基本操作题
1、 use employee
copy structure to emp_bak
4. report form employee environment preview
简单应用题:
3、第2行语句修改为:,(逗号)-> join;第3行语句修改为:p.职务="组长"->c.职务="组长", c.姓名=p.姓名->c.姓名<>p.姓名;
综合应用题:
"查询"按钮的Click事件代码:
x='t'+alltrim(thisform.Textn.value)
SELECT Order.订单号,Order.客户号,Order.签订日期,Order.金额;
FROM employee INNER JOIN order ;
ON Employee.职员号=Order.职员号;
where Order.职员号=alltrim(thisform.Textn.value);
ORDER BY Order.签订日期;
INTO TABLE &x
thisform.release
"查询"菜单的结果列中选择"命令",选项列中输入do form form_three,"退出"菜单项的结果列中选择"命令",选项列中输入SET SYSMENU TO DEFAULT。
上机考试注意事项:1、题中给的命令原样照抄不能省;2、生成文本文件时要加扩展名;3、命令写完全;4、每做完一大题关闭VF重新打开;5、题中给的对象属性原来大写的要大写;6、答题不要离开考生目录。
一、基本操作题(共4题,第1、2题各7分,第3、4题各8分,共计30分)
(1)新建一个名为"图书管理"的项目。
(2)在项目中建一个名为"图书"的数据库。
(3)考生文件夹下的自由表books、borrows和loans添加到"图书"数据库中。
(4)在项目中建立查询tscx,查询books表中"价格"大于等于"70"的图书的所有信息,查询结果按"价格"排序。
一、基本操作题
【审题