1、二级 VISUAL+FOXPRO-89 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:40.00)在下打开“宾馆”数据库,完成如下操作:(分数:40.00)(1).打开“客户”表,给“性别”字段增加约束,即性别只能为“男”或“女”,默认值为“女”,表达式为“性别$“男女“”;(分数:10.00)_(2).为“入住”表创建一个主索引,主索引的索引名为,fkkey,索引表达式为“客房号+客户号”;(分数:10.00)_(3).根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。(
2、分数:10.00)_(4).使用 SQL 的 SELECT 语句查询“客户”表中性别为“男”的客户的客户号、身份证、姓名和工作单位字段及相应的记录值,并将结果存储到名为 TABA 的表中(该表不需要排序)。请将该语句存储到名为one.prg 的文件中。(分数:10.00)_二、简单应用题(总题数:1,分数:20.00)在下打开“宾馆”数据库,完成如下简单应用:(分数:20.00)(1).使用查询设计器设计一个名称为 two 的查询,查询房价价格大于等于 280 元的每个客房的客房号、类型号(来自客房表)、类型名和价格,查询结果按类型号升序排序,并将查询结果输出到表 TABB 中。设计完成后,运
3、行该查询。(分数:10.00)_(2).修改一个名称为 three.prg 的命令文件,该命令文件用来查询与“姚小敏”同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位,查询结果包括“姚小敏”本人,查询结果输出到表 TABC 中。该命令文件在第 3 行、第 5 行、第 7 行和第 8 行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。(分数:10.00)_三、综合应用题(总题数:1,分数:40.00)1.在 下先打开“宾馆”数据库,然后创建一个文件名为 test 的表单,如下图所示。
4、(分数:40.00)_二级 VISUAL+FOXPRO-89 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:40.00)在下打开“宾馆”数据库,完成如下操作:(分数:40.00)(1).打开“客户”表,给“性别”字段增加约束,即性别只能为“男”或“女”,默认值为“女”,表达式为“性别$“男女“”;(分数:10.00)_正确答案:()解析:单击工具栏中的“打开”按钮,打开考生文件夹下的数据库“宾馆”,然后在数据库设计器中右击“客户”表,打开表设计器,选择“性别”字段,在其字段有效性规则栏中输入“性别$“男女“,在默认值栏中输入“女“”。 答案考生文件夹(2
5、).为“入住”表创建一个主索引,主索引的索引名为,fkkey,索引表达式为“客房号+客户号”;(分数:10.00)_正确答案:()解析:在数据库设计器中右击“入住”表,打开表设计器,在“索引”选项卡中的索引名处输入 fkkey,类型选择“主索引”,在表达式处输入“客房号+客户号”。(3).根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。(分数:10.00)_正确答案:()解析:为“入住”表建立索引名和索引表达式分别为“客房号”和“客户号”的普通索引,为“客房”表建立索引名和索引表达式均为“类型号”的普通索引。在数
6、据库设计器中建立 4 个表的联系:选中“客户”表中的主索引“客户号”,按住鼠标拖动到“入住”表的普通索引“客户号”上,用同样的方法可以建立“客房”表和“入住”表的“客房号”之间的联系,以及“房价”表和“客房”表的“类型号”之间的联系。(4).使用 SQL 的 SELECT 语句查询“客户”表中性别为“男”的客户的客户号、身份证、姓名和工作单位字段及相应的记录值,并将结果存储到名为 TABA 的表中(该表不需要排序)。请将该语句存储到名为one.prg 的文件中。(分数:10.00)_正确答案:()解析:单击工具栏中的“新建”按钮,建立一个程序文件,输入如下代码: SELECT 客户号, 身份证
7、, 姓名, 工作单位 FROM 客户 WHERE 性别=“男“INTO TABLE taba.dbf 保存程序为 one.prg,并运行该程序。二、简单应用题(总题数:1,分数:20.00)在下打开“宾馆”数据库,完成如下简单应用:(分数:20.00)(1).使用查询设计器设计一个名称为 two 的查询,查询房价价格大于等于 280 元的每个客房的客房号、类型号(来自客房表)、类型名和价格,查询结果按类型号升序排序,并将查询结果输出到表 TABB 中。设计完成后,运行该查询。(分数:10.00)_正确答案:()解析:步骤 1:单击工具栏中的“新建”按钮,新建一个查询,将“房价”和“客房”表添加
8、到查询中,并在“字段”选项卡中将“客房.客房号”、“客房.类型号”、“房价.类型名”、“房价.价格”添加到选定字段。 步骤 2:在“筛选”选项卡中,“字段名”选择“房价.价格”,“条件”输入“=”,“实例”输入“280”。 步骤 3:在“排序依据”选项卡中选择字段“客房.类型号”,在“排序选项”处选择“升序”。 步骤 4:选择“查询”菜单下的“查询去向”命令,在“查询去向”对话框中选择“表”,表名输入TABB。 步骤 5:保存查询名为 two,最后运行该查询。 答案考生文件夹(2).修改一个名称为 three.prg 的命令文件,该命令文件用来查询与“姚小敏”同一天入住宾馆的每个客户的客户号、
9、身份证、姓名、工作单位,查询结果包括“姚小敏”本人,查询结果输出到表 TABC 中。该命令文件在第 3 行、第 5 行、第 7 行和第 8 行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。(分数:10.00)_正确答案:()解析:单击工具栏中的“打开”按钮,打开考生文件夹下的程序文件 three.prg,对其中的命令进行修改:第 3 行改为:FROM 客户, 入住 WHERE 客户.客户号=入住.客户号; 第 5 行改为:(SELECT 入住日期; 第 7 行改为:WHERE 客户.客户号
10、=入住.客户号 AND 姓名=“姚小敏“); 第 8 行改为:INTO TABLE TABC 保存并运行程序。三、综合应用题(总题数:1,分数:40.00)1.在 下先打开“宾馆”数据库,然后创建一个文件名为 test 的表单,如下图所示。 (分数:40.00)_正确答案:()解析:步骤 1:单击工具栏中的“新建”按钮,新建一个名为 test 的表单,并通过表单控件工具栏向表单中添加一个标签、一个文本框和两个命令按钮。 步骤 2:设置标签控件 Lable1 的 Caption 属性为“退房日期大于或等于”,Command1 的 Caption 属性为“查询”,Command2 的 Captio
11、n 属性为“退出”。 步骤 3:双击“查询”按钮,为“查询”命令按钮的 Click 事件编写程序代码: *“查询”按钮的 Click 事件代码* SET CENTURY ON SET DATE TO YMD SELECT 客户.客户号, 客户.身份证, 客户.姓名, 客户.工作单位, 客房.客房号, 房价.类型名, 房价.价格; FROM 客户, 房价, 入住, 客房; WHERE 客户.客户号=入住.客户号; AND 客房.客房号=入住.客房号; AND 房价.类型号=客房.类型号; AND 入住.退房日期=ctod(ThisForm.Text1.value); ORDER BY 房价.价格 DESC; INTO TABLE tabd * 步骤 4:双击“退出”按钮,为“退出”命令按钮的 Click 事件编写程序代码: ThisForm.Release 步骤 5:保存表单为 test,并按题目要求运行该表单。 答案考生文件夹