1国家计算机二级VF练习题第1套一、基本操作题1.新建一个名称为外汇数据的数据库2.将自由表rate_exchange和currency_sl添加到数据库中3.通过外币代码字段为rate_exchange和currency_sl建立永久联系(如果必要请建立相关索引)4.打开表单文件test_form,该表单的界面如下图所示,请将标签用户名和口令的字体都改为黑体二、简单应用1.rate_pro.prg中的程序功能是计算出“林诗因”所持的全部外币相当于人民币的价值数量,summ中存放的是结果。注意:某种外币相当于人民币数量的计算公式:人民币价值数量=该种外币的“现钞买入价”*该种外币“持有数量”。请在指定位置修改程序的语句,不得增加或删除程序行,请保存所做的修改。第1处查找姓名,所以应改为:locatefor姓名=林诗因第2处判断记录是否到底,应改为:DOWHILENOTEOF()第3处累计人民币价值数量,所以应改为:summ=summ+a[1]*持有数量2.建立一个名为menu_rate的菜单,菜单中有两个菜单项“查询”和“退出”。“查询”项下还有一个子菜单,子菜单中有“日元”、“欧元”、“美元”三个选项。在“退出”菜单项下创建过程,该过程负责返回系统菜单。三、综合应用题设计一个文件名和表单名均为myrate的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为“外汇持有情况”。表单中有一个选项组控件(命名为myoption)和两个命令按钮“统计”(command1)和“退出”(command2).其中,选项组控件有三个按钮“日元”、“美元”和“欧元”.运行表单时,首先在选项组控件中选择“日元”、“美元”或“欧元”,单击“统计”命令按钮后,根据选项组控件的选择将持有相应外币的人的姓名和持有数量分别存入rate_ry.dbf(日元)或rate_my.dbf(美元)或rate_oy(欧元)中.单击“退出”按钮时关闭表单。表单建成后,要求运行表单,并分别统计日元、美元和欧元的持有数量.”统计”按钮的Click代码docasecasethisform.myoption.value=1sele姓名,持有数量fromrate_exchange,currency_sl;whererate_exchange.外币代码=currency_sl.外币代码and;外币名称=thisform.myoption.option1.captionintotablerate_rycasethisform.myoption.value=2sele姓名,持有数量fromrate_exchange,currency_sl;whererate_exchange.外币代码=currency_sl.外币代码and;外币名称=thisform.myoption.option2.captionintotablerate_mycasethisform.myoption.value=3sele姓名,持有数量fromrate_exchange,currency_sl;whererate_exchange.外币代码=currency_sl.外币代码and;外币名称=thisform.myoption.option3.captionintotablerate_oyendcase第2套一、基本操作题1.新建一个名为学生管理的项目文件2.将学生数据库加入到新建的项目文件中3.将教师表从学生数据库中移出,使其成为自由表4.通过学号字段为学生和选课表建立永久联系(如果必要请先建立有关索引)二、简单应用题用sql对自由表教师完成下列操作,将职称为教授的教师新工资设为原工资的120%,其他教师的新工资与原工资相等;插入一条记录,该教师的信息:姓名”林红”,职称讲师,原工资10000,新工资10200,同时将你所使用的sql语句存储在新建的文本文件teacher.txt中(两条更新语句,一条插入语句,按顺序每条语句占一行)在teacher.txt文件存放如下内容:update教师set新工资=原工资update教师set新工资=原工资*1.20where职称=教授insertinto教师values(林红,讲师,10000,10200)2使用查询设计器建立查询stud.qpr,查选修英语且成绩大于等于70的学生姓名、年龄,查询结果按年龄升序存放于stud_temp.dbf表中。(完成后要运行)三、综合应用题2设计名为mystu的表单,(文件名为mystu,表单名为form1),所有控件的属性必须在表单设计器的属性窗口中设置.表单的标题为”计算机系学生选课情况”.表单中有一个表格控件,该控件的RecordSourceType的属性设置为4和两个命令按钮查询(command1)和退出(command2).运行表单时,单击查询命令按钮后,表格控件中显示6系的所有学生的姓名、选修的课程名和成绩.单击退出按钮关闭表单。注:完成表单设计后要运行表单的所有功能。Command1的Click代码thisform.grid1.recordSource=“SELECTDISTINCT姓名,课程名称,成绩;FROM课程,选课,学生;where学生.学号=选课.学号;and课程.课程号=选课.课程号;and系='6'”第3套一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)在考生文件夹下完成下列操作:1.新建一个名为学校的数据库文件,将自由表教师表、课程表和学院表添加到该数据库。2.使用SQL语句ALTERTABLE...UNIQUE...将课程表中的课程号定义为候选索引,索引名是temp,并将该语句存储在文件one.prg中,否则不给分。SQL命令:ALTERTABLE课程表ADDUNIQUE课程号tagtemp,并将该语句保存到one.prg文件中。3.用表单设计器向导为课程表建立一个表单myform,选定课程表的全部字段,按课程号字段降序排序,其他选项选择默认值。4.在test.prg中第2条语句是错误的,修改该条语句(注意:只能修改该条语句),使得程序执行的结果是在屏幕上显示10到1。4、打开test.prg程序,将第2条语句修改为:DOWHILEi=1。二、简单应用(2小题,每题20分,计40分)在考生文件夹下完成下列操作:1.请修改并执行程序temp。temp.prg的功能是:根据教师表和课程表计算讲授数据结构这门课程、并且工资大于等于4000的教师人数。注意,只能修改标有错误的语句行,不能修改其他语句。解题提示:1、第一处错误应改为:SELECT课程号FROM课程表WHERE课程名=数据结构INTOARRAYa;第二处错误应改为:USE教师表;第三处错误应改为:SCANFOR课程号=aAND工资=4000;第四处错误应改为:sum=sum+1。2.使用视图设计器在学校数据库中(在基本操作题中建立的)建立视图teacher_v,该视图根据教师表和学院表建立,视图中的字段项包括:姓名、工资和系名,并且视图中只包括工资大于等于4000的记录,视图中的记录先按工资降序排列、再按系名升序排列。本题主要考核点:程序的修改及视图的建立。三、综合应用(1小题,计30分)在考生文件夹下完成下列操作:1.建立一个文件名和表单名均为oneform的表单,表单中包括两个标签(Label1和Label2)、一个选项组(Optiongroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2的标题分别为工资和实例,选项组(Optiongroup1)中有两个选项按钮,标题分别为大于等于和小于,Command1和Command2的标题分别为生成和退出。如图所示。2.将组合框(Combo1)的RowSourceType和RowSource属性手工指定为5和a,然后在表单的Load事件代码中定义数组a并赋值,使得程序开始运行时,组合框中有可供选择的工资实例3000、4000和5000。3.为生成命令按钮编写程序。程序的功能是:表单运行时,根据选项组和组合框中选定的值,将教师表中满足工资条件的所有记录存入自由表salary.dbf中,表中的记录先按工资降序、再按姓名升序排列。4.为退出命令按钮设置Click事件代码,其功能是:释放表单。5.运行表单,在选项组中选择小于,在组合框中选择4000,单击生成命令按钮,最后,单击退出命令按钮。解题提示:将组合框的RowSourceType属性值设置为5-数组,RowSource属性值设置为a。设置表单控件的Load事件代码:publica(3),ia(1)=3000a(2)=40003a(3)=5000生成按钮代码:ifthisform.optiongroup1.value=1sele*from教师表where工资=val(thisform.combo1.value)orderby工资desc,姓名intotablesalaryelsesele*from教师表where工资val(thisform.combo1.value)orderby工资desc,姓名intotablesalaryendif第4套一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)在考生文件夹下完成下列操作:1.打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将教师表、课程表和学院表三个自由表加入该数据库中。2.为课程表和教师表分别建立主索引和普通索引,索引字段和索引名均为课程号,并为两个表建立一对多的联系。3.使用SQL语句查询教师表工资大于4500的教师的全部信息,查询结果按职工号升序排列,查询结果存储到文本文件one.txt中,SQL语句存储于文件two.prg,否则不得分。select*from教师表where工资4500orderby职工号tofileone4.使用报表向导为学院表创建一个报表three,选择学院表的所有字段,其他选项取默认值。二、简单应用(2小题,每题20分,计40分)在考生文件夹下完成下列操作:1.请修改并执行程序four.prg,该程序的功能是:根据学院表和教师表计算信息管理系教师的平均工资。注意,只能修改标有错误的语句行,不能修改其他语句。提示:第一处错误应改为:SELECT系号FROM学院表WHERE系名=信息管理INTOARRAYa;第二处错误应改为:USE教师表;第三处错误应改为:SCANFOR系号=a;第四处添加的程序为:num=num+1。2.在College数据库中使用视图设计器建立视图course_v,该视图根据课程表、学院表和教师表建立,视图中的字段项包括:姓名、课程名、学时和系名,并且视图中只包括学时大于等于60的记录,视图中的记录先按系名升序排列、再按姓名降序排列,最后查询该视图中的全部信息,并将结果存放到se.dbf中。三、综合应用(1小题,计30分)在考生文件夹下完成下列操作:1.建立一个文件名和表单名均为oneform的表单,表单中包括两个标签(Label1和Label2)、一个选项组(Optiongroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2的标题分别为系名和计算内容,选项组(Optiongroup1)中有两个选项按钮option1和option2,标题分别为平均工资和总工资,Command1和Command2的标题分别为生成和退出。如图所示。2.将学院表添加到表单的数据环境中,然后手工设置组合框(Combo1)的RowSourceType属性为6、RowSource属性为学院表.系名,使得程序开始运行时,组合框中有可供选择的来源于学院表的所有系名。3.为生成命令按钮编写程序。程序的功能是:表单运行时,根据组合框和选项组中选定的系名和计算内容,将相应系的平均工资或总工资存入自由表salary.dbf中,表中包括系名、系号以及平均工资或总工资三个字段。