单选题
[程序说明]
设有学生. DBF:学号(C,6)、姓名(C,8)、性别(C,2)、出生日期(D,8)、奖学金(N,6,2)。
成绩. DBF:学号(C,6)、课程号(C,4)、成绩(N,5,1)。
课程. DBF:课程号(C,4)、课程名(C,20)。
现要求查询指定的某个学生的某个课程成绩。
[程序]
SET TALK OFF
CLEAR
SELE 1
USE学生
ACCE "请输入要查询的学生姓名:"TO XM
LOCA FOR______
USE成绩 ______
LOCA FOR ______
USE课程IN 3
SELE课程
LOCA FOR ______
SELE成绩
? 学号,学生.姓名,课程号,C.课程名,成绩
SET TALK ON
【正确答案】
A
【答案解析】[解析] 程序段的第3,4,5,6行的功能是在工作区中打开学生表,输入要查询的学生的姓名(XM),顺序查找学生表中的学号与输入学生姓名(XM)相同的记录。顺序查找命令的格式:LOCATE FOR<条件>[WHILE<条件>][<范围>]。其功能:按表的排列顺序依次搜索满足条件的第一条记录。所以第1空应填姓名=XM。选项C不能与输入信息(XM)建立连接,选项D中成绩表未打开。
【正确答案】
D
【答案解析】[解析] 指定工作区的命令是:SELECT nWorkArea/c TableAlias。例如在第2工作区打开成绩表:SELECT 2
USE学生在USE命令中直接指定在第2工作区打开成绩表:USE成绩IN2。因为学生表在第一工作区打开的,程序第7、8行的功能是在第2工作区打开成绩表,并顺序查找成绩表中的学号与学生表中的学号相同的记录。学生表与成绩表建立连接的公共字段是学号,所以第3空应填成绩. 学号=学生.学号,又因在当前第二工作区打开了成绩表,所以成绩.学号中的“成绩.”可省略,默认的为成绩表中的学号。选项C相当于成绩.学号=成绩.学号,无任何意义。选项B课程表未打开。
【正确答案】
C
【答案解析】[解析] 课程表与成绩表建立连接的公共字字段是课程号,所以第4空应填课程号=成绩. 课程号。程序中通过LOCA FOR姓名=XM来建立学生表与输入信息的连接,通过LOCA FOR成绩.学号=学生.学号,课程.课程号=成绩.课程号来建立三表之间的连接。