(1)歌手比赛分为四个组,“歌手表”中的“歌手编号”字段的左边两位表示了该歌手所在的组号。考生文件夹下的程序文件five.prg的功能是:根据“歌手表”计算每个组的歌手人数,将结果填入表one.dbf,表one.dbf中有两个字段:“组号”和“歌手人数”。

admin2017-03-29  24

问题 (1)歌手比赛分为四个组,“歌手表”中的“歌手编号”字段的左边两位表示了该歌手所在的组号。考生文件夹下的程序文件five.prg的功能是:根据“歌手表”计算每个组的歌手人数,将结果填入表one.dbf,表one.dbf中有两个字段:“组号”和“歌手人数”。程序中有3处错误,请修改并执行程序。
注意:只能修改标有错误的语句行,不能修改其他语句,数组名A不允许修改。
(2)建立一个数据库文件“歌手大奖赛.dbc”,并将“歌手表”、“评委表”和“评分表”3个自由表添加到该数据库中。使用视图设计器建立视图songer_view,该视图根据“歌手表”、“评委表”和“评分表”建立,视图中的字段项包括:“评委姓名”、“歌手姓名”、“分数”,视图中的记录按“歌手姓名”升序、“分数”降序排列。

选项

答案(1)步骤1:在命令窗口执行命令: MODIFY COMMANDfive, 打开程序文件,文件中的命令代码如下: &&根据"歌手表"计算每个组的歌手人数 CLOSE DATA USE one GO TOP WHILE.NOT.EOF() &&错误 zuhao=组号 SELECT COUNT(+)FROM歌手表PIHERE歌手表.歌手编号=zuhac INTO ARRAY A &&错误 REPLACE歌手人数INTO A &&错误 SKIP ENDDO 修改程序中的错误行,修改后的程序如下: CLOSE DATA USE one GO TOP DO WHILE NOT EOF() zuhao=组号 SELECT COUNT(*)FROM歌手表WHERE LEFT(歌手表,歌手编号,2)=zuhao INTO ARRAY A REPLACE歌手人数WITH A[1] SKIP ENDDO 步骤2:保存文件修改,在命令窗口执行命令: DO five,执行程序文件。 程序的基本结构;SQL简单查询。 (2)步骤1:在命令窗口执行命令: MODIFY DATABASE歌手大奖赛,新建并打开数据库设计器。右击鼠标,选择【添加表】,在“打开”对话框中双击“歌手表”添加到数据库中;同样的方法,将“评委表”和“评分表”添加到数据库中。 步骤2:在数据库设计器中右击,选择【新建本地视图】打开视图设计器,在“新建本地视图”中单击“新建视图”按钮,在“添加表或视图”中依次双击“歌手表”、“评分表”和“评委表”(按顺序添加),添加到视图设计器中。 步骤3:双击“评委表”中的“评委姓名”字段,“歌手表”中的“歌手姓名”字段和“评分表”中的“分数”字段,将3个字段添加到“选定字段”中。 步骤4:“排序依据”选项卡中双击“选定字段”列表框中的“歌手表.歌手姓名”字段,添加到“排序条件”列表框中;再双击“选定字段”中的“评分表,分数”字段添加到“排序条件”列表框中,“排序选项”中选择“降序”;以songer_view名保存视图。使用数据库;视图的建立与使用。

解析 (1)本题考查了Do WHILE循环语句:SQL简单计算查询;Visual FoxPro表记录修改命令。
本题的第一处错误是DO WHILE循环语句的入口语句格式错误,DO短语是必须的,不可缺少:第二处错误根据题意得知,“歌手编号”字段的左边两位表示该歌手所在的组号,因此,要通过字符串截取函数才能从“歌手编号”字段中得到歌手的组号:第三处错误是RE PLACE语句的格式错误,使用数组修改当前记录时,应使用WITH短语,而不是INTO短语。
(2)本题考查了数据库和表的基本操作:利用视图设计器建立视图。
本题的关键是向数据库设计器中按照一定的顺序依次添加各表,即按照表间联系依次添加表,这样可以保证视图设计器中的各表都存在联接关系。
对SQL熟悉的考生,可以通过命令方式建立该视图。
转载请注明原文地址:https://jikaoti.com/ti/Upk0FFFM
0

最新回复(0)