二级VFP上机预测题答案(4)

2019-06-02 14:01

2.建立程序可以使用\文件\菜单完成,选择文件--新建-程序--新建文件,在打开的程序文本框中输入下列命令: SET TALK OFF

OPEN DATABASE cj_m

SELECT * FROM table3 WHERE .f. INTO TABLE temp SELECT 1 USE xuesheng

INDEX ON 学号 TAG 学号 SELECT 2 USE chengji

INDEX ON 学号 TAG 学号

SET RELATION TO 学号 INTO xuesheng GO TOP

DO WHILE .NOT.EOF() IF chengji.数学<60

INSERT INTO temp values (xuesheng.学号,xuesheng.姓名,'数学',chengji.数学) ENDIF

IF chengji.英语<60

INSERT INTO temp values (xuesheng.学号,xuesheng.姓名,'英语',chengji.英语) ENDIF

IF chengji.信息技术<60

INSERT INTO temp values (xuesheng.学号,xuesheng.姓名,'信息技术',chengji.信息技术) ENDIF SKIP ENDDO

SELECT * FROM temp ORDER BY 分数,学号 DESC INTO ARRAY arr INSERT INTO table3 FROM ARRAY arr CLOSE DATABASE CLOSE TABLES ALL DROP TABLE temp SET TALK ON RETURN 最后运行程序

第15套题目

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下完成如下操作:

1.打开考生文件夹下的数据库SPORT,首先永久删除该数据库中的temp表,然后将\金牌榜\、\获奖牌情况\和\国家\三个自由表加入该数据库中。

2.在表设计器中,为表\金牌榜\建立一个普通索引,索引名和索引表达式均为\金牌数\。 3.使用SQL语句为表\金牌榜\增加一个字段\奖牌总数\(整数型),同时为该字段设置有效性规则:奖牌总数>=0。请将该SQL语句存储在文件one.prg中,否则不得分。

4.使用SQL语句更改表\金牌榜\所有记录的\奖牌总数\字段值,该值应为\金牌数\、\银牌数\、\铜牌数\三项之和。请将该SQL语句存储在文件two.prg中,否则不得分。 答案

本题的主要考核点:

从数据库中删除表、将自由表添加到数据库中、表中索引的创建、添加表字段和更改表记录的命令等。 解题思路:

1.打开\数据库,右击删除temp表。并将题面要求的三个表分别添加到数据库里。

2.在\金牌榜\表设计器中的索引选项卡建立索引名为金牌数,索引表达式为\金牌数\的普通索引。

3.使用SQL语句设置表字段有效性规则的命令是:alter table 金牌榜 add 奖牌总数 I check 奖牌总数>=0,然后将此命令保存在one.prg文件中。 4.用SQL命令向表中添加记录的命令是:UPDATE 金牌榜 SET 奖牌总数=金牌数+银牌数+铜牌数,然后将此命令保存在two.prg文件中。 二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成如下简单应用:

1.使用一对多表单向导新建一个表单SPM。要求:使用\国家\为父表并选择\国家名称\字段作为显示字段,\获奖牌情况\为子表并选择\项目名称\和\名次\字段作为显示字段,使用\国家代码\建立表之间的关系,表单样式选择\阴影式\,按钮类型选择\图片按钮\,按\国家名称\升序排列,表单标题为\奥运会获奖情况\。

2.在SPORT数据库中使用视图设计器建立视图sport_view,该视图根据\国家\和\获奖牌情况\两个表统计每个国家获得的金牌数(\名次\为1表示获得一块金牌),视图中包括\国家名称\和\金牌数\两个数据项,视图中的记录先按\金牌数\降序排列、再按国家名称降序排列。 答案

本题的主要考核点:

使用表单向导制作表单及创建视图等。 解题思路:

1、启动表单向导可在\文件\菜单中选择\新建\或者单击工具栏上的\新建\按钮,打开\新建\对话框,文件类型选择表单,单击向导按钮。或者在\工具\菜单中选择\向导\子菜单,选择\表单\,或直接单击工具栏上的\表单向导\图标按钮。在\向导选取\对话框中选择\一对多表单向导\。然后按照表单向导操作即可。

2、打开数据库SPORT,在\数据库\菜单中选择\新建本地视图\按钮,打开\视图设计器\。将\国家\和\获奖牌情况\表添加到视图中并建立相应连接,选择字段国家名称,在\函数和表达式\中设置表达式\获奖牌情况.名次) AS 金牌数\,并选择此字段,在\筛选\栏内输入条件\获奖牌情况.名次=1\,在\排序依据\中按题面要求设置降序排列,在\分组依据\中设置按\国家名称\分组,以视图名sport_view保存。 三、综合应用(1小题,计30分)

在考生文件夹下有一个名为myform的表单,表单中包括一个列表框和两个命令按钮。 请在该表单中完成如下操作:

1.在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性,使用SQL语句根据\国家\表中\国家名称

\字段的内容在列表框中显示\国家名称\(注意不要使用命令指定这两个属性)。

2.为\生成表\命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将\获奖牌情况\表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含\运动员名称\,\项目名称\和\名次\三个字段,并按照\名次\升序排列。

提示:假设从列表框中选择的国家名称存放在变量gm中,那么在SQL SELECT语句中使用短语into table&gm就可以将选择的记录存入以该国家名命名的自由表中。

3.运行表单,分别生成存有\中国\、\日本\、\美国\、\俄罗斯\个国家获奖情况的4个自由表。 答案

本题主要考核点:

表单控件属性的设置、SQL语句运用、表单的运行等知识点。 解题思路:

1、设置表单列表框的属性值如下: 对象 属性 属性值 List1 ROWSOURCE select 国家名称 from 国家 into cursor mylist List1 ROWSOURCETYPE 3-SQL 语句 2、为\生成表\命令按钮的单击事件编写程序如下:

select 运动员名称,项目名称,名次 from 获奖牌情况 inner join 国家; on 获奖牌情况.国家代码=国家.国家代码 where; 国家名称 =thisform.list1.list(thisform.list1.listindex);

into tabl thisform.list1.list(thisform.list1.listindex) order by 名次

3、保存表单并运行,生成\中国\、\日本\、\美国\、\俄罗斯\个表。

第16套题目

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下完成如下操作:

1. 修改菜单my_menu,my_menu中的\文件\菜单项下有子菜单项\新建\、\打开\、\关闭\和\退出\,请在\关闭\和\退出\之间加一条水平的分组线,并为\退出\菜单项设置一条返回到系统菜单的命令(不可以使用过程)。

2. 创建一个快速报表sport_report,报表中包含了表\金牌榜\中的\国家代码\和\金牌数\两个字段。

3. 使用SQL建立表的语句建立一个与自由表\金牌榜\结构完全一样的自由表golden.dbf。请将该SQL语句存储在文件one.prg中,否则不得分。 4. 使用SQL语句向自由表golden.dbf中添加一条记录(\。请将该SQL语句存储在文件two.prg中,否则不得分。 答案

本题的主要考核点是菜单的修改、快速报表的建立、复制表结构和添加表记录命令的应用等。

1.修改菜单可通过\文件\菜单下的\打开\命令来打开\,也可用命令:MODIFY MENU my_menu。选中\文件\菜单项,点\编辑\按钮,若在\关闭\和\退出\之间加一条水平的分组线,即在\关闭\和\退出\之间插入一行,\菜单名称\为:\\-;将\退出\项的结果设置为\命令\,并输入:SET SYSMENU TO DEFAULT。

2.通过\文件\菜单下的\新建\命令打开报表设计器,利用\报表\菜单下的\快速报表\命令创建快速报表sport_report。 3.用SQL命令复制一个空表结构的命令是: use 金牌榜

copy stru to golden.dbf

并将此命令存储到one.prg文件中。

4.用SQL命令向表中添加记录的命令是:insert into golden value(\,并将此命令存储到two.prg文件中。 二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成如下简单应用:

1. 使用SQL语句完成下面的操作:根据\国家\和\获奖牌情况\两个表统计每个国家获得的金牌数(\名次\为1表示获得一块金牌)结果包括\国家名称\和\金牌数\两个字段,并且先按\金牌数\降序、再按\国家名称\降序排列存储到表temp中。请将该SQL语句存储在文件three.prg中,否则不得分。

2. 建立一个文件名和控件名均为myform的表单,表单构造见下图。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个\退出\命令按钮(Command1),这三个控件名使用系统默认的名字。相关控件属性设置要求:表单的标题为\奖牌查询\,列表框的数据源使用SQL语句根据\国家\表显示国家名称,选项组中有三个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 答案

本题的主要考核点是SQL语句的应用以及表单的创建、表单控件的添加和属性的设置。 1.用SQL命令查询表的命令是:

SELECT 国家.国家名称, COUNT(获奖牌情况.名次) AS 金牌数; FROM 国家 INNER JOIN 获奖牌情况 ;

ON 国家.国家代码 = 获奖牌情况.国家代码; WHERE 获奖牌情况.名次=1; GROUP BY 国家.国家名称;

ORDER BY 2 DESC, 国家.国家名称 DESC; INTO TABLE temp.dbf

并将此命令存储到three.prg文件中。

2.建立表单可以使用\文件\菜单完成,选择文件--新建--表单--新建文件,在\显示\菜单中打开\表单控件工具栏\,利用表单控件工具栏向表单中添加各控件;通过属性窗口设置表单及表单相关控件的属性,表单及表单相关控件的属性值如下: 对象 属性 属性值 表单 Name myform

Caption 奖牌查询 list1 RowSourceType 3 - SQL语句

RowSource select 国家名称 from 国家 Optiongroup1 ButtonCount 3 Option1 Caption 金牌 Option2 Caption 银牌 Option3 Caption 铜牌

Command1 Caption 退出 三、综合应用(1小题,计30分)

打开考生文件夹下的sport_project项目,项目中有一个表单sport_form,表单中包括三个命令按钮。 请完成如下操作:

1. 编写并运行程序Four.prg。程序功能是:根据\国家\和\获奖牌情况\两个表统计并建立一个新表\假奖牌榜\,新表包括\国家名称\和\奖牌总数\两个字段,要求先按奖牌总数降序排列(注意\获奖牌情况\的每条记录表示一枚奖牌)、再按\国家名称\升序排列。 2. 为表单sport_form中的\生成表\命令按钮编写一条命令,执行Four.prg程序。

3. 将在基本操作中建立的快速报表sport_report加入项目文件,并为表单sport_form中的命令按钮\浏览报表\编写一条命令,预览快速报表sport_report。

4. 将自由表\国家\和\获奖牌情况\加入项目文件sport_project,然后将项目文件连编成应用程序文件sport_app.app。 答案

本题的主要考核点是项目文件的应用、程序的编写、向项目中添加自由表和报表等。

1.打开项目可使用\文件\菜单下的\打开\命令来完成,也可用命令来打开:MODIFY PROJECT sport_project。 2.建立程序可以使用\文件\菜单完成,选择文件--新建--程序--新建文件,在程序文件中输入下列命令: SELECT 国家.国家名称,COUNT(获奖牌情况.名次) AS 奖牌总数;

FROM 国家,获奖牌情况 WHERE 国家.国家代码=获奖牌情况.国家代码; GROUP BY 国家.国家名称;

ORDER BY 2 DESC,国家.国家名称; INTO TABLE 假奖牌榜.dbf

以Four.prg为文件名保存程序并运行。

3.在表单sport_form \生成表\命令按钮的Click事件代码中输入下列命令: DO Four.prg

4.选中项目sport_project中的\文档\选项卡下的\报表\,点击添加命令可将快速报表sport_report添加到项目中,然后在表单sport_form \浏览报表\命令按钮的Click事件代码中输入下列命令:REPORT FORM SPORT_REPORT.FRX PREVIEW

5.选中项目sport_project中的\数据\选项卡下的\自由表\,点击添加命令可将自由表添加到项目中。然后点击项目管理器右侧的\连编\命令打开\连编选项\窗口,在操作中选择\连编应用程序\,点击\确定\按钮即可将连编项目文件。

第17套题目

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)在考生文件夹下,完成如下操作:1. 打开考生文件夹下的表单one(如图所示),在\打开\命令按钮的Click事件中增

加一条语句,使表单运行时单击该命令按钮的结果是使\关闭\按钮变为可用。

2. 打开考生文件夹下的表单two(如图1所示),在选项组中增加一个单选钮(如图 2所示)。注意:不能改变原先的名称以及属性值。

图1

图2

3. 使用SQL语句为考生文件夹下的\学院表\增加一个字段\教师人数\整数型), 同时为该字段设置有效性规则:教师人数>=0。请将该SQL语句存储在three.prg 文件中,否则不得分。

4. 使用SQL语句将考生文件夹下的自由表teacher中教师姓名为Jack的工资修改为 8000元。请将该SQL语句存储在four.prg文件中,否则不得分。 答案

本题主要考核点:表单的操作和SQL语句的使用。 解题思路:

1、打开表单one,在\打开\命令按钮的Click事件中增加如下语句: thisform.command2.enabled=.T.

2、打开表单two,设置表单及相关各控件的属性值如下: 对象 属性 属性值 Optiongroup1 ButtonCount 3

Option3 Caption 程序设计 3、使用SQL语句为\学院表\增加字段的命令如下:

ALTER TABLE 学院表 ADD 教师人数 I CHECK 教师人数=>0 将该SQL语句存储在three.prg文件中。

4、使用SQL语句为自由表\增加字段的命令如下: UPDATE TEACHER.DBF SET 工资=8000 WHERE 姓名=\ 将该SQL语句存储在four.prg文件中。 二、简单应用(2小题,每题20分,计40分) 在考生目录下完成如下简单应用:

1.考生文件夹下的程序文件five.prg的功能是:根据\教师表\计算每个系的教师人数并将相应数据填入\学院表\,程序中有三处错误,请修改并执行程序。只能修改标有错误的语句行,不能修改其他语句。

2. 在\课程管理\数据库中使用视图设计器建立视图teacher_view,该视图根据\教师表\和\课程表\建立,视图包括姓名、工资、课程名和学时4个字段,视图中的记录按\工资\升序排列。 答案

本题主要考核点:程序的修改及视图的建立。 解题思路: 1、本题是一个程序修改题。第一处错误应改为DO WHILE NOT EOF();第二处错误应改为SELECT COUNT(*) FROM 教师表 WHERE 教师表.系号=xihao INTO ARRAY A;第三处错误应改为SKIP。

2、在新建对话框中、项目管理器中、或用CREAT VIEW命令打开视图设计器。建立一个视图,将\教师表\和\课程表\添加到视图中,并将题中指定字段添加入视图;切换到\排序依据\中选择字段\教师表.工资\,在\排序选项\处选择\升序\;最后将视图命名为teacher_view。 三、综合应用(1小题,计30分) 在考生文件夹下完成下列操作:

1. 建立一个名为myform的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和Command2),Command1和Command2的标题分别为\生成表\和\退出\。

2. 设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性,使用SQL语句根据\学院表\的\系名\字段的内容在列表框中显示\系名\(注意不要使用命令指定这两个属性)。 3. 为\生成表\命令按钮的单击事件编写程序。程序的功能是根据表单运行时列表框中选定的\系名\,将\教师表\表中相应系的所有记录存入以该系名命名的自由表中,自由表中包含\职工号\,\姓名\和\工资\三个字段,并按照\职工号\升序排列。 4. 运行表单,分别生成存有\计算机\、\通信\、\信息管理\系信息的3个表。 答案

本题主要考核点:

表单的建立,控件属性的设置、SQL语句运用、表单的退出等知识点。 本题解题思路:

1、建立一个名为myform的表单,按题面要求添加一个列表框和两个命令按钮。 设置表单命令按钮的属性值如下: 对象 属性 属性值 Command1 Caption 生成表 Command2 Caption 退出 2、设置表单列表框的属性值如下: 对象 属性 属性值

List1 ROWSOURCE select 系名 from 学院表 into cursor mylist List1 ROWSOURCETYPE 3-SQL 语句 3、为\生成表\命令按钮的单击事件编写程序如下:

select 职工号,姓名,工资 from 教师表 inner join 学院表 on 学院表.系号=教师表.系号 where 系名=thisform.list1.list(thisform.list1.listindex) into tabl thisform.list1.list(thisform.list1.listindex) order by 职工号

4、保存表单并运行,生成有\计算机\、\通信\、\信息管理\系信息的3个表。

第18套题目

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下,完成如下操作:

1. 打开考生文件夹下的表单one(如图所示),在\显示\命令按钮的Click事件中增加一条语句,使表单运行时单击该命令按钮的结果是在Text1文本框中显示当前系统日期的年份。(提示:通过设置文本框的Value属性实现,系统日期函数是date,年份函数是year)。

2. 打开考生文件夹下的表单two(如图所示),选择\表单\菜单中的\新建方法程序\命令,在\新建方法程序\对话框中,为该表单新建一个方法test,该方法的功能是使\测试\按钮变为不可用。(提示:即将该按钮的Enabled属性设置为.f.)(\测试\按钮的Click事件中已经有一条语句负责调用test方法)。

3. 创建一个快速报表study_report,报表中包含\课程表\中的所有字段。

4. 使用SQL语句为\教师表\的\职工号\字段增加有效性规则:职工号的最左边三位字符是110,表达式应为:LEFT(职工号,3)=\。请将该SQL语句存储在three.prg文件中,否则不得分。 答案

本题的主要考核点是建立表单方法及方法调用、表单控件代码、快速报表的建立、SQL语句的应用。

1.利用\文件\菜单下的\打开\命令来打开表单one,或使用命令MODIFY FORM one。在\显示\命令按钮的Click事件中输入代码:thisform.text1.value=year(date())

2.利用\文件\菜单下的\打开\命令来打开表单two,或使用命令MODIFY FORM two。在\表单\菜单中选择\新建方法程序\命令,新建一个名为test的方法,在属性窗口中双击此方法打开用户自定义过程代码:thisform.command1.enabled=.f.

3. 通过\文件\菜单下的\新建\命令打开报表设计器,利用\报表\菜单下的\快速报表\命令创建快速报表study_report。 4.使用SQL语句设置表字段有效性规则的命令是:alter table 教师表 alter 职工号 set check LEFT(职工号,3)=\,然后将此命令保存在three.prg文件中。

二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成如下简单应用:

1. 打开数据库文件\课程管理\,使用SQL语句建立一个视图salary,该视图包括了系号和(该系的)平均工资两个字段,并且按平均工资降序排列。请将该SQL语句存储在four.prg文件中,否则不得分。 2. 打开考生文件夹下的表单six(如图所示),\登录\命令按钮Click事件中的程序功能是:当用户输入用户名和口令以后,单击\登录\按钮时,程序根据自由表\用户表\的内容进行操作,若在\用户表\中找不到相应的用户名,则提示\用户名错误\,若用户名输入正确,而口令输入错误,则提示\口令错误\。在\登录\命令按钮Click事件中空行处填加适当的语句,使其能够正确运行。注意:不得做其他修改。

答案 本题的主要考核点是SQL语句的应用、文件的创建、表单控件代码等。 1.利用\文件\菜单下的\打开\命令来打开数据库文件\课程管理\,或使用命令MODIFY DATABASE 课程管理。使用SQL语句来建立视图salary,SQL命令为:

create sql view salary as;

select 教师表.系号, AVG(教师表.工资) AS 平均工资; FROM 课程管理!教师表; GROUP BY 教师表.系号; ORDER BY 2 DESC

并将此命令语句存储在four.prg文件中。

2.利用\文件\菜单下的\打开\命令来打开表单six,或使用命令MODIFY FORM six。根据题目要求在\登录\命令按钮的Click事件的空行处添加适当的语句: USE 用户表

GO TOP flag=0

do while not eof() &&添加一条语句 IF Alltrim(用户名)==Alltrim(Thisform.Text1.Value) IF Alltrim(口令)==Alltrim(Thisform.Text2.Value) WAIT \欢迎使用\ ELSE

WAIT \口令错误\ endif &&添加一条语句 flag=1 EXIT ENDIF

skip &&添加一条语句 ENDDO

IF flag=0 &&添加一条语句 WAIT \用户名错误\ ENDIF

三、综合应用(1小题,计30分) 在考生文件夹下完成下列操作:

1. 建立一个如图所示的表单名和文件名均为myform的表单。表单的标题是\教师情况\,表单中有两个命令按钮(Command1和Command2),两个复选框(Check1和Check2)和两个单选钮(Option1和Option2)。Command1和Command2的标题分别是\生成表\和\退出\,Check1和Check2的标题分别是\系名\和\工资\,Option1和Option2的标题分别是\按职工号升序\和\按职工号降序\。

2. 为\生成表\命令按钮编写程序。程序的功能是根据表单运行时复选框指定的字段和单选钮指定的排序方式生成新的自由表。如果两个复选框都被选中,生成的自由表命名为two.dbf,two.dbf的字段包括职工号、姓名、系名、工资和课程号;如果只有\系名\复选框被选中,生成的自由表命名为one_x.dbf,one_x.dbf的字段包括职工号、姓名、系名和课程号;如果只有\工资\复选框被选中,生成的自由表命名为one_xx.dbf,one_xx.dbf的字段包括职工号、姓名、工资和课程号。 3. 运行表单,并分别执行如下操作:

(1)选中两个复选框和\按职工号升序\单选钮,单击\生成表\命令按钮; (2)只选中\系名\复选框和\按职工号降序\单选钮,单击\生成表\命令按钮; (3)只选中\工资\复选框和\按职工号降序\单选钮,单击\生成表\命令按钮。 答案

本题的主要考核点是表单的创建、表单控件的添加、表单控件属性的设置以及控件代码等。

1.利用\文件\菜单下的\新建\命令可创建新的表单文件,在\显示\菜单中打开表单控件工具栏,通过表单控件工具栏向表单中添加各控件。 2.通过属性窗口设置表单及各控件的相关属性,表单及各控件的相关属性值如下: 对象 属性名 值

表单 Name myform Caption 教师情况 Command1 Caption 生成表 Command2 Caption 退出 Check1 Caption 系名 Check2 Caption 工资

Option1 Caption 按职工号升序 Option2 Caption 按职工号降序

3.为\生成表\命令按钮的Click事件编写程序代码: a=thisform.check1.value b=thisform.check2.value

c=thisform.optiongroup1.option1.value d=thisform.optiongroup1.option2.value if a=1 and b=1 if c=1

select 职工号,姓名,系名,工资,课程号 from 课程管理!教师表,课程管理!学院表; where 教师表.系号=学院表.系号; order by 职工号; into table two.dbf else if d=1

select 职工号,姓名,系名,工资,课程号 from 课程管理!教师表,课程管理!学院表; where 教师表.系号=学院表.系号; order by 职工号 desc; into table two.dbf endif endif endif

if a=1 and b=0 if c=1

select 职工号,姓名,系名,课程号 from 课程管理!教师表,课程管理!学院表; where 教师表.系号=学院表.系号; order by 职工号; into table one_x.dbf else if d=1


二级VFP上机预测题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南城3×50MW供热式火力发电厂发电厂电气部分设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: