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