(31)下面对表单若干常用事件的描述中,正确的是( )。
A)释放表单时,Unload事件在Destroy事件之前引发
B)运行表单时,Init事件在Load事件之前引发
C)单击表单的标题栏引发表单的Click事件
D)上面的说法都不对
(32)在Visual FoxPm中,为了将表单从内存中释放(清除),可在表单退出命令按钮的Click事件中添加代码 ( )。
A)ThisForm.Refresh
B)ThisForm.Destroy
C)ThisForm.Hide
D)ThisForm.Release
(33)在选项组控件设计中,选项组控件的ButtonCount属性用于( )。
A)指定选项组中有几个选项按钮被选中
B)指定有几个数据源与选项组建立联系
C)指定选项组中选项按钮的数目
D)指定存取选项组中每个按钮的数组(34)对象的相对引用中,要引用当前操作的对象,可以使用的关键字是( )。
A)Parent
B)ThisForm
C)ThisFormSet
D)This
(35)报表的数据源可以是( )。
A)表或视图
B)表或查询
C)表、查询或视图
D)表或其他报表
第36—40题基于学生表s和学生选课表sc两个数据库表,它们的结构如下:
S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段;sc(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。
(36)查询学生选修课程成绩75分以上的学生学号,正确的SQL语句是( )。
A)SELECTDISTINCT学号FROMSCWHERE”成绩”>75
B)SELECTDISTINCT学号FROMSCWHERE成绩>75
C)SELECTDISTINCT学号FROMSCWHERE成绩>”75”
D)SELECTDISTINCT”学号”FROMSCWHERE”成绩”>75(37)查询同时选修课程号分别为2001和2005课程的学生的学号,正确的命令是( )。
A)SELECT学号FROMSCWHERE课程号=’2001’AND学号IN(SELECT学号FROMSCWHERE课程号=’2005’)
B)SELECT学号FROMSCWHERE课程号=’2001’AND学号=(SELECT学号FROMSCWHERE课程号=’2005’)
C)SELECT学号FROMSCWHERE课程号=’2001’AND课程号=’2005’
D)SELECT学号FROMSCWHERE课程号=’2001’OR’2005’
(38)假设所有的选课成绩都已确定。显示“2002”号课程成绩中最高的20%记录信息,正确的SQL命令是( )。
A)SELECT*TOP20FROMSCORDERBY成绩WHERE课程号=”2002”
B)SELECT*PERCENT20FROMSCORDERBY成绩DESCWHERE课程号=”2002”
C)SELECT*TOP20PERCENTFROMSCORDERBY成绩WHERE课程号=”2002”
D)SELECT*TOP20PERCENTFROMSCORDERBY成绩DESCWHERE课程号=”2002”
(39)查询有选课记录,但没有考试成绩的学生的学号、姓名和课程号,正确的SQL语句是( )。
A)SELECT学号,课程号FROMSCWHERE成绩=””
B)SELECT学号,课程号FROMSCWHERE成绩=.F.
C)SELECT学号,课程号FROMSCWHERE成绩=NULL
D)SELECT学号,课程号FROMSCWHERE成绩ISNULL
(40)查询选修课程在5门以上的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是( )。
A)SELECTS.学号,姓名,平均成绩FROMS,SCWHERES.学号=SC.学号
GROUPBYS.学号HAVINGCOUNT(*)>50RDERBY平均成绩DESC
B)SELECT学号,姓名,AVG(成绩)FROMS,SC
WHERES.学号=SC.学号ANDCOUNT(*)>5
GROUPBY学号0RDERBY3DESC
C)SELECTS.学号,姓名,AVG(成绩)平均成绩FROMs,SC
WHERES.学号=SC.学号ANDCOUNT(*)>5
GROUPBYS.学号ORDERBY平均成绩DESC
D)SELECTS.学号,姓名,AVG(成绩)平均成绩FROMS,SC
WHERES.学号=SC.学号
GROUPBYS.学号HAVINGCOUNT(*)>50RDERBY3DESC
(31)D【解析】在表单的常用事件中,Init事件在表单建立时引发,Load事件在表单建立之前引发,Unload事件在表单释放时引发,不过在这之前先引发Destroy事件,单击表单引发表单的Click事件。
(32)B【解析】使用ThisForm.Release可将表单被从屏幕和内存中删除。如果不想从内存中释放表单,可在Click事件中以ThisForm.Hide代替;刷新表单则用ThisForm.Refresh; Destroy是释放对象实例后产生的事件。
(33)C 【解析】选项组控件的ButtonCount属性用于指
定选项组中选项按钮的数目。
(34)D【解析】This表示当前操作对象。在对象的相对引用中,关键字Parent表示当前对象的直接容器对象,This— Form表示当前对象所在的表单,ThisFormSet表示当前对象所在的表单集。
(35)C 【解析】数据源是报表的数据来源,通常是数据
库中的表或自由表,也可以是视图、查询或临时表。
(36)B【解析】在WHERE条件中成绩不需要用引号括起来,因此A和D排除,成绩是数值型字段,因此750也不需要加双引号,故选项C也错误。
(37)A【解析】嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。其内层基本上也是一个SE. LECT—FROM—WHERE查询语句。简单嵌套查询可使用谓词IN或NOT IN来判断外层的查询条件中是否包含内层查询的结果。本题要查询同时选修2001和2005号课程的学生的学号,外层查询包含了内层查询的结果。故本题答案为A。
(38)D【解析】特殊选项TOP的格式为“TOP<数字表达式>[PERCENT]”,当不用PERCENT时,数字表达式是1至32767问的整数,说明显示前那几个记录,当用PERCENT时,数字表达式是0.01至99.99间的实数;说明显示结果中前百分之几的记录。TOP短语要与0rder by短语同时使用才有效。
(39)D【解析】没有考试成绩”表示成绩字段值为空,而表示空值时应该用IS NULL,不能用=,故选项D正确。
(40)D【解析】题目要求查询平均成绩,但表中不存在“平均成绩”字段,需要使用AVG函数计算,故A不正确;学生表s和成绩表Sc都含有“学号”字段,在查询时需指明学号属于哪个表,故B不正确;GROUP BY短语用于对查询结果进行分组,后跟随HAVING短语来限定分组必须满足的条件,此题查询选修课在5门以上的学生,必须在分组后再统计,所以 COUNT(*)>5应在HAVING之后,故本题答案为D。