1、建立一个学生食堂IC卡管理数据库,文件名为db721.DBC,并输入数据(40分)
该数据库中有两个数据表: 学生信息表(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
1) 正确建立2个表的数据结构(表结构设计正确)20分
2) 数据正确15分
3) 永久关联正确5分
2
要求:将数据库中的XS.DBF(父表)和XF.DBF(子表)以“IC卡号”建立一对多永久关系。
2、建立程序文件COM-SQL721.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)正确修改学生信息表XS.DBF中的“有效期”字段的值。如果“IC卡号”的第4位的数值低于“4”(不包含),则有效期改正为“2008-12”;否则更改为“2009-7”;
UPDATE XS SET 有效期=[2008-12] WHERE VAL(SUBSTR(IC卡号,4,1))<4
UPDATE XS SET 有效期=[2009-7] WHERE VAL(SUBSTR(IC卡号,4,1))>=4
1)
use xs
replace all 有效期 with '2008-12' for substr(IC卡号,4,1)<4
replace all 有效期 with '2009-7' for substr(IC卡号,4,1)>=4
(2)利用学生信息表和食堂消费表的一对多关联,查询并显示学生姓名为“艾世平”的食堂消费明细,包括IC卡号、时间、类别和金额;
(1)VFP命令:USE YDCJ
REPLACE ALL 总成绩 WITH 跳高+游泳+其它
SQL命令:UPDATE YDCJ SET 总成绩=跳高+游泳+其它
(3)按“类别”汇总2007年11月份食堂消费金额;
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 部门=“机关”
3、表单设计。按以下要求设计程序界面,表单文件名为:FORM721.SCX(30分)
设计如图所示一个表单,包括3个标签,1个文本框,1个命令按钮(各控件的主要属性参照图形尺寸自定)。其中:
表单的标题要显示考生自己的姓名和考号;
? 文本框text1的显示初值为0;
? 该表单运行后,可以在文本框text1中反复输入数值,左键单击“累加”命令按钮,则由2个标签分别显示累加值(大号字)和输入次数(小号字)。注意该2标签开始没有显示;
? 双击表单任意空白处结束表单程序的运行。
界面设计(10分)
主要属性、事件代码:
1)text1 、text2和text3的value属性值均为0(5分)
2)“比较大小”按钮的Click事件代码:(10分)
x1=thisform.text1.value
x2=thisform.text2.value
if x1>x2
thisform.text3.value=x1
else
thisform.text3.value=x2
endif
3)“退出”按钮的Click事件代码:thisform.release (5分)