1、二级 VISUAL+FOXPRO机试-145 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.(1)将表 shu的结构拷贝到新表 new中,将命令语句保存在 query1.prg中。(2)将表 shu的记录拷贝到表 new中,将命令语句保存在 query2.prg中。(3)建立简单的菜单 mym,要求有 2个菜单项:“查询”和“统计”。其中“查询”菜单项有子菜单“执行查询”和“关闭”。“关闭”子菜单项负责返回到系统子菜单,其他菜单项不做要求。(4)为表 shu增加字段“作者”,类型和宽度为“字符型(8)”。(考生文件夹下载)(分数:3
2、0.00)_二、二 简单应用题(总题数:1,分数:40.00)2.对考生文件夹下的“学生”表、“课程”表和“选课”表进行如下操作:(1)用 SQL语句查询“课程成绩”在 80分以上(包括 80分)的学生姓名,并将结果按学号升序存入表文件cheng.dbf中,将 SQL语句保存在考生文件夹下的 cha.txt文本中。(2)使用表单向导制作一个表单,要求选择“学生”表中的全部字段。表单样式为“彩色式”,按钮类型为“文本按钮”,排序字段选择“学号”(升序),表单标题为“学生浏览”,最后将表单保存为“my”。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.考生文件夹下有“定
3、货”表和“客户”表,设计一个文件名为 myf的表单,表单中有两个命令按钮,按钮的标题分别为“计算”和“关闭”。程序运行时,单击“计算”按钮应完成下列操作:计算“客户”表中每个订单的“总金额”(总金额为“定货”中订单好相同的所有记录的“单价*数量”的总和)。根据上面的计算结果,生成一个新的自由表 newt,该表只包括“客户号”、“订单号”和“总金额”项,并按客户号升序排序。单击“关闭”按钮,程序终止运行。(分数:30.00)_二级 VISUAL+FOXPRO机试-145 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.(1)将表 shu的
4、结构拷贝到新表 new中,将命令语句保存在 query1.prg中。(2)将表 shu的记录拷贝到表 new中,将命令语句保存在 query2.prg中。(3)建立简单的菜单 mym,要求有 2个菜单项:“查询”和“统计”。其中“查询”菜单项有子菜单“执行查询”和“关闭”。“关闭”子菜单项负责返回到系统子菜单,其他菜单项不做要求。(4)为表 shu增加字段“作者”,类型和宽度为“字符型(8)”。(考生文件夹下载)(分数:30.00)_正确答案:(在命令窗口中输入命令:MODIFY COMMAND query1,新建一个程序。在弹出的程序编辑窗口中输入以下代码:USE shuCOPY STRUC
5、TURE TO new保存文件,在命令窗口输入命令:DO query1,执行文件。(2)在命令窗口中输入命令:MODIFY COMMAND query2,新建一个程序。在弹出的程序编辑窗口中输入以下代码:USE shuCOPY TO new保存文件,在命令窗口输入命令:DO query2,执行文件。(3)在命令窗口中输入命令:CREATE MENU mym,系统弹出一个“新建”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。输入主菜单名称“查询”和“统计”,在主菜单“查询”在“结果”下拉框中选择子菜单,接着单击“查询”菜单项同一行中的“创建”按钮进入下级菜单的设计界面,此设计窗口与主窗
6、口大致相同,然后编写每个子菜单项的名称“执行查询”和“关闭”,在“执行查询”子菜单的“结果”下拉框中选择“过程”选项,“关闭”的“结果”下拉框中选择“命令”选项。如图 3-50所示。)解析:解析 本大题主要考查的是 SQL语句的应用,设计过程中可利用临时表来存放查询结果,再利用 DO循环语句对表中的记录逐条更新。菜单的设计过程中考生应该注意“结果”选项的选择。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.对考生文件夹下的“学生”表、“课程”表和“选课”表进行如下操作:(1)用 SQL语句查询“课程成绩”在 80分以上(包括 80分)的学生姓名,并将结果按学号升序存入表文件
7、cheng.dbf中,将 SQL语句保存在考生文件夹下的 cha.txt文本中。(2)使用表单向导制作一个表单,要求选择“学生”表中的全部字段。表单样式为“彩色式”,按钮类型为“文本按钮”,排序字段选择“学号”(升序),表单标题为“学生浏览”,最后将表单保存为“my”。(分数:40.00)_正确答案:(在命令窗口中输入命令:MODIFY FILE cha,在文本编辑器窗口输入如下程序段:*文件 cha.txt中的程序段*SELECT DISTINCT(姓名);FROM选课,学生;WHERE学生.学号=选课.学号 AND成绩=70;ORDER BY学生.学号 ASC;INTO TABLE che
8、ng*在命令窗口中输入命令:DO cha.txt,运行程序。其查询结果如图 3-51所示。(2)启动 Visual FoxPro,在“工具”菜单选择“向导”“表单”菜单命令,出现“向导选取”对话框,根据题意数据源是一个表,因此选定“表单向导”,单击“确定”。步骤一:在弹出的对话框中“数据库和表”选项选择“学生”数据表,并把全部的“可用字段”选为“选定字段”。步骤二:表单样式选择为“彩色式”,按钮类型选择“文本按钮”。步骤三:在“排序次序”中选择“学号”,并选择升序排序。步骤四:把表单标题改为“数据维护”,可以在单击“完成”之前单击“预览”按钮来预览生成的表单,最后单击“完成”按钮。将表单以文件
9、名为 my保存在考生文件夹里。表单结果如图 3-52所示。)解析:解析 本大题 1小题考查的是 SQL联接查询,设计过程中主要注意两个表之间进行关联的字段。2小题考查的是根据表单向导生成表单内容。考生应该区别数据源为一个表或多个表时所运用的表单向导。三、三 综合应用题(总题数:1,分数:30.00)3.考生文件夹下有“定货”表和“客户”表,设计一个文件名为 myf的表单,表单中有两个命令按钮,按钮的标题分别为“计算”和“关闭”。程序运行时,单击“计算”按钮应完成下列操作:计算“客户”表中每个订单的“总金额”(总金额为“定货”中订单好相同的所有记录的“单价*数量”的总和)。根据上面的计算结果,生
10、成一个新的自由表 newt,该表只包括“客户号”、“订单号”和“总金额”项,并按客户号升序排序。单击“关闭”按钮,程序终止运行。(分数:30.00)_正确答案:(在命令窗口中输入命令:CREATE FORM myf,打开表单设计器,通过“表单控件”工具栏向表单添加两个命令按钮。在属性面板中修改两个命令按钮控件的 Caption属性值分别为“计算”和“关闭”。双击命令按钮“计算”,编写该控件的 Click事件,程序代码如下:*命令按钮 Command1(计算)的 Click事件代码*SELECT客户号,定货.订单号,SUM(单价,数量)AS 总金额;FROM 客户,定货;WHERE 客户.订单号=定货.订单号;ORDER BY客户号;G1LOUP BY定货.订单号;INTO TABLE newt*以同样的方法为“关闭”命令按钮编写 Click事件代码:Thisform.Release。保存表单完成设计。运行表单,查询结果如图 3-53所示。)解析:解析 本大题考查的是表单设计,在设计控件属性中,不要将控件的标题和名称属性弄混淆,名称属性是该控件的一个内部名称,而标题属性是用来显示的一个标签名称。程序部分属于 SQL的简单联接查询。