1、国家二级 VF机试模拟试卷 79及答案与解析 一、基本操作题( 30分) 1 在考生文件夹下,打开一个公司销售数据库 selldb,完成如下操作: (1)为各部门分年度季度销售金额和利润表 s_t创建一个主索引和普通索引 (升序 ),主索引的索引名为 no,索引表达式为 “部门号 +年度 ”;普通索引的索引名和索引表达式均为 “部门号 ”。 (2)在 S T表中增加一个名为 “备注 ”的字段、字段数据类型为 “字符 ”、宽度为30。 (3)使用 SQL的 ALTER TABLE语句将 s_t表的 “年度 ”字段的默认值修改 为“2004”,并将该 SQL语句存储到命令文件 one prg中。
2、(4)通过 “部门号 ”字段建立 s_t表和 dept表问的永久联系,并为该联系设置参照完整性约束:更新规则为 “级联 ”;删除规则为 “限制 ”;插入规则为 “忽略 ”。 二、简单应用题( 40分) 2 (1)建立一个名为 ”cd1”的菜单,菜单中有两个菜单项 “日期 ”和 “关闭 ”。 “日期 ”下还有一个子菜单,子菜单有 “月份 ”和 “年份 ”两个菜单项。单击 “关闭 ”菜单返回到系统菜单。 (2)在 “住宿管理 ”数据库中有 “学生 ”表和 “宿舍 ”表。用 SQL语句完成查 淘结果为学生姓名及所住的宿舍电话号码,并将结果存放于表 “result”中,将 SQL语句保存在 “resu
3、lt prg”文件中。 三、综合应用题( 30分) 3 设计名为 “bd2”的表单,表单的标题为 “零件装配情况 ”。表单中有一个表格控件和两个命令按钮 “查询 ”和 “关闭 ”。运行表单时,单击 “查询 ”命令按钮后,表格中显示产品编号 “0003”所使用的零件的 “零件名称 ”“规格 ”和 “数量 ”。单击 “关闭 ”按钮关闭表单。 国家二级 VF机试模拟试卷 79答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY DATABASEselldb,打开selldb数据库设计器。 右击数据库设计器中的 s_t表,选择【修改】快捷菜单命令,打开
4、s_t表设计器,选中 “索引 ”选项卡,在 “索引名 ”下方的文本框中输入“no”,在 “索引 ”选项卡中将 “类型 ”选择为 “主索引 ”,在表达式下方的文本框中输入“部门号 +年度 ”,建立主索引。如图 2-24所示。 接着在 “字段 ”选项卡中选中 “部门号 ”,然后在 “索引 ”列中选择 “升序 ”,建立 “部门号 ”字段的普通索引,单击 “确定 ”按钮保存表结构修改。 (2)继续打开 s_t表设计器,在表设计器“字段 ”选项卡的 “字段名 ”列的最后一个空白文本框中输入字段名 “备注 ”,在 “类型 ”下拉框中选择 “字符型 ”,在 “宽度 ”文本框中输入 “30”,保存表结构修改。
5、 (3) 在命令窗口执行命令: MODIFY COMMAND one,打开程序文件编辑器。 在编辑器中输入 SQL查询代码: ALTER TABLE s_tALTER 年度 C(4) DEFAULT “2004“。 在命令窗口执行命令: DO one prg执行程序文件。 (4) 在数据库设计器中拖动 DEPT表 “索引 ”下方的主索引 “部门号 ”到 s_t表中 “索引 ”下方的普通索引 “部门号 ”上,为两个表建立联系。 选中两个表之间的关联线 (被选中的连线会变粗 ),首先执行【数据库】 【清理数据库】菜单命令,清空数据表中带有删除标记的记录,然后执行【数据库】 【编辑参照完整性】菜单命
6、令。 在打开的 “参照完整性 ”对话框的表格中,选择 “更新 ”下的单元格内容为 “级联 ”; “删除 ”下的单元格内容为 “限制 ”; “插入 ”下的单元格内容为 “忽略 ”。单击 “确定 ”按钮保存参照完整性的修改。如图 2-25所示。【试题解析】 本题考查表索引的建立、表结构的修改、 SQL定 义语句及参照完整性的建立。 根据多个字段建立索引表达式时,需要在表设计器 “索引 ”选项卡的 “表达式 ”中进行设置,该索引表达式可以直接输入,也可以打开 “表迭式生成器 ”建立。 参照完整性是针对两个表进行设置的,因此建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引 (
7、或候选索引 ),另一个表要建立普通索引,建立两个表联系后要先清理数据库,然后再设置参照完整性。 表结构的修改可在相应的表设计器中进行操作即可; SQL定 义语句也只需要熟记命令格式,设置表默认值语句的基本格式: ALTER TABLE表名 ALTER字段名类型 (宽度 ) DEFAULT默认值。 二、简单应用题( 40分) 2 【正确答案】 (1) 选择【文件】 【新建】命令,选择 “菜单 ”,单击 “新建文件 ”按钮,再单击 “菜单 ”按钮,打开菜单设计器,在 “菜单名称 ”中输入 “日期 ”,在“结果 ”下拉列表框中选择 “子菜单 ”,单击下一行,在 “菜单名称 ”中输入 “关闭 ”,在“
8、结果 ”下拉列表框中选择 “命令 ”,在右边的文本框中输入: SET SYSMENU TO DEFAULT。 单击 “日期 ”菜单行,单击 “创建 ”按钮创建 “日期 ”子菜单,输入子菜单名称 “月份 ”,单击下一行,输入子菜单名称 “年份 ”。 选择【菜单】 【生成】命令,将菜单保存为 “cd1”,生成一个菜单文件“cd1 mpr”。关闭菜单设计窗口,在命令窗口中输入命令: DO cd1 mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击 “关闭 ”菜单命令将恢复系统菜单。 (2) 在命令窗口中输入命令: MODI COMM result(回车执行 ),打开程序文件编辑窗
9、口,在程序 文件编辑窗口中输入以下程序代码: SELECT姓名,电话 INTO TABLE result FROM学生,宿舍 WHERE学生宿舍编号 =宿舍宿舍编号 关闭程序文件编辑窗口并保存程序文件。 在命令窗口中输入命令: DO result(回车执行 ),执行程序文件。 三、综合应用题( 30分) 3 【正确答案】 选择【文件】 【新建】命令,选择 “表单 ”,单击 “新建文件 ”按钮打开表单设计器,将 Caption属性值修改为 “零件装配情况 ”,单击表单控件工具栏上的 “命令按钮 ”控件图标,为表单 添加两个命令按钮 Command1和Command2,单击表单控件工具栏上的 “表
10、格 ”控件图标,再添加一个表格控件。 分别选择两个命令按钮,在按钮属性窗口中将命令按钮 Command1的 Caption属性值修改为 “查询 ”、 Command2的 Caption属性值修改为 “关闭 ”。双击 “关闭 ”命令按钮,在 Click事件中输入代码: ThisForm Release,用来关闭表单。 选择表格控件 “Grid1”,在表格控件属性窗口中将 “RecordSource”属性值修改为“”,将 “RecordSourceType”属性值修改为 “1”。 双击 “查询 ”命令按钮,在 Click事件中输入代码: SELECT零件名称,规格,数量 INTO CURSOR tmp FROM产品,零件 WHERE产品零件编号 =零件零件编号 AND产品编号 =“0003“ ThisForm Grid1 RecordSourceType=1 ThisForm Grid1 RecordSource=“tmp“ 选择【表单】 【执行表单】命令,系统首先要求保存该表单文件,在弹出的“另存为 ”对话框中输入表 单文件名 “bd2”, 保存在考生文件夹下,然后运行表单。 单击表单的 “查询 ”按钮,系统自动将结果填充到表格中。