1、二级 VISUAL+FOXPRO 机试-51 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.在下完成下列基本操作:(1)新建一个名为“供应”的项目文件。(2)将数据库“供应零件”加入到新建的“供应”项目中。(3)通过“零件号”字段为“零件”表和“供应”表建立永久性联系(“零件”是父表,“供应”是子表)。(4)为“供应”表的数量字段设置有效性规则: 数量必须大于 0 并且小于 9999;错误提示信息是“数量超范围”(注意:公式必须为“数量0.and数量9999”)。(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00
2、)2.(2)打开 myf 表单,表单上有一个命令按钮和一个表格,数据环境中已经添加了表 books。按如下要求进行修改(注意要保存所做的修改):单击表单中标题为“查询”的命令按钮控件查询 books 表中“出版单位”为“经济科学出版社”的书籍的“书名”、“作者编号”和“出版单位”;有一个表格控件,修改相关属性,使在表格中显示命令按钮“查询”的结果。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.单击“退出”按钮关闭表单。(分数:30.00)_二级 VISUAL+FOXPRO 机试-51 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:
3、1,分数:30.00)1.在下完成下列基本操作:(1)新建一个名为“供应”的项目文件。(2)将数据库“供应零件”加入到新建的“供应”项目中。(3)通过“零件号”字段为“零件”表和“供应”表建立永久性联系(“零件”是父表,“供应”是子表)。(4)为“供应”表的数量字段设置有效性规则: 数量必须大于 0 并且小于 9999;错误提示信息是“数量超范围”(注意:公式必须为“数量0.and数量9999”)。(分数:30.00)_正确答案:(在命令窗口输入命令:CREATE PROJECT 供应,建立一个新的项目管理器。(2)在建立好的项目管理器中,单击“数据”选项卡,然后选中列表中的“数据库”,单击选
4、项卡右边的“添加”命令按钮,将考生文件下的“供应零件”数据库文件添加到项目管理器中。(3)在数据库设计器中,右击“零件”表,选择“修改”快捷菜单命令,打开表设计器,为“零件”表的“零件号”字段建立主索引,向样为“供应”表建立普通索引。返回数据库设计器,将零件表中“索引”下面的“零件号”主索引字段拖到供应表中“索引”下面的“零件号”索引字段上,建立了零件和供应两个表之间的永久性联系。(4)选中数据表文件“供应”,单击右边的“修改”命令按钮,打开表设计器,在表设计器中选中“数量”字段,输入“规则”文本框中的内容为“数量0.and数量9999”,在“信息”文本框内输入“”数量超范围”。)解析:解析
5、本大题考查的是通过项目管理器来完成一些数据库及数据库表的基本操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加及数据库表结构的修改可以通过项目管理器中的命令按钮,打开相应的设计器直接管理,数据库表的永久性联系,应在数据库设计器中完成。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.(2)打开 myf 表单,表单上有一个命令按钮和一个表格,数据环境中已经添加了表 books。按如下要求进行修改(注意要保存所做的修改):单击表单中标题为“查询”的命令按钮控件查询 books 表中“出版单位”为“经济科学出版社”的书籍的“书名”、“作者编号”和“出版单位”;有一个表格控
6、件,修改相关属性,使在表格中显示命令按钮“查询”的结果。(分数:40.00)_正确答案:(在命令窗口中输入命令:MODIFY COMMAND prog1.prg,打开程序文件编辑窗口,文件中程序段如下:*文件 prog1.prg 修改前的源程序*update books set 价格 with 价格+1select sum (价格)from books order by 作者编号select* from books for 出版单位=“高等教育出版社”* 根据源程序提供的错误,修改后的程序段如下所示:*文件 prog1.prg 修改后的程序段*update books set 价格=价格+1s
7、elect sum (价格)from books group by 作者编号select* from books where 出版单位=“经济科学出版社”*在命令窗口输入命令:DO prog1,运行程序。(2)在命令窗口输入命令:MODIFY FORM myf,打开表单设计器,双击表单中的“查询”命令按钮,在其Click 事件中编写代码如下。*命令按钮 Command1 (查看)的 Click 事件代码*SELECT 书名,作者编号,出版单位 FROM books;WHERE 出版单位=“经济科学出版社”INTO CURSOR temp Thisform.Grid1.RecordSource=
8、“temp“,*在命令窗口输入命令:DO FORM myf,运行表单,结果如图 3-83 所示。*图 3-83)解析:解析 本大题 1 小题考查的是 SQL 语句的应用,注意 ORDER BY 和 GROUP BY 之间的差别,排序一般用 ORDER BY 短语,记录分组一般使用 GROUP BY 短语。2 小题考查的表单控件属性的修改以及 SQL 语句的应用。三、三 综合应用题(总题数:1,分数:30.00)3.单击“退出”按钮关闭表单。(分数:30.00)_正确答案:(在命令窗口输入命令:CREATE FORM mysupply,打开表单设计器,通过“常用工具栏”向表单添加一个表格和两个命
9、令按钮。选中表单(Form1),在属性面板中修改 Name 的属性值为 mysupply,将 Caption 的属性值改为“零件供应情况”,然后在属性面板顶端的下拉框中选择 Command1,修改该命令按钮控件的 Caption 属性值为“查询”,以同样的方法将第二个命令按钮设置 Caption 属性值改为“退出”,如图 3-84 所示。*图 3-84双击命令按钮 Command1(查询),编写该控件的 Click 事件,程序代码如下:*命令按钮 Command1(查询)的 Click 事件代码*SELECT 零件.零件名,零件.颜色,零件.重量;FROM 供应零件!零件 INNER JOIN
10、 供应零件!供应;ON 零件.零件号=供应.零件号;WHERE 供应.工程号=”J4”;IMTO CURSOR tempThiaform.Grid1.RecordSourceType=1Thisform.Grid1.RecordSource=“temp“*以同样的方法为“退出”命令按钮编写 Click 事件代码:*命令按钮 Command2(退出)的 Click 事件代码*Thisform. Release*保存表单完成设计。表单运行结果如图 3-85 所示。*图 3-85)解析:解析 本大题考查的是表单设计,在设计控件属性中,不要将控件的标题(Caption)和名称(Name)属性弄混淆了,名称属性是该控件的一个内部名称,而标题属性是用来显示的一个标签名称。程序部分属于 SQL 的简单联接查询,在显示查询结果时,首先可用一个临时表保存查询结果,然后将表格控件中来显示数据的属性值设置为该临时表,用来显示查询结果。