1、国家二级 VF机试(操作题)-试卷 274及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)将考生文件夹下的自由表 zhiri添加到数据库“住宿浏览”中。 (2)建立表“宿舍”和表“学生”之间的关联(两个表的索引已经建立)。 (3)为(2)中建立的关联设置完整性约束,要求:更新规则为“限制”,删除规则为“级联”,插入规则为“忽略”。 (4)修改表单 testform为其添加一个标签控件,并修改标签的标题为“这是一个标签”。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)扩展 Visual FoxPro基类 Form
2、,创建一个名为 myForm的自定义表单类。自定义表单类保存在名为myclass1ib的类库中。自定义表单类 myForm需满足以下要求: 其 AutoCenter属性的默认值为T。 其 Closable属性的默认值为F。 当基于该自定义表单类创建表单时,自动包含一个命令按钮。该命令按钮的标题为“关闭”,当单击该命令按钮时,将关闭其所在的表单。 (2)利用查询设计器创建查询,从 orders、orderitems 和 goods表中查询 2007年签订的所有订单的信息。查询结果依次包含订单号、客户号、签订日期、总金额四项内容,其中“总金额”为该订单所签所有商品的金额(单价木数量)之和。各记录按
3、“总金额”降序排序,“总金额”相同按“订单号”升序排序。查询去向为表tableone。最后将查询保存在 queryoneqpr 文件中,并运行该查询。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下设计名为 linform的表单(表单的控件名和文件名均为 linform),表单的标题为“零件供应情况查看”。表单中有一个表格控件和两个命令按钮“查询”和“退出”。 运行表单时单击“查询”命令按钮后,表格控件中显示“供应”表中“工程号”为“JC44”所使用的零件的“零件名”、“颜色”和“重量”。并将结果放到表“JC44”中。 单击“退出”按钮关闭表单,如图 2-9所
4、示。 (分数:2.00)_国家二级 VF机试(操作题)-试卷 274答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)将考生文件夹下的自由表 zhiri添加到数据库“住宿浏览”中。 (2)建立表“宿舍”和表“学生”之间的关联(两个表的索引已经建立)。 (3)为(2)中建立的关联设置完整性约束,要求:更新规则为“限制”,删除规则为“级联”,插入规则为“忽略”。 (4)修改表单 testform为其添加一个标签控件,并修改标签的标题为“这是一个标签”。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令:MODIFY DATABAS
5、E 住宿浏览,打开数据库设计器。在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击 zhiri表,将表添加到数据库中。 (2)在数据库设计器中拖动“宿舍”表“索引”下方的主索引“宿舍号”到“学生”表中“索引”下方的普通索引“宿舍号”上,为两个表建立联系。 (3)选中两个表之间的关联线(被选中的连线会变粗),首先执行【数据库】【清理数据库】菜单命令,清窄数据表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。 在打开的“参照完整性”对话框的表格中,选择“更新”下的单元格内容为“限制”:“删除”为“级联”;“插入”为“忽略”。单击“确定”按钮保存参
6、照完整性的修改。 (4)在命令窗口执行命令:MODIFY FORMTESTFORM,通过“表单控件”工具栏向表单添加一个标签(【rublel)控件,然后在“属性”面板中修改标签的 Caption属性值为“这是一个标签”,适当地调整标签大小显示文字。)解析:解析:本大题考查了数据库的基本操作;表间联系的建立,参照完整性的设置;表单控件的常用属性。 打开数据库设计器可以快速地向数据库中添加表。 对两个表建立联系是在数据库设计器中进行操作的,建立联系前必须对两个表中进行连接的字段建立相关索引,并通过索引字段建立表间联系。 参照完整性是针对两个表进行设置的,因此建立参照完整性前要先建立两个表的联系;建
7、立联系后要先清理数据库,然后再设置参照完整性。 在表单设计器中可以通过“表单控件”工具栏向表单添加控件,在属性面板中可以修改控件属性值。二、简单应用题(总题数:1,分数:2.00)2.(1)扩展 Visual FoxPro基类 Form,创建一个名为 myForm的自定义表单类。自定义表单类保存在名为myclass1ib的类库中。自定义表单类 myForm需满足以下要求: 其 AutoCenter属性的默认值为T。 其 Closable属性的默认值为F。 当基于该自定义表单类创建表单时,自动包含一个命令按钮。该命令按钮的标题为“关闭”,当单击该命令按钮时,将关闭其所在的表单。 (2)利用查询设
8、计器创建查询,从 orders、orderitems 和 goods表中查询 2007年签订的所有订单的信息。查询结果依次包含订单号、客户号、签订日期、总金额四项内容,其中“总金额”为该订单所签所有商品的金额(单价木数量)之和。各记录按“总金额”降序排序,“总金额”相同按“订单号”升序排序。查询去向为表tableone。最后将查询保存在 queryoneqpr 文件中,并运行该查询。(分数:2.00)_正确答案:(正确答案:(1) 步骤 1:执行【文件】【新建】菜单命令,打开“新建”对话框,在对话框中选中“类”,然后单击“新建文件”图标按钮,打开“新建类”对话框。 步骤 2:在“类名”文本框中
9、输入:myfonm,在派生于下拉框中选中“Fonm”,在“存储于”文本框中输入:myclass1ib,单击“确定”按钮。如图 328 所示。 )解析:解析:(1)本题考查的是类的建立,操作比较简单,注意派生类名和基类名的区别,另外,设置表单类的属性与在表单设计器中设置表单属性的方法是一样的。 (2)本题主要考查的是查询设计器的使用,首先要判断查询数据源包括哪些数据表,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。本题操作时要注意 3个表的添加顺序。由于这 3个表是自由表,无法建立联系,所以需要我们自己根据两表之间的关联字段设置联接条件。通过分析可以得知,
10、orders 表和orderitems表通过“订单号”相连接,orderitems 表和 qoods表通过“商品号”相连接,所以应按照orders表、orderitems 表和 goods表的顺序进行添加,在添加的过程中可以设置两表之间的联接条件,否则会导致两个表之间无法建立联系,或是导致查询出错。另外,查询筛选条件为具体的年份值,因此只能通过 YEAR()函数获得,应在“筛选”选项卡中选择“表达式”,然后在“表达式生成器”对话框中利用 YEAR()函数取“Orders签订日期”中的年份值,作为筛选条件的“字段名”。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下设计名为 lin
11、form的表单(表单的控件名和文件名均为 linform),表单的标题为“零件供应情况查看”。表单中有一个表格控件和两个命令按钮“查询”和“退出”。 运行表单时单击“查询”命令按钮后,表格控件中显示“供应”表中“工程号”为“JC44”所使用的零件的“零件名”、“颜色”和“重量”。并将结果放到表“JC44”中。 单击“退出”按钮关闭表单,如图 2-9所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE FORM LINFORM ,打开表单设计器新建表单。 步骤 2:从“表单工具栏”中依次向表单添加一个表格控件和两个命令按钮控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值。见表 310。 )解析:解析:本题主要考查了表单及控件的常用属性和方法的设置;SQL 联接查询。 对本题操作时,首先根据题意新建表单,添加控件并修改其相关属性。 本题操作时,可以将表格的数据源类型属性RecordsourceType设置为“4 一 SQL”,在“查询”按钮的 click事件中用查询语句指定表格的数据源RecordSource。