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

admin2010-12-13  27

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

选项

答案(1)步骤1:在命令窗口执行命令:MODIFY COMMAND five,打开程序文件,文件中的命令代码如下: &&根据"歌手表"计算每个组的歌手人数 CLOSE DATA USE one GO TOP WHILE.NOT.EOF() &&错误 zuhao=组号 SELECT COUNT(*) FROM 歌手表 WHERE 歌手表.歌手编号=zuhao 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,执行程序文件。 (2)步骤1:在命令窗口执行命令:MODIFY DATABASE歌手大奖赛,新建数据库并打开数据库设计器。在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击“歌手表”,将表添加到数据库中;以同样的方法,再将“评委表”和“评分表”添加到数据库中。 步骤2。在数据库设计器中右击鼠标,选择【新建本地视图】快捷菜单命令打开视图设计器,接着在弹出的“新建本地视图”对话框中单击“新建视图”图标按钮,然后在“添加表或视图”对话框中依次双击“歌手表”、“评分表”和“评委表”(按顺序添加),将表添加到视图设计器中。 步骤3:依次双击“评委表”中的“评委姓名”字段,“歌手表”中的“歌手姓名”字段和“评分表”中的“分数”字段,将3个字段添加到“选定字段”中。 步骤4:在“排序依据”选项卡中双击“选定字段”列表框中的“歌手表.歌手姓名”字段,将字段添加到“排序条件”列表框中:再双击“选定字段”列表框中的“评分表.分数”字段,将字段添加到“排序条件”列表框中。在“排序选项”中选择“降序”单选项;以songer_view名保存视图。

解析 (1)本题考查了DO WHILE循环语句;SQL简单计算查询;Visual、FoxPro表记录修改命令。
    本题程序所执行的功能大致如下:
    首先打开one表,然后利用DO WHILE语句判断表指针是否到达表末尾,如果没有,则进入循环体,设置一个变量zuhao等于当前记录指针所指记录的“组号”值,然后通过SELECT语句计算“歌手表”中歌手的组号等于变量zuhao的记录,即每组中的歌手人数,将得到的结果保存到数组中,然后再通过visual FoxPro表记录修改命令REPLACE通过数组修改“歌手表”表当前记录的“歌手人数”的值;修改完毕后,“歌手表”的记录指针指向下一条记录,又开始继续判断表指针是否到达表末尾,如果没有,则进入循环体继续同样的操作,直到“歌手表”的记录指针指向表末尾,程序结束。
    本题的第一处错误是DO WHILE循环语句的入口语句格式错误,DO短语是必须的,不可缺少:第二处错误根据题意得知,“歌手编号”字段的左边两位表示该歌手所在的组号,因此,要通过字符串截取函数才能从“歌手编号”字段中得到歌手的组号;第三处错误是REPLACE语句的格式错误,使用数组修改当前记录时,应使用WITH短语,而不是INTO短语。
    (2)本题考查了数据库和表的基本操作;利用视图设计器建立视图.向数据库中添加表可以在数据库设计嚣中完成;利用视图设计器建立视图时,注意筛选条件设置正确,其他操作都比较简单。
    本题的关键是向数据库设计器中添加数据表时,要按熙一定的顺序依次添加各表,即按照表间联系依次添加备表,这样可以保证视图设计器中的各表都存在联接关系。
其他操作都比较简单,根据题意,在各选项卡中完成相应的操作即可。
    对于SQL熟悉的考生,同样可以通过命令方式建立该视图。
转载请注明原文地址:https://kaotiyun.com/show/A4zp777K
0

最新回复(0)