首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(1)student是一个“学生”表,其中包含学号(C8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生文件夹下的modil.prg程序文件的功能是显示输出所有政治面目为“群众”的“男”生的姓名和班级,每行输出一个学生的信
(1)student是一个“学生”表,其中包含学号(C8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生文件夹下的modil.prg程序文件的功能是显示输出所有政治面目为“群众”的“男”生的姓名和班级,每行输出一个学生的信
admin
2015-08-20
35
问题
(1)student是一个“学生”表,其中包含学号(C8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生文件夹下的modil.prg程序文件的功能是显示输出所有政治面目为“群众”的“男”生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。
说明:程序中******ERROR FOUND******的下一行即为错误所在行。请用改正后的程序行覆盖错误所在行,不要插入或删除任何程序行。
(2)建立命令文件sprog.prg,该命令文件包含如下两条语句:
. 第一条语句使用SQL UPDATE命令计算和更新student表的年龄字段值(计算年龄的表达式是year(dat())-year(出生日期))。
. 第二条语句使用SQLSELECT命令查询各种“政治面目”的学生人数和平均年龄,并将结果存储于表sqlresults(字段名是政治面目、人数和平均年龄)。
说明:以上命令文件必须执行,并产生所要求的结果。
选项
答案
(1) 步骤1:在命令窗口执行命令:MODIFY COMMAND modil,打开程序文件,文件中的命令代码如下: 1 SET TALK OFF 2 USE student 3 LOCATE FOR政治面目="群众" 4 "************error************ DO WHILE.NOT.FOUND() 5 IF性别="男" 6 CONTINUE 7 ************error*********** BREAK 8 ENDIF 9 7姓名,班级 10 ************error************ SKIP 11 ENDDO 12 USE 13 SET TALK ON > 修改程序中的错误行,修改后的程序如下: 1 SET TALK OFF 2 USE student &&打开student表 3 LOCATE FOR政治面目="群众" &&查找当前记录的“政治面目”为“群众” 4 DO WHILE FOUND() &&循环条件为找到"政治而目"为"群众"的记录时进入循环 5 IF性别="男" &&如果性别为“女”,继续执行下面的语句,否则执行ENDIF语句之后的语句 6 CONTINUE &&返回到循环体起始位置继续重新判断下一条记录“政治面目”值是否为“群众” 7 LOOP &&返旧到循环体起始位置,即 DO WHILE处重新判断,不再执行后面的语句 8 ENDIF &&当IF处条件不成立时,直接执行该语句后面的命令 9 ?姓名,班级&&当前面的IF条件语句不成立时,执行该语句,显示当前记录的“姓名”和“班级”值 10 CONTINUE &&返回到循环体起始位置继续重新判断下一条记录"政治面目"值是行为"群众" 11 ENDDO &&当DO WHILE处条件不成立时,直接退出循环体,执行该语句后面的命令 12 USE &&关闭当前打开的表 13 SET TALK ON 步骤2:保存文件修改,在命令窗口执行命令:DO modil.prg,执行程序文件。 (2) 步骤1:在命令窗口执行命令:
MODIFY COMMAND sprog
,打开程序文件编辑器。 步骤2:在程序文件编辑器中输入如下代码(相关SQL查询语句是通过查询设计器生成): 1 UPDATE student SET年龄=YEAR (DATE()) - YEAR(出生日期) 2 SELECT STUDENT.政治面目,COUNT (STUDENT.学号)AS人数,AVG(STUDENT.年龄)AS平均年龄; FROM student; 4 GROUP BY student.政治面目; 5 INTO TABLE sqlresults.dbf 步骤3:保存文件修改,在命令窗口执行命令:
DO sprog.prg
,执行程序文件。
解析
(1)本题主要考查的是利用Visual FoxPro命令查询定位数据表中的记录。此类型的题主要通过一个DO WHILE循环语句对表中的记录逐条比较,对满足条件的记录进行相关的操作。
本题中第一处错误是循环条件的错误,进入循环体的条件是逻辑值为真,第二处错误中属于命令短语错误,visual FoxPro中没有BREAK命令,第三处错误是SKIP命令错误,该命令虽然可以将当前记录指针指向下一条记录,但不再执行LOCATE FOR处的条件判断,如果要包含判断功能,则要使用CONTINUE短语。本题程段中各语句的功能可参考“操作步骤”中对各条语句的注释说明,这里不再细说。
(2)本题考查了SQL数据更新功能和分组计算查询功能。本题数据更新语句可直接套用SQL更新语句的命令格式;对数据进行分组计算查询时,用来计数的函数为COUNT(),用来求平均值的函数为AVG(),通过AS短语可以指定新的字段名,另外,对记录进行分组时,分组字段要设置正确,根据题意,本题的分组字段应为“学生”表中的“政治面目”字段。
转载请注明原文地址:https://jikaoti.com/ti/qBv0FFFM
本试题收录于:
二级VF题库NCRE全国计算机二级分类
0
二级VF
NCRE全国计算机二级
相关试题推荐
对图书管理数据库,求共借出多少种图书。请对下面的SQL语句填空:SELECT______ROM借阅
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
设有图书管理数据库:图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))借阅(借书
在关系模型中,表A中的某属性集是某表B的键,则称该属性集为A的______。
嵌套查询命令中的IN,相当于
下列叙述中,正确的是
检索每个部门职工工资的总和,要求显示部门名称和工资,正确的命令是部门表(部门号N(4)、部门名称C(10))职工表(部门号N(4)、职工号C(4)、姓名C(8)、工资N(7,2))
INDEX命令无法建立的索引是
运算结果是字符串"book"的表达式是
随机试题
对高钾血症,以下列描述正确的是
下列哪项提示结核病灶的痊愈
15岁男孩,左小腿上段进行性疼痛3个月余,偶有轻微发热。查体:左小腿上段外侧方可触及一质硬包块,有轻微压痛。左下肢X线片示:左侧腓骨骨干边界模糊,存在不规则的破坏区,周围伴“葱皮样”反应骨形成。在采集病史时应特别注意询问
贷款担保的形式中,不包括()。
简述教育观察法的基本步骤。
根据《慈善法》规定,下列关于慈善组织开展公开募捐陈述正确的是()。
已知λ1=6,λ2=λ3=3是实对称矩阵A的三个特征值.且对应于λ2=λ3=3的特征向量为a2=(-1,0,1)T,a3=(1,-2,1)T,求A对应于λ1=6的特征向量及矩阵A.
Portabledevicesarebecominglighterandmoreappealing.Booksarebeing(1)_____intodigitalformbythethousands.Themost
AntsHaveBigImpactonEnvironmentas"EcosystemEngineers"ResearchbytheUniversityofExeterhasrevealedthatantshav
Alovemarriage,however,doesnotnecessarily______muchsharingofinterestsandresponsibilities.
最新回复
(
0
)