①编写程序并执行,计算“01”组(歌手编号的前2位)歌手的得分并将结果存入自由表final.dbf中。final.dbf包含“歌手姓名”和“得分”两个字段,“得分”取各评委所打分数的平均值。finaI.dbf中的结果按“得分”降序、“歌手姓名”降序排列。请

admin2014-11-30  39

问题 ①编写程序并执行,计算“01”组(歌手编号的前2位)歌手的得分并将结果存入自由表final.dbf中。final.dbf包含“歌手姓名”和“得分”两个字段,“得分”取各评委所打分数的平均值。finaI.dbf中的结果按“得分”降序、“歌手姓名”降序排列。请将程序存储在two.prg中,否则不得分。
    ②新建一个文件名和表单名均为score.form的表单,向表单添加一个命令按钮Commandl,标题为“计算”,为该命令按钮的Click事件增加命令,调用two.prg程序执行。最后运行该表单,并单击“计算”按钮执行two程序。
    ③新建一个项目文件score projiect,将自由表“歌手表”、“评委表”和“评分表”以及表单文件score form加入该项目,然后将项目文件连编成应用程序文件score app。

选项

答案步骤1:命令窗口执行:MODIFY COMNAND two,打开程序文件编辑器。输入如下程序代码并保存(以下SQL查询语句是通过查询设计器生成): 1 SELECT歌手姓名,AVG(分数) AX得分 FROM歌手表,评分表; 2 WHERE歌手表.歌手编号=评分表.歌手编号 AND LEFT(歌手表.歌手编号,2)="01"; 3 GROUP BY歌手表.歌手编号; 4 ORDER BY得分DESC,歌手姓名DESC INTO TABLE final 步骤2:命令窗口执行:CREATE NORM score-form,打开表单设计器新建立表单。 步骤3:向表单添加一个命令按钮。修改表单(Forml)的Name属值为:score form,命令按钮(Commandl)的Caption属性值为:计算。 步骤4:命令按钮(Comnlandl)Click事件代码:DO two。单击“常用”工具栏中的“运行”查看结果,保存表单。 步骤5:命令窗口执行命令:CREATE PROJECT score-project,新建一个项目管理器。在“数据”选项卡中选“自由表”,单击右边的“添加”按钮,将考生文件夹下的“歌手表”、“评委表”和“评分表”依次加入到项目中;以同样的方法,在“文档”选项卡中,将score form表单添加到项目中。 步骤7:单击项目管理器右侧的“连编”按钮打开“连编选项”对话框,选中“连编应用程序”,单击“确定”,在“另存为”对话框的“应用程序名”中输入:score app,单击“保存”按钮。

解析 本题主要考查了程序文件的建立与运行;SQL分组计算查询;连编应用程序等。
    关键是SQL分组计算查询的设计,可参照以下步骤:
    SELEPCT短语中指定要输出的字段,包括通过AVG()函数计算生成的新字段。FROM...JOIN...ON...等短语指定查询数据源,并建立表问联系,查询源表为“歌手”表和“评分”表,两个表的联接字段为“歌手编号”。GROUP BY短语对表记录分组,分组字段为“歌手编号”。ORDER BY短语设置两个字段的排序方式。ASC表示升序,为系统默认的排序方式,可省略;DESC短语表示降序,不可缺省。
    最后将查询结果通过INTO TABLE命令输出到指定的数据表中。
    调用程序文件的命令是DO<文件名>;连编应用程序可通过单击项目管理器右侧的“连编”命令打开“连编选项”对话框完成。
转载请注明原文地址:https://jikaoti.com/ti/eTv0FFFM
0

最新回复(0)