一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开"TEST_DB"数据库,完成如下操作:
1,为表SELL建立一个主索引,索引名为PK,索引表达式为:部门号+年度+月份。
2,将自由表DataTest、MODEL、TABC和PASS添加到当前打开的数据库中;
3,在当前数据库中创建表TEST(部门号,年份,销售额合计),其中:部门号为字符型,宽度为2;年份为字符型,宽度为4;销售额合计为数值型,宽度为8(其中小数2位)。
4,使用报表向导建立一个简单报表,要求选择表SELL中所有字段(其他不做要求),报表文件名为TWO。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,完成如下简单应用:
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控件中显示计算的结果。
要求:程序完成后必须运行,并分别计算"笔记本产品部"和"计算机产品部"按年度的销售额和利润情况。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成如下操作(自由表employee中存放着职员的有关数据):
1,利用表设计器为employee表创建一个普通索引,索引表达式为"姓名",索引名为xm。
2,打开考生目录下的表单文件formone.scx,然后设置表单的Load事件代码:打开employee表,并将索引xm设置为当前索引。
3,在formone表单中添加一个列表框,并设置列表框的属性:名称为mylist;高度为60;可以多重选择。
4,设置formone表单中mylist列表框的有关属性,其中RowSourceType属性为字段,使得当表单运行时,列表框内显示employee表中姓名字段的值。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成以下简单应用(自由表order中存放着订单的有关数据):
1,利用查询设计器创建查询,从employee和order表中查询金额最高的10笔订单。查询结果依次包含订单号、姓名、签订日期、金额4个字段;各记录按金额降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。
2,首先创建数据库order_m,并向其中添加 employee表和order表。然后在数据库中创建视图viewone:利用该视图只能查询组别为1的职员的有关数据;查询结果依次包含职员号、姓名、订单号、签订日期、金额5个字段;各记录按职员号升序排序,若职员号相同则按金额降序排序。最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。
三、综合应用(1小题,计30分)
在考生文件夹下完成下列操作:
(1) 创建自由表tablethree,其结构如下:
姓名 C(6)
最高金额 N(6,2)
最低金额 N(6,2)
平均金额 N(6,2)
(2) 设计一个进行查询统计的表单formtwo.scx,其界面如下图所示。其中表格的名称为Grid1,"查询统计"按钮的名称为Command1,"退出"按钮的名称为Command2,文本框的名称为Text1。
当在文本框输入某职员姓名并单击"查询统计"按钮时,会在左边的表格内显示该职员所签各订单的金额,并将其中的最高金额、最低金额和平均金额存入表tablethree中。
单击"退出"按钮将关闭表单。
(3) 运行上面创建的表单formtwo,然后依次查询统计"赵小青"和"吴伟军"两位职员所签订单的有关金额。执行完后,表tablethree中应该包含两条相应的记录。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1,打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框。
2,在表单one中,通过RowSource和RowSourceType属性手工指定组合框Combo1的显示条目为"上海"、"北京"(不要使用命令指定这两个属性),显示情况如图1所示。
图1
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小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1,利用快捷菜单设计器创建一个弹出式菜单one(如图1所示),菜单有两个选项。"增加"和"删除",两个选项之间用分组线分隔。
图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分)
在考生文件夹下完成下列操作:
图2
1,建立一个表单名和文件名均为myform的表单(如图2所示)。表单的标题是"评委打分情况",表单中有两个命令按钮(Command1和Command2)和两个单选钮(Option1和Option2)。Command1和Command2的标题分别是"生成表"和"退出",Option1和Option2的标题分别是"按评分升序"和"按评分降序"。
2,为"生成表"命令按钮编写程序,程序的功能是根据简单应用题生成的result.dbf表按指定的排序方式生成新的表,单选钮选择"按评分升序"时,依次按最高分、最低分和平均分3个字段升序排序生成表six_a,单选钮选择"按评分降序"时,依次按最高分、最低分和平均分3个字段降序排序生成表six_d。
3,运行表单,选择"按评分升序"单选钮,单击"生成表"命令按钮;再选择"按评分降序"单选钮,单击"生成表"命令按钮(注意必须执行)。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1,打开表单one(如图1所示),通过设置控件的相关属性,使得表单运行时的开始焦点在"打开"命令按钮,并且接下来的焦点的移动顺序是"关闭"和"退出"。
图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组歌手的评分信息。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
一,在考生文件夹下完成如下操作:
1,建一个表单,表单文件名和表单控件名均为myform。
2,将myform表单设置为模式表单,并将其标题设置为"表单操作"。
3,将考生目录中的xuesheng表和chengji表依次添加到myform表单的数据环境中。确保两个表对应的对象名称分别为cursor1和cursor2。
4,在数据环境中为xuesheng表和chengji表建立关联关系:当xuesheng表中的记录指针移动时,chengji表中的记录指针会自动移到学号相同的对应记录上。
二、简单应用(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分的填为"及格";其他的填为"差"。
菜单命令"返回"的功能是恢复标准的系统菜单。
菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开"宾馆"数据库,完成如下操作:
1,打开"客户"表,给"性别"字段增加约束:性别只能为"男"或"女",默认值为:"女",表达式为,性别 $ "男女";
2,为"入住"表创建一个主索引,主索引的索引名为fkkey,索引表达式为:"客房号+客户号";
3,根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。
4,使用SQL的SELECT语句查询"客户"表中性别为"男"的客户号、身份证、姓名和工作单位字段值,并将结果存储到名为TABA的表(注意,该表不需要排序)。请将该语句存储到名为ONE.PRG的文件中。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开"宾馆"数据库,完成如下简单应用:
1,使用查询设计器设计一个名称为TWO的查询,查询房价价格大于等于280元的每个客房的客房号、类型号(来自客房表)、类型名和价格。查询结果按类型号升序排序,并将查询结果输出到表TABB中。设计完成后,运行该查询。
2,修改一个名称为THREE.PRG的命令文件。该命令文件用来查询与"姚小敏"同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位,查询结果包括"姚小敏"本人。 查询结果输出到表TABC中。该命令文件在第3行、第5行、第7行和第8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。
三、综合应用(1小题,计30分)
在考生文件夹下,先打开"宾馆"数据库,然后创建一个文件名为test的表单,如图所示。
该表单完成如下综合应用:
在该表单中设计一个标签(Label1)、一个文本框(Text1)和两个命令按钮。
标签的标题文本为"退房日期大于或等于"。
文本框用于输入退房日期。
两个命令按钮的功能如下:
⑴ "查询"按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令查询退房日期大于或等于输入日期的客户号、身份证、姓名、工作单位和该客户入住的客房号、类型名、价格信息,查询结果按价格降序排序,并将查询结果存储到表TABD中。表TABD的字段为客户号、身份证、姓名、工作单位、客房号、类型名、价格。
⑵ "退出"按钮(Command2)的功能是"关闭和释放表单"。
表单设计完成后,运行该表单,查询退房日期大于或等于2005-04-01的顾客信息。
一、基本操作题(共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)只选中"工资"复选框和"按职工号降序"单选钮,单击"生成表"命令按钮。
一、基本操作题(共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。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下有一表单文件myform.scx。打开该表单文件,然后在表单设计器环境下完成如下操作:
1,在属性窗口中设置表单的有关属性,使表单在打开时在VFP主窗口内居中显示。
2,在属性窗口中设置表单的有关属性,使表单内的Center、East、South、West和North五个按钮的大小都设置为宽60、高25。
3,将West、Center和East三个按钮设置为顶边对齐,顶边距离是100;将North、Center和South三个按钮设置为左边对齐,左边距离是200。
4,按Center、East、South、West、North的顺序设置各按钮的Tab键次序。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1,利用查询设计器创建查询,从考生目录下的xuesheng表和chengji表中查询数学、英语和信息技术三门课中至少有一门课在90分以上(含90分)的学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排序;查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。
2,首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图view1:利用该视图只能查询少数民族学生的英语成绩;查询结果包含学号、姓名、英语3个字段;各记录按英语成绩降序排序,若英语成绩相同按学号升序排序。最后利用刚创建的视图view1查询视图中的全部信息,并将查询结果存放在表table2中。
三、综合应用(1小题,计30分)
利用表设计器在考生目录下建立表table3,表结构如下:
学号 字符型(10)
姓名 字符型(6)
课程名 字符型(8)
分数 数值型(5,1)
然后编写程序prog1.prg,从xuesheng表和chengji表中找出所有成绩不及格(分数小于60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表table3中(若一个学生有多门课程不及格,在表table3中就会有多条记录)。表table3中的各记录应该按分数升序排序,分数相同则按学号降序排序。
要求在程序中用SET RELATION命令建立chengji表和xuesheng表之间的关联(同时用INDEX命令建立相关的索引),并通过DO WHILE循环语句实现规定的功能。最后运行程序。
一、基本操作题(共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表中找出所有满足如下条件的学生:其在每门课程上的成绩都大于等于所有同学在该门课程上的平均分。并把这些学生的学号和姓名保存在表table2中(表中只包含学号和姓名两个字段)。表table2中各记录应该按学号降序排序。
菜单命令"返回"的功能是恢复标准的系统菜单。
菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
一、基本操作题(共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条记录是少数民族学生的统计数据,"民族"字段填"其他"。
菜单命令"返回"的功能是恢复标准的系统菜单。
菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
一、基本操作题(共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,单击该按钮时关闭表单。
说明:完成该程序后必须运行,并且分别统计选修了"数据库"和"操作系统"课程的学生人数。
一、基本操作题(共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,单击"退出"按钮时,关闭表单。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下打开表单formtest.scx并完成下列操作:
1,表单标题设置为"考试系统"。
2,在表单上添加一标签控件(Label1),标签上显示"欢迎使用考试系统"8个字,字的颜色为红色(ForeColor=255,0,0),其他属性使用默认值。
3,向表单内添加一个计时器控件,控件名为Timerfor。
4,将计时器控件Timerfor的时间间隔(Interval)属性值设为200。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1.使用SQL命令在employee表中查询年龄最大的前5名员工的姓名和出生日期,查询结果按年龄降序排序存入表emage.dbf中;同时把所用SQL命令存入文件emage.txt(提示:表中无年龄字段,但是有出生日期字段)。
2.打开程序文件cylinder.prg,该程序的功能是根据输入的半径和高计算圆柱体表面积,其中函数定义中有错误,请在******found*******的下一行进行修改使之能正确运行(不得增加语句,不得删除语句)。
三、综合应用(1小题,计30分)
在考生文件夹下,完成如下综合应用:
建立如图所示表单,表单完成一个计算器的功能。表单文件名和表单控件名均为calculator,表单标题为"计算器"。
表单运行时,分别在操作数1(Label1)和操作数2(Label2)下的文本框(分别为Text1和Text2)中输入五位数字(不接受其他字符输入),通过选项组(Optiongroup1,4个按钮可任意排列)选择计算方法(Option1为"+",Option2为"-",Option3为"*",Option4为"/"),然后单击命令按钮"计算"(Command1),就会在"计算结果"(Label3)下的文本框Text3中显示计算结果,要求使用DO CASE语句判断选择的计算分类,在CASE表达式中直接引用选项组的相关属性。
注意:所涉及的数字和字母均为半角字符。
表单另有一命令按钮(Command2),按钮标题为"关闭",表单运行时单击此按钮关闭并释放表单。
在考生文件夹下,打开"TEST_DB"数据库,完成如下操作:
1,为表SELL建立一个主索引,索引名为PK,索引表达式为:部门号+年度+月份。
2,将自由表DataTest、MODEL、TABC和PASS添加到当前打开的数据库中;
3,在当前数据库中创建表TEST(部门号,年份,销售额合计),其中:部门号为字符型,宽度为2;年份为字符型,宽度为4;销售额合计为数值型,宽度为8(其中小数2位)。
4,使用报表向导建立一个简单报表,要求选择表SELL中所有字段(其他不做要求),报表文件名为TWO。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,完成如下简单应用:
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控件中显示计算的结果。
要求:程序完成后必须运行,并分别计算"笔记本产品部"和"计算机产品部"按年度的销售额和利润情况。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成如下操作(自由表employee中存放着职员的有关数据):
1,利用表设计器为employee表创建一个普通索引,索引表达式为"姓名",索引名为xm。
2,打开考生目录下的表单文件formone.scx,然后设置表单的Load事件代码:打开employee表,并将索引xm设置为当前索引。
3,在formone表单中添加一个列表框,并设置列表框的属性:名称为mylist;高度为60;可以多重选择。
4,设置formone表单中mylist列表框的有关属性,其中RowSourceType属性为字段,使得当表单运行时,列表框内显示employee表中姓名字段的值。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成以下简单应用(自由表order中存放着订单的有关数据):
1,利用查询设计器创建查询,从employee和order表中查询金额最高的10笔订单。查询结果依次包含订单号、姓名、签订日期、金额4个字段;各记录按金额降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。
2,首先创建数据库order_m,并向其中添加 employee表和order表。然后在数据库中创建视图viewone:利用该视图只能查询组别为1的职员的有关数据;查询结果依次包含职员号、姓名、订单号、签订日期、金额5个字段;各记录按职员号升序排序,若职员号相同则按金额降序排序。最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。
三、综合应用(1小题,计30分)
在考生文件夹下完成下列操作:
(1) 创建自由表tablethree,其结构如下:
姓名 C(6)
最高金额 N(6,2)
最低金额 N(6,2)
平均金额 N(6,2)
(2) 设计一个进行查询统计的表单formtwo.scx,其界面如下图所示。其中表格的名称为Grid1,"查询统计"按钮的名称为Command1,"退出"按钮的名称为Command2,文本框的名称为Text1。
当在文本框输入某职员姓名并单击"查询统计"按钮时,会在左边的表格内显示该职员所签各订单的金额,并将其中的最高金额、最低金额和平均金额存入表tablethree中。
单击"退出"按钮将关闭表单。
(3) 运行上面创建的表单formtwo,然后依次查询统计"赵小青"和"吴伟军"两位职员所签订单的有关金额。执行完后,表tablethree中应该包含两条相应的记录。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1,打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框。
2,在表单one中,通过RowSource和RowSourceType属性手工指定组合框Combo1的显示条目为"上海"、"北京"(不要使用命令指定这两个属性),显示情况如图1所示。
图1
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小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1,利用快捷菜单设计器创建一个弹出式菜单one(如图1所示),菜单有两个选项。"增加"和"删除",两个选项之间用分组线分隔。
图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分)
在考生文件夹下完成下列操作:
图2
1,建立一个表单名和文件名均为myform的表单(如图2所示)。表单的标题是"评委打分情况",表单中有两个命令按钮(Command1和Command2)和两个单选钮(Option1和Option2)。Command1和Command2的标题分别是"生成表"和"退出",Option1和Option2的标题分别是"按评分升序"和"按评分降序"。
2,为"生成表"命令按钮编写程序,程序的功能是根据简单应用题生成的result.dbf表按指定的排序方式生成新的表,单选钮选择"按评分升序"时,依次按最高分、最低分和平均分3个字段升序排序生成表six_a,单选钮选择"按评分降序"时,依次按最高分、最低分和平均分3个字段降序排序生成表six_d。
3,运行表单,选择"按评分升序"单选钮,单击"生成表"命令按钮;再选择"按评分降序"单选钮,单击"生成表"命令按钮(注意必须执行)。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1,打开表单one(如图1所示),通过设置控件的相关属性,使得表单运行时的开始焦点在"打开"命令按钮,并且接下来的焦点的移动顺序是"关闭"和"退出"。
图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组歌手的评分信息。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
一,在考生文件夹下完成如下操作:
1,建一个表单,表单文件名和表单控件名均为myform。
2,将myform表单设置为模式表单,并将其标题设置为"表单操作"。
3,将考生目录中的xuesheng表和chengji表依次添加到myform表单的数据环境中。确保两个表对应的对象名称分别为cursor1和cursor2。
4,在数据环境中为xuesheng表和chengji表建立关联关系:当xuesheng表中的记录指针移动时,chengji表中的记录指针会自动移到学号相同的对应记录上。
二、简单应用(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分的填为"及格";其他的填为"差"。
菜单命令"返回"的功能是恢复标准的系统菜单。
菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开"宾馆"数据库,完成如下操作:
1,打开"客户"表,给"性别"字段增加约束:性别只能为"男"或"女",默认值为:"女",表达式为,性别 $ "男女";
2,为"入住"表创建一个主索引,主索引的索引名为fkkey,索引表达式为:"客房号+客户号";
3,根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。
4,使用SQL的SELECT语句查询"客户"表中性别为"男"的客户号、身份证、姓名和工作单位字段值,并将结果存储到名为TABA的表(注意,该表不需要排序)。请将该语句存储到名为ONE.PRG的文件中。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开"宾馆"数据库,完成如下简单应用:
1,使用查询设计器设计一个名称为TWO的查询,查询房价价格大于等于280元的每个客房的客房号、类型号(来自客房表)、类型名和价格。查询结果按类型号升序排序,并将查询结果输出到表TABB中。设计完成后,运行该查询。
2,修改一个名称为THREE.PRG的命令文件。该命令文件用来查询与"姚小敏"同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位,查询结果包括"姚小敏"本人。 查询结果输出到表TABC中。该命令文件在第3行、第5行、第7行和第8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。
三、综合应用(1小题,计30分)
在考生文件夹下,先打开"宾馆"数据库,然后创建一个文件名为test的表单,如图所示。
该表单完成如下综合应用:
在该表单中设计一个标签(Label1)、一个文本框(Text1)和两个命令按钮。
标签的标题文本为"退房日期大于或等于"。
文本框用于输入退房日期。
两个命令按钮的功能如下:
⑴ "查询"按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令查询退房日期大于或等于输入日期的客户号、身份证、姓名、工作单位和该客户入住的客房号、类型名、价格信息,查询结果按价格降序排序,并将查询结果存储到表TABD中。表TABD的字段为客户号、身份证、姓名、工作单位、客房号、类型名、价格。
⑵ "退出"按钮(Command2)的功能是"关闭和释放表单"。
表单设计完成后,运行该表单,查询退房日期大于或等于2005-04-01的顾客信息。
一、基本操作题(共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)只选中"工资"复选框和"按职工号降序"单选钮,单击"生成表"命令按钮。
一、基本操作题(共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。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下有一表单文件myform.scx。打开该表单文件,然后在表单设计器环境下完成如下操作:
1,在属性窗口中设置表单的有关属性,使表单在打开时在VFP主窗口内居中显示。
2,在属性窗口中设置表单的有关属性,使表单内的Center、East、South、West和North五个按钮的大小都设置为宽60、高25。
3,将West、Center和East三个按钮设置为顶边对齐,顶边距离是100;将North、Center和South三个按钮设置为左边对齐,左边距离是200。
4,按Center、East、South、West、North的顺序设置各按钮的Tab键次序。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1,利用查询设计器创建查询,从考生目录下的xuesheng表和chengji表中查询数学、英语和信息技术三门课中至少有一门课在90分以上(含90分)的学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排序;查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。
2,首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图view1:利用该视图只能查询少数民族学生的英语成绩;查询结果包含学号、姓名、英语3个字段;各记录按英语成绩降序排序,若英语成绩相同按学号升序排序。最后利用刚创建的视图view1查询视图中的全部信息,并将查询结果存放在表table2中。
三、综合应用(1小题,计30分)
利用表设计器在考生目录下建立表table3,表结构如下:
学号 字符型(10)
姓名 字符型(6)
课程名 字符型(8)
分数 数值型(5,1)
然后编写程序prog1.prg,从xuesheng表和chengji表中找出所有成绩不及格(分数小于60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表table3中(若一个学生有多门课程不及格,在表table3中就会有多条记录)。表table3中的各记录应该按分数升序排序,分数相同则按学号降序排序。
要求在程序中用SET RELATION命令建立chengji表和xuesheng表之间的关联(同时用INDEX命令建立相关的索引),并通过DO WHILE循环语句实现规定的功能。最后运行程序。
一、基本操作题(共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表中找出所有满足如下条件的学生:其在每门课程上的成绩都大于等于所有同学在该门课程上的平均分。并把这些学生的学号和姓名保存在表table2中(表中只包含学号和姓名两个字段)。表table2中各记录应该按学号降序排序。
菜单命令"返回"的功能是恢复标准的系统菜单。
菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
一、基本操作题(共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条记录是少数民族学生的统计数据,"民族"字段填"其他"。
菜单命令"返回"的功能是恢复标准的系统菜单。
菜单程序生成后,运行菜单程序并依次执行"计算"和"返回"菜单命令。
一、基本操作题(共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,单击该按钮时关闭表单。
说明:完成该程序后必须运行,并且分别统计选修了"数据库"和"操作系统"课程的学生人数。
一、基本操作题(共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,单击"退出"按钮时,关闭表单。
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下打开表单formtest.scx并完成下列操作:
1,表单标题设置为"考试系统"。
2,在表单上添加一标签控件(Label1),标签上显示"欢迎使用考试系统"8个字,字的颜色为红色(ForeColor=255,0,0),其他属性使用默认值。
3,向表单内添加一个计时器控件,控件名为Timerfor。
4,将计时器控件Timerfor的时间间隔(Interval)属性值设为200。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1.使用SQL命令在employee表中查询年龄最大的前5名员工的姓名和出生日期,查询结果按年龄降序排序存入表emage.dbf中;同时把所用SQL命令存入文件emage.txt(提示:表中无年龄字段,但是有出生日期字段)。
2.打开程序文件cylinder.prg,该程序的功能是根据输入的半径和高计算圆柱体表面积,其中函数定义中有错误,请在******found*******的下一行进行修改使之能正确运行(不得增加语句,不得删除语句)。
三、综合应用(1小题,计30分)
在考生文件夹下,完成如下综合应用:
建立如图所示表单,表单完成一个计算器的功能。表单文件名和表单控件名均为calculator,表单标题为"计算器"。
表单运行时,分别在操作数1(Label1)和操作数2(Label2)下的文本框(分别为Text1和Text2)中输入五位数字(不接受其他字符输入),通过选项组(Optiongroup1,4个按钮可任意排列)选择计算方法(Option1为"+",Option2为"-",Option3为"*",Option4为"/"),然后单击命令按钮"计算"(Command1),就会在"计算结果"(Label3)下的文本框Text3中显示计算结果,要求使用DO CASE语句判断选择的计算分类,在CASE表达式中直接引用选项组的相关属性。
注意:所涉及的数字和字母均为半角字符。
表单另有一命令按钮(Command2),按钮标题为"关闭",表单运行时单击此按钮关闭并释放表单。