二、简单应用题
2[简答题]
在考生文件夹下完成如下简单应用:
1.使用SQL语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统汁每个国家获得的金牌数(“名次”为1表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表temp中。最后将该SQL语句存储在文件three.prg中。
2.建立一个文件名和控件名均为myform的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(OptionGroup1)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用SQL语句根据“国家”表显示国家名称,选项组中有3个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。
参考解析:【考点分析】本大题主要考查的知识点是:SQL语句中的0RDER BY、GROUP BY、INTO TABLE短语的使用,汇总函数COUNT的使用,建立表单以及表单控件(列表框、选项组、命令按钮)的使用。 【解题思路】新建一个查询,按要求完成查询后查看SQL语句并复制到程序中运行程序;新建一个表单,按要求添加控件并修改控件的属性。
(1)【操作步骤】
新建程序three.prg,然后输入以下命令语句。
* * * * * *three.prg中的代码* * * * * *
&&选择查询字段,通过As短语制定显示字段
SELECT国家.国家名称.COUNT(获奖牌情况.名次)
AS金牌数:
&&指定字段来源
FROM国家.获奖牌情况:
&&设置查询条件
WHERE国家.国家代码=获奖牌情况.国家代码;
AND获奖牌情况.名次=1;
&&GROUP BY子句用于按国家名称分组GROUP BY国家.国家名称;
&&查询结果按金牌数降序排列,金牌数相等时按国家名称降序排列
ORDER BY 2 DESC,国家.国家名称DESC;
&&将查询结果存储到temp.dbf中
INTO TABLE temp.dbf
* * * * * * * * * * * * * * * * * * * *
保存并运行程序。
(2)【操作步骤】
新建一个表单,按题目要求添加一个列表框、一个选项组和一个命令按钮,并修改其属性如下:表单的Name属性为myform,Caption属性为“奖牌查询”;列表框的RowSourceType属性为“3-SQL语句”,RowSource属性为“SELECT国家姓名FORM国家INTO cursor LSB”;选项组的ButtonCount属性为3;单选钮1的Caption属性为“金牌”;单选钮2的Caption属性为“银牌”;单选钮3的Caption3属性为“铜牌”;命令按钮的Caption属性为“退出”。
保存表单为myfrom,运行以查看表单的设计结果。