1、国家二级 VF机试模拟试卷 14及答案与解析 一、基本操作题( 30分) 1 (1)建立项目文件,名为 my。 (2)将数据库 “课本 ”添加到新建立的项目当中。 (3)为数据库中的表 “作者 ”建立主索引,索引名称和索引表达式均为 “作者编号 ”;为“书籍 ”建立普通索引,索引名和索引表达式均为 “作者编号 ”。 (4)建立表 “作者 ”和表 “书籍 ”之间的关联。 二、简单应用题( 40分) 2 (1)根据表 “股票 ”和 “数量 ”建立一个查询,该查询包含的字段有 “股票代码 ”、 “股票简称 ”、 “买入价 ”、 “现价 ”, “持有数量 ”和 “总 金额 ”(现价 *持有数量 ),要
2、求按 “总金额 ”降序排序,并将查询保存为 myquery。 (2)打开 myprog程序,该程序包含 3条 SQL语句,每条语句都有一个错误。请更正之。 三、综合应用题( 30分) 3 对考生目录下的数据库 “学籍 ”建立文件名为 myf的表单,标题为 “学籍浏览 ”。 表单含有 1个表格控件,用于显示用户查询的信息;表单上有 1个按钮选项组,含有 “学生信息 ”, “课程信息 ”和 “选课信息 ”3个选项按钮。表单上有 1个命令按钮,标题为 “关闭 ”。当选择 “学生 ”选项按钮时,在表格中显示 “学生信息 ”表 的全部字段;选择 “课程 ”选项按钮时,表格中显示 “课程信息 ”表的字段课
3、程名称;选择“选课 ”选项按钮时,表格中显示成绩在 60分以上 (含 60分 )的 “课程号 ”、 “课程名称 ”和 “成绩 ”。 单击 “关闭 ”按钮退出表单。 国家二级 VF机试模拟试卷 14答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)启动 Visual FoxPro后,在命令窗口输入命令: CREATE PROJECT my,新建一个项目管理器。 (2)在项目管理器 my中,首先在 “数据 ”选项卡中选择 “数据库 ”,然后单击选项卡右边的 “添加 ”命令按钮,在系统弹出的 “打开 ”对话框中,将考生文件夹中的数据库“课本 ”添加到项目管理器中,单击 “确定 ”按钮。
4、 (3)在项目管理器中,依次展开 “数据库 ”分支,选中 “作者 ”表,然后单击右边的 “修改 ”命令,进入 “作者 ”的数据表设计器界面,然后单击 “索引 ”选项卡,此选项卡中的 “索引名 ”和 “索引表达式 ”改为 “作者编号 ”,在 “索引类型 ”的下拉框中,选择 “主索引 ”。用相同的方法为数据表 “书籍 ”建立普 (4)在项目管理器中,选中 “课本 ”数据库,然后单击右边的 “修改 ”命令,在数据库设计器中,将 “作者 ”表中 “索引 ”下面的 “作 者编号 ”主索引字段拖到 “书籍 ”表中 “索引 ”下面的 “作者编号 ”索引字段上,建立了两个表之间的永久性联系。 【试题解析】 本
5、大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理,建立索引可以在数据表设计器中完成。对数据表进行连接及设置参照完整性都是在数据库设计器中完成。 二、简单应用题( 40分) 2 【正确答案】 (1)可以直接在命令窗口输入: CREATE QUERY myquery,打开查询设计器,新建一个查询。在查询设计器中,分别将 “股票 ”和 “数量 ”两个数据表文件添加到查询设计器中,系统自动查找两个数据表中匹配的字段进行内部联接,单击 “确定 ”按钮。 在查询设计器中的 “字段
6、”选项卡中,将 “可用字段 ”列表框中的 “股票股票代码 ”、 “股票股票简称 ”、 “数量买入价 ”、 “数量现价 ”和 “数量持有数量 ”字段添加到右边的 “选定字段 ”列表框中,在左下方的 “函数和表达式 ”中输入 “现价,持有数量 AS总金额 ”,如图 3-44所示。 在 “排序依据 ”选项卡中,选择 “现价,持有数量 AS总金额 ”降序排 序。执行菜单命令 “查询 ”一 “运行查询 ”,查看查询结果。 (2)在命令窗口中输入命令; MODIFY COMMAND myprog.prg,打开程序文件编辑窗口,文件中程序段如下; *文件 myprog.prg修改前的源程序 * select
7、 * from股票 for股票代码 =“600008“ update数量 set现价 with现价 *1.1 select股票代码,现价 *持有数量 like总金额 from数量 * 根据源程序提供的错误,修改后的程序段如下所示: *文件 myprog.prg修改后的程序段 * select-from股票where股票代码 =“600008“ update数量 set现价 =现价 *1.1 select股票代码,现价 *持有数量 as总金额 from数量 * 在命令窗口输入命令; DO myprog,运行程序查看结果。 【试题解析】 本大题 1小题考查了联接查询,设计过程中主要注意两个表之间进
8、行关联的字段。 2小题考查的是 SQL语句的语法,考生应该熟悉各种 SQL语句。 三、综合应用题( 30分) 3 【正确答案】 在命令窗口中输入命令: CREATE FORM myf,打开表单设计器,通过 “表单控件 ”工具栏向表单添加 1个表格、 1个选项按钮组和 1个命令按钮。 选中表单,在 属性面板中修改 Caption的属性值为 “学籍浏览 ”,在属性面板顶端的下拉框中选择 Command1,修改该命令按钮控件的 Caption属性值为 “关闭 ”,在属性面板顶端的下拉框中选择 (Option group1),将其 ButtonCount属性值改为 3,右击选项按钮组,选择 “编辑 ”
9、快捷菜单命令,在此状态下 (编辑状态下,控件四周出现蓝色框线 ),分别修改三个单选项的 Caption属性值为 “学生 ”、 “课程 ”和 “选课 ”。 右击选项按钮组,选择 “编辑 ”快捷菜单命令,在此状态下 (编辑状态下,控件四周出现蓝色框线 ),分别双 击各单选按钮,编写各个控件的 Valid事件,程序代码如下: *单选按钮 Option1(学生 )的 Valid事件代码 * SELECT*; FROM学生信息; INTO CURSOR temp Thisform.Grid1.RecordSourceType=1 Thisform.Grid1.RecordSource=“temp“ *
10、*单选按钮Option2(课程 )的 Valid事件代码 * SELECT课程名称; FROM课程信息; INTO CURSOR temp Thisform.Grid1.RecordSourceType=1 Thisform.Grid1.RecordSource=“temp“ * *单选按钮option3(选课 )的 Valid事件代码 * SELECT课程信息 .课程号,课程名称,成绩; FROM课程信息,选课信息; WHERE课程信息 .课程号 =选课信息 .课程号AND成绩 =60; INTO CURSOR temp Thisform.Grid1.RecordSourceType=1 T
11、hisform.Grid1.RecordSource=“temp“ * 双击 “关闭 ”命令按钮,在其 Click事件中编辑如下代码: Thisform.Release。 保存表单完成设计。运行结果如图 3-43所示。 【试题解析】 本大题考 查的是表单设计,在本题中需要注意的地方是选项按钮组控件中改变单选按钮的属性是 ButtonCount,修改选项组中每个单选按钮的属性,可以通过属性面板中顶端的下拉框的控件名来选定,也可以右击该控件,选择 “编辑 ”快捷菜单命令,在编辑状态下单个选定控件;程序设计中,查询语句为基本SQL查询,在显示查询结果时,首先可用一个临时表保存查询结果,然后将表格控件中来显示数据的属性值设置为该临时表,用来显示查询结果。