1、二级 VISUAL+FOXPRO 机试 18 及答案解析(总分:100.00,做题时间:90 分钟)一、B一 基本操作题/B(总题数:1,分数:30.00)1.将自由表 shu 添加到数据库“课本”中。 (2)将 shu 中的记录拷贝到另一个表 ben 中。 (3)使用报表向导建立报表 my。报表显示 shu 中的全部字段,五分组记录,样式为“简报式”,列数为 2,方向为“横向”。按“价格”升序排序,报表标题为“书籍浏览”。 (4)用一句命令显示一个对话框,要求对话框只显示“Hello”一词,且只含一个确定按钮。将该命令保存在 mycom.txt 中。(分数:30.00)_二、B二 简单应用题
2、/B(总题数:1,分数:40.00)2.(1)建立表单,标题为“系统时间”,文件名为 my。完成如下要求: 表单上有一命令按钮,标题为“显示日期”;一个标签控件。单击命令按钮,在标签上显示当前系统时间,显示格式为:yyyy 年 mm 月dd 日。如果当前月份为一月到九月,如 3 月,则显示为“3 月”,不显示为“03 月”。显示示例:如果系统时间为 2004-04-08,则标签显示为“2004 年 4 月 08 日”。 (2)在考生文件夹的下对数据库“图书借阅信息”中的表 book 的结构做如下修改;指定“书号”为主索引,索引名为 sh,索引表达式为“书号”。指定“作者”为普通索引,索引名和索
3、引表达式均为“作者”。字段“价格”的有效性规则是“价格0”,默认值是 10。(分数:40.00)_三、B三 综合应用题/B(总题数:1,分数:30.00)3.对考生文件夹下的“学生住宿”管理数据库设计一个表单 myf,表单标题为“宿舍查询”,表单中有 3个文本框和 2 个命令按钮“查询”和“关闭”。 运行表单时,在第一个文本框里输入某学生的学号(S1S9),单击查询按钮,则在第二个文本框内会显示该学生的“姓名”,在第三个文本框里会显示第三个学生的“宿舍号”。 如果输入的某个学生的学号对应的学生不存在,则在第二个文本框内显示“该生不存在”,第三个文本框不显示内容;如果输入的某个学生的学号对应的学
4、生存在,但在宿舍表中没有该学号对应的记录,则在第二个文本框内显示该生的“姓名”,第三个文本框显示“该生不住校”。 单击“关闭”按钮关闭表单。(分数:30.00)_二级 VISUAL+FOXPRO 机试 18 答案解析(总分:100.00,做题时间:90 分钟)一、B一 基本操作题/B(总题数:1,分数:30.00)1.将自由表 shu 添加到数据库“课本”中。 (2)将 shu 中的记录拷贝到另一个表 ben 中。 (3)使用报表向导建立报表 my。报表显示 shu 中的全部字段,五分组记录,样式为“简报式”,列数为 2,方向为“横向”。按“价格”升序排序,报表标题为“书籍浏览”。 (4)用一
5、句命令显示一个对话框,要求对话框只显示“Hello”一词,且只含一个确定按钮。将该命令保存在 mycom.txt 中。(分数:30.00)_正确答案:()解析:在命令窗口输入命令:MODIFY DATABASE 课本,打开数据库设计器。右键单击数据库设计器,选择“添加表”快捷菜单命令,系统弹出“打开”对话框,将考生文件夹下的自由表 shu 添加到数据库“课本”中。 (2)在命令窗口中输入命令;SELECT*FROM shu INTO TABLE ben。按下回车键运行即可把表 shu 中的记录拷贝到表 ben 中。 (3)在“工具”菜单中选择“向导”“报表”菜单命令,出现“向导选取”对话框,根
6、据题意数据源是一个表,因此选定“报表向导”。单击“确定”。 步骤一;在弹出的对话框“数据库和表”中,选择“课本”数据库中的 sbu 表,并把全部的“可用字段”选为“选定字段”。 步骤二选取默认值。 步骤三:选择“简报式”样式。 步骤四:报表布局列数选择“2”列,方向为“横向”。 步骤五:在“可用的字段或索引标识”中选择“价格”,把它添加到“选定字段”中,并选中“升序”排序。 步骤六;把报表标题改为“书籍浏览”,可以在单击“完成”之前单击“预览”按钮来预览生成的报表,最后单击“完成”按钮。 以文件名为“my”保存在考生文件夹里。 (4)在命令窗口输入命令:MODIFY FILE mycom,系统
7、弹出文本编器,在弹出的文本编辑器中输入命令;MESSAGEBOX(“Hello“),保存文件。在命令窗口输入命令:DO mycom.txt,命令可查看运行结果。 解析本大题主要考查数据表的添加,SQL 语句的应用,报表的建立以及对话框的建立。数据库表的添加应在数据库设计器中完成。根据报表向导可以建立报表,另外应该熟悉对话框命令语句的功能。二、B二 简单应用题/B(总题数:1,分数:40.00)2.(1)建立表单,标题为“系统时间”,文件名为 my。完成如下要求: 表单上有一命令按钮,标题为“显示日期”;一个标签控件。单击命令按钮,在标签上显示当前系统时间,显示格式为:yyyy 年 mm 月dd
8、 日。如果当前月份为一月到九月,如 3 月,则显示为“3 月”,不显示为“03 月”。显示示例:如果系统时间为 2004-04-08,则标签显示为“2004 年 4 月 08 日”。 (2)在考生文件夹的下对数据库“图书借阅信息”中的表 book 的结构做如下修改;指定“书号”为主索引,索引名为 sh,索引表达式为“书号”。指定“作者”为普通索引,索引名和索引表达式均为“作者”。字段“价格”的有效性规则是“价格0”,默认值是 10。(分数:40.00)_正确答案:()解析:从菜单栏里单击“文件”并选择“新建”,或直接单击工具栏上的“新建”图标,在弹出的对话框中文件类型选择“表单”,单击对话框右
9、边的“新建文件”图标,弹出了 Form1 的表单设计器,单击工具栏上的“保存”图标,以 my 命名保存在考生文件夹下。 单击“表单控件”工具栏中的“命令按钮”控件,在表单上放置 1 个命令按钮和 1 个标签控件,将命令按钮的 Caption 属性值改为“显示时间”,接着单击“表单控件”工具栏中的“标签”控件,将标签的 AusSie 属性设置为工,将 FontSize 设置为 20,双击命令按钮编写 Click 事件的程序代码: *命令按钮 Command1(显示时间)的 Click 事件代码* A=DTOC(DATE(),1) THISFORM.Labell.Caption=LEFT(A,4)
10、+“年“+; IIF(SUBS(A,5,1 户“O“,SUBS(A,6,1),SUBS(A,5,2)+“月“+RIGHT(A,2)+“日| * 调整表单各控件的位置,保存更改,在命令窗口输入命令;DO FORM my,运行表单,查看表单运行结果。结果如图3-107 所示。 (2)在命令窗口中输入命令:USE book MODIFY STURCTURE 打开 book 数据表的设计器,单击“索引”选项卡,此选项卡中的“索引名”改为 sh,“索引表达式”改为“书号”,在“索引类型”的下拉框中,选择“主索引”。用同样的方法再新增“作者”字段的普通索引。 在“字段”选项卡中选中“价格”字段,在“字段有
11、效性”的规则文本框中输入“价格0”默认值文本框中输入“10”为该字段设置默认值。 单击“确定”按钮,保存表结构修改。 解析本大题 1 小题主要考查的是表单控件的使用以及各函数的功能,标签控件最重要的一个属性是 Caption,可通过该属性显示当前日期。2 小题主要考查的是数据表的更改,建立索引可以在数据表设计器中完成。字段的有效性规则建立可在“字段”选项卡中完成。三、B三 综合应用题/B(总题数:1,分数:30.00)3.对考生文件夹下的“学生住宿”管理数据库设计一个表单 myf,表单标题为“宿舍查询”,表单中有 3个文本框和 2 个命令按钮“查询”和“关闭”。 运行表单时,在第一个文本框里输
12、入某学生的学号(S1S9),单击查询按钮,则在第二个文本框内会显示该学生的“姓名”,在第三个文本框里会显示第三个学生的“宿舍号”。 如果输入的某个学生的学号对应的学生不存在,则在第二个文本框内显示“该生不存在”,第三个文本框不显示内容;如果输入的某个学生的学号对应的学生存在,但在宿舍表中没有该学号对应的记录,则在第二个文本框内显示该生的“姓名”,第三个文本框显示“该生不住校”。 单击“关闭”按钮关闭表单。(分数:30.00)_正确答案:()解析:单击“文件”菜单中的“新建”,在类型选择框中选择“表单”,单击“新建文件”按钮,打开表单设计器。 在属性窗口中设置表单的 Caption 属性为“宿舍
13、查询”,从“表单控件”工具栏中选择 3 个文本框,2 个命令按钮放置在表单上。在属性面板中分别设置两个命令按钮的 Caption 属性分别为“查询”和“关闭”,结果如图 3-108 所示。 双击命令按钮“查询”,编写该控件的 Click 事件,程序代码如下:*命令按钮 Command1(查询)的 Click 事件代码* SET TALK OFF OPEN DATABASE 学生住宿管理 USE 学生 GO TOP LOCATE FOR 学生.学号=ALLTRIM(Thisform.Text1.Value) IF 学生.学号ALLTRIM(Thisform.Text1.Value) Thisfo
14、rm.Text2.Value=“该生不存在!“ Thisform.Text3.Value=“ ELSE SELECT 学生.姓名; FROM 学生; WHERE 学生.学号=ALLTRIM(Thisform.Text1.Value); INTO CURSOR temp Thisform.Text2.Value=temp.姓名 USE 宿舍 LOCATE FOR 宿舍.学号=ALLTRIM(Thisform.Text1.Value) IF 宿舍.学号ALLTRIM(Thisform.Text1.Value) Thisform.Text3.Value=“该生不住校!“ ELSE SELECT 学生
15、.姓名.宿舍.宿舍; FROM 宿舍,学生; WHERE 学生.学号=ALLTRIM(Thisform.Text1.Value)AND 宿舍.学号=学生.学号; INTO CURSOR temp Thisform.Text2.Value=temp.姓名 Thisform.Text3.Value=temp.宿舍 ENDIF ENDIF CLOSEALL SET TALK ON * 以同样的方法为“关闭”命令按钮编写 Click 事件代码;Thisform. Release。 保存表单文件为 myf.scx 到考生文件夹下,表单运行结果如图 3-109 所示。 解析本大题考查了表单常用控件的基本设置,在程序设计部分,可将查询结果存放到一个临时表中,然后通过文本框的 Value 属性值来显示查询结果。