1、上机操作题-试卷 77 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操作: (1)创建一个新的项目“客户管理”。 (2)在新建立的项目“客户管理”中创建数据库“订货管理”。 (3)在“订货管理”数据库中建立表 order list,表结构如下: 客户号 字符型(6) 订单号 字符型(6) 订购日期 日期型 总金额 浮动型(15,2) (4)为 order list 表创建一个主索引,索引名和索引表达式均是“订单号”。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)将 order listl 表
2、中的全部记录追加到 order list 表中,然后用 SQLSELECT 语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到 results 表中(其中客户号、客户名取自 customer 表,订单号、总金额取自 order list 表)。(2)打开 forml 表单,并按如下要求进行修改(注意:最后保存所做的修改): 表单中有 5 个随机排列的命令按钮,不要移动或改变“基准按钮”的位置(否则影响成绩),然后使其他命令按钮与“基准按钮”左部对齐。 在这组命令按钮的右边添加一个表格控件,并将它的。RecordSourceTe 属性设置为“表”,然后设置另
3、一个相关属性使在表格控件中显示 customer 表的记录。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.当 order detail 表中的单价修改后,应该根据该表的“单价”和“数量”字段修改 order list 表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: 根据 order detail 表中的记录重新计算 order。list 表的总金额字段的值。 一条 order list 记录可以对应几条 order detail 记录。 在编程前应保证在基础操作中正确地建立了 orde list 表,在简单应用中为该表追加了记录(注意:只能追加一次)。
4、最后将 order list 表中的记录按总金额降序排序存储到 0d new 表中。(表结构与 order list 表完全相同) 将程序保存为 proglprg 文件。(分数:2.00)_上机操作题-试卷 77 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操作: (1)创建一个新的项目“客户管理”。 (2)在新建立的项目“客户管理”中创建数据库“订货管理”。 (3)在“订货管理”数据库中建立表 order list,表结构如下: 客户号 字符型(6) 订单号 字符型(6) 订购日期 日期型 总金额 浮动型(15,2)
5、(4)为 order list 表创建一个主索引,索引名和索引表达式均是“订单号”。(分数:2.00)_正确答案:(正确答案:本大题考查了项目管理器的建立及使用、数据库表的建立和索引的建立。 为项目添加数据库可以在项目设计器中进行。在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的的“升序”或“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,如果要改变索引名或索引类型,则需要在“索引”选项卡中进行修改。 【操作步骤】 (1)在命令窗口执行命令:CREATE PROJECT 客户管理,新建一个项目管理器。 (2)在项目管理器中,选中“数据”选项卡内的“数据库”项,然后单击“
6、新建”按钮,在弹出的“新建数据库”对话框中单击“新建数据库”图标按钮,然后在弹出的“创建”对话框的“数据库名”框中输入“订货管理”,单击“保存”按钮新建一个数据库并打开数据设计器。 (3)在数据库设计器中右击鼠标,选择【新建表】快捷菜单命令,在弹出的“新建表”对话框中单击“新建表”图标按钮,然后在弹出的“创建”对话框的“输入表名”框中输入“order list”,单击“保存”按钮打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”按钮,此时系统会弹出一个对话框询问“现在输入数据记录吗?”,由于本题没有要求输入数据,单击“否”按钮。 (4)右击数
7、据库设计器中的 order list 表,选择【修改】快捷菜单命令,打开 orderlist 表设计器,在“字段”选项卡中选中“订单号”,在“索引”列中选择“升序”,然后在“索引”选项卡中修改“索引类型”为主索引,建立订单号字段的主索引,单击“确定”按钮保存表结构修改。)解析:二、简单应用题(总题数:1,分数:2.00)2.(1)将 order listl 表中的全部记录追加到 order list 表中,然后用 SQLSELECT 语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到 results 表中(其中客户号、客户名取自 customer 表,订单
8、号、总金额取自 order list 表)。(2)打开 forml 表单,并按如下要求进行修改(注意:最后保存所做的修改): 表单中有 5 个随机排列的命令按钮,不要移动或改变“基准按钮”的位置(否则影响成绩),然后使其他命令按钮与“基准按钮”左部对齐。 在这组命令按钮的右边添加一个表格控件,并将它的。RecordSourceTe 属性设置为“表”,然后设置另一个相关属性使在表格控件中显示 customer 表的记录。(分数:2.00)_正确答案:(正确答案:本题考查了 SQL 简单查询和联接查询。 要将 order listl 表中的全部记录追加到order list 表中,可以分两步实现:
9、先将 order listl 表的所有记录查询出来保存在数组中,再通过该数组向 order li st 表中插入所有记录,这里会用到 SQI,的 INSERTINTO 语句。 题目中要求的SQLSELECT 查询语句是联接查询。对于掌握 SQL 语句不熟练的考生来说,可以通过查询设计器生成 SQL 语句。 步骤 1:在命令窗口执行命令:MODIFY FORM forml,打开表单设计器修改表单。 步骤 2:右击工具栏的空白区域,选择【布局】快捷菜单命令,打开表单的“布局”工具栏(如果表单设计器中没有显示该工具栏,则执行该操作)。 步骤 3:同时选中表单中的 5 个按钮,然后单击“布局“工具栏中
10、的“左边对齐”按钮(第 1 个图标按钮) 步骤 4:在表单设计器中 5 个按钮的右侧添加一个表格控件,在“属性“面板的下拉框中选择表格 d1 对象,在“全部”选项卡中修改表格对象属性值, 步骤 5:单击“常用“工具栏中的“保存”按钮保存表单。)解析:三、综合应用题(总题数:1,分数:2.00)3.当 order detail 表中的单价修改后,应该根据该表的“单价”和“数量”字段修改 order list 表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: 根据 order detail 表中的记录重新计算 order。list 表的总金额字段的值。 一条 order list
11、记录可以对应几条 order detail 记录。 在编程前应保证在基础操作中正确地建立了 orde list 表,在简单应用中为该表追加了记录(注意:只能追加一次)。 最后将 order list 表中的记录按总金额降序排序存储到 0d new 表中。(表结构与 order list 表完全相同) 将程序保存为 proglprg 文件。(分数:2.00)_正确答案:(正确答案:本题主要考查的是程序文件的建立、DOWHILE 循环结构和 SQL 分组计算查询。 本题的基本解题思路是: 以 order list 表为当前表,通过 SQL 分组与计算查询从 order detail 表中按订单号分
12、组计算每组订单的总金额,并按订单号排序,将结果保存到临时表中。 接着通过 do while 循环逐条处理 0rder list 中订单号与临时表中订单号相同的记录,利用 replace 命令修改。rder list 的总金额字段值等于临时表中对应的总金额字段值。 最后用 SQL 简单查询将。rder list 表中的记录保存到表OD NEW 中。 【操作步骤】 步骤 1:在命令窗口执行命令:MODIFY COMMANDprog 1,新建程序并打开程序编辑器。 步骤 2:在程序编辑器中输入如下程序代码: 1 CLOSE DATABASE 2 USE ORDERLIST 3 SELECT 订单号,
13、sUM(单价*数量)As AA; 4 FROM ORDERDETAIL; 5 GROUP BY 订单号 ORDER BY 订单号;6 INTO CURSOR FF 7 SELECT ORDERLIST 8 DO WHILE!EOF() 9 SELE FF 10 LocATE FOR 订单号=ORDERLIsT订单号 1 1 SELE ORDERLIST 12 REPLACE 总金额 wITH FFAA 13 SKIp 14 ENDDO 15 SELEcT*FROM ORDERLIsT ORDER BY 总 金额 DESC 工 NTO DBF ODNEW 步骤 3:“常用”工具栏中的“运行”按钮运行程序。)解析: