期末考试的上机随机抽查一套
第1套
有两个数据表: 学生信息表(XS.DBF)和学生成绩表(CJ.DBF)。其数据形式如下: 学生信息表(XS.DBF) 考 号 姓 名 07020104 李 萍 07040109 黄 程 07030106 王 军 07020132 周小丽 07050223 程 成 07010213 张 伟 学生成绩表(CJ.DBF) 考 号 笔试成绩 上机成绩 成绩合格否 07010213 86 优 .F. 07030106 45 缺考 .F. 07040109 91 优 .F. 07020132 07050223 07020104 74 79 57 及格 不及格 及格 .F. .F. .F. 2、建立程序文件COM-SQL711.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)正确修改每个学生的“成绩合格否”字段,并填入学生成绩表CJ.DBF中。规定笔试
成绩<60或上机成绩为“缺考”或“不及格”,则该字段值为.F.,否则为.T.;
(2)在学生成绩表CJ.DBF中,查询并显示成绩合格学生的考号、姓名、笔试成绩和上机成绩;
(3)逻辑删除学生成绩表CJ.DBF中,上机考试缺考的考生; (1)VFP命令:USE CJ
REPLACE ALL成绩合格否 WITH .T. FOR 笔试成绩>=60 AND (上机成绩=“及格” OR上机成绩=“优”)
SQL命令:UPDATE CJ SET 成绩合格否=.T. WHERE笔试成绩>=60 AND (上机成绩=“及格” OR上机成绩=“优”) (2) VFP命令:SELECT 1 USE XS
INDEX ON 考号 TAG KH SELECT 2 USE CJ
SET RELATION TO 考号 INTO XS
LIST 考号,XS.姓名,笔试成绩,上机成绩 FOR成绩合格否=.T.
SQL命令:SELECT XS.考号,姓名,笔试成绩,上机成绩 FROM XS,CJ WHERE XS.考号=CJ.考号 AND 成绩合格否=.T. (3)VFP命令:USE CJ
DELETE FOR 上机成绩=“缺考”
SQL命令:DELETE FROM CJ WHERE上机成绩=“缺考”
第2套
有两个数据表: 职工数据表(ZGB.DBF)和工资数据表(GZB.DBF)。其数据形式如下:
职工数据表ZGB.DBF 职工号 姓名 婚否 职称 020365 周尔杰 .T. 工人 020528 王雨 .T. 技术员 010234 李丽 .F. 技术员 020458 李长新 .T. 工程师 020636 郑然 .F. 工人 工资数据表GZB.DBF 职工号 基本工资 津贴 奖金 公积金 实发工资 020365 882.00 213.5 115 90 020528 1562.00 283.0 144 140 010234 1306.00 223.0 115 120 020458 1748.00 302.0 156 160 020636 864.00 143.0 98 70 2、建立程序文件COM-SQL712.PRG,要求将完成下列各小题任务的VFP数据表操作命令或
VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并请用注释语句标注小题号。(30分)
(1)计算每个职工的“实发工资”字段,并填入工资数据表GZB.DBF中。其中:实发工资=基本工资+津贴+奖金-公积金;
(2)显示未婚职工的职工号、姓名、基本工资和实发工资; (3)计算工资表GZB中所有职工的平均奖金和实发工资总额; (1)VFP命令:USE GZB
REPLACE ALL实发工资 WITH 基本工资+津贴+奖金-公积金 SQL命令:UPDATE GZB SET 实发工资=基本工资+津贴+奖金-公积金 (2) VFP命令:SELECT 1 USE ZGB
INDEX ON 职工号 TAG ZGH SELECT 2 USE GZB
SET RELATION TO 职工号 INTO ZGB
LIST 职工号,ZGB.姓名,基本工资,实发工资 FOR NOT ZGB.婚否 CLOSE ALL
SQL命令:SELECT GZB.职工号,姓名,基本工资,实发工资 FROM ZGB,GZB WHERE ZGB.职工号=GZB.职工号 AND NOT ZGB.婚否 (3)VFP命令:USE GZB
CALCULATE AVG(奖金),SUM(实发工资) TO A,B ?”平均奖金:”,A,” 实发工资总额:”,B
SQL命令:SELECT AVG(奖金) AS平均奖金,SUM(实发工资) AS实发工资总额FROM GZB
第3套*************************
有两个数据表: 运动员基本情况表(JBB.DBF)和运动成绩表(YDCJ.DBF)。其数据形式如下:
运动员基本情况表(JBB.DBF) 编号 姓名 部门 07001 07003 07005 07002 07004 张谦 吴静 陈冬梅 王兰 刘涛 机关 机关 后勤 机关 后勤 总成绩 运动成绩表(YDCJ.DBF) 编号 跳高 游泳 其它 07001 1 0 5 3 7 4 3 3 4 7 3 07002 5 07003 2 07004 0 07005 7 2、建立程序文件COM-SQL713.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并请用注释语句标注小题号。(30分)
(1)计算每位运动员的“总成绩”字段,并填入运动成绩表YDCJ.DBF中,其中:总成绩=跳高+游泳+其它;
(2)按总成绩从高到低的顺序显示运动员的编号及总成绩; (3)显示“机关”部门各运动员的编号、姓名和总成绩;
(1)VFP命令:USE YDCJ
REPLACE ALL 总成绩 WITH 跳高+游泳+其它 SQL命令:UPDATE YDCJ SET 总成绩=跳高+游泳+其它 (2) VFP命令: USE YDCJ
INDEX ON 总成绩 TAG ZCJ DESC LIST 编号,总成绩
SQL命令:SELECT 编号,总成绩 FROM YDCJ ORDER BY 总成绩 DESC (3)VFP命令:SELECT 1 USE JBB
INDEX ON 编号 TAG ZGH SELECT 2 USE YDCJ
SET RELATION TO 编号 INTO ZGB
LIST 编号,JBB.姓名,总成绩 FOR JBB.部门=“机关”
SQL命令:SELECT JBB.编号,姓名,总成绩 FROM JBB,YDCJ WHERE JBB.编号=YDCJ.编号 AND 部门=“机关”
第4套
有两个数据表: 学生信息表(XS.DBF)和食堂消费数据表(XF.DBF)。其数据形式如下: 学生信息表(XS.DBF) IC卡号 姓 名 性别 有效期 07020104 赵鱼君 女 2008-7 07040109 芳心江 女 2008-7 07030106 艾世平 男 2008-7 07020132 周海龙 男 2008-7 07050223 陈康平 男 2008-7 07010213 邓 娟 女 2008-7 食堂消费数据表(XF.DBF) IC卡号 时间 类别 金额 07010213 2007-11-1 面点 5.5 07030106 2007-11-1 饮料 4 07040109 2007-11-1 饮料 7 07020132 2007-11-1 热菜 8 07030106 2007-11-2 凉菜 6 07020104 2007-11-2 热菜 7 2、建立程序文件COM-SQL721.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)正确修改学生信息表XS.DBF中的“有效期”字段的值。如果“IC卡号”的第4位的数值低于“4”(不包含),则有效期改正为“2008-12”;否则更改为“2009-7”; (2)利用学生信息表和食堂消费表的一对多关联,查询并显示学生姓名为“艾世平”的食堂消费明细,包括IC卡号、时间、类别和金额; (3)按“类别”汇总2007年11月份食堂消费金额; (1)
VFP-命令: Use xs
Replace有效期 WITH \卡号,3,1) <'4' Replace有效期 WITH \卡号,3,1) >='4' SQL-命令:
UPDATE XS SET 有效期=\
WHERE SUBSTR(IC卡号,3,1) <'4'
UPDATE XS SET 有效期 = \
WHERE SUBSTR(IC卡号,3,1) >='4'
(2)
VFP-命令: Select 1 Use xs
Index on IC卡号 TAG KH SELECT 2 USE XF
SET RELATION TO IC卡号 INTO XS
LIST IC卡号,时间,类别,金额 FOR XS.姓名=\艾世平\SQL-命令:
SELE IC卡号,时间,类别,金额 FROM XF ;
WHERE XF.IC卡号 = ( SELE XS.IC卡号 FROM XS WHERE XS.姓名=\艾世平\(3)
VFP-命令: Use xf
Index on类别 tag lb
Total on 类别 to hz fields金额 USE HZ
相关推荐: