VF上机以及答案 很全.doc_第1页
VF上机以及答案 很全.doc_第2页
VF上机以及答案 很全.doc_第3页
VF上机以及答案 很全.doc_第4页
VF上机以及答案 很全.doc_第5页
已阅读5页,还剩607页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

40一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下完成下列操作: 1.打开数据库文件大学管理,为课程表和教师表分别建立主索引和普通索引,索引字段和索引名均为课程号。 2.打开one.prg文件,修改其中的一处错误,使得程序执行的结果是在屏幕上显示: 5 4 3 2 1 注意:错误只有一处,文件修改之后要存盘。 3.为教师表创建一个快速报表two,选择教师表的所有字段,其他选项取默认值。 4.使用SQL语句为教师表的职工号字段增加有效性规则:职工号的最左边四位字符是1102,并将该SQL语句存储在three.prg中,否则不得分。本题的主要考核点:表中索引的创建、修改程序语句、快速报表的建立和SQL语句的应用。 解题思路: 1、打开数据库文件大学管理,打开课程表表的表设计器,打开索引选项卡,在索引名处输入:课程号,类型选择主索引,表达式为:课程号;再打开教师表表的表设计器,打开索引选项卡,在索引名处输入:课程号,类型选择普通索引,表达式为:课程号。 2、打开one.prg程序,将第2条语句修改为:DO WHILE i=1。 3、通过文件菜单下的新建命令打开报表设计器,利用报表菜单下的快速报表命令创建快速报表two。 4.使用SQL语句设置表字段有效性规则的命令是:alter table 教师表 alter 职工号 set check LEFT(职工号,4)=1102,然后将此命令保存在three.prg文件中。二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成下列操作: 1.打开数据库文件大学管理,修改并执行程序four.prg。程序four.prg的功能应该是:建立一个工资表(各字段类型和宽度与教师表的对应字段相同),其中职工号为关键字;插入一条职工号、姓名和工资分别为11020034、宣喧和4500的记录;将教师表中所有记录的相应字段插入工资表;将工资低于3000的职工工资增加10%;删除姓名为Thomas的记录。 注意,只能修改标有错误的语句行,不能修改其他语句,修改以后请执行一次该程序,如果多次执行,请将前一次执行后生成的表文件删除。 2.使用查询设计器建立查询teacher_q并执行,查询的数据来源是教师表和学院表,查询的字段项包括:姓名、工资和系名,并且查询结果中只包括工资小于等于3000的记录,查询去向是表文件five.dbf,查询结果先按工资降序排列、再按姓名升序排列。三、综合应用(1小题,计30分) 在考生文件夹下完成下列操作: 1.建立表单,文件名和表单名均为myform。 2.建立一个如图所示的快捷菜单mymenu,该快捷菜单有两个选项:取前3名和取前5名。分别为他们建立过程,使得程序运行时,单击取前3名选项的功能是:根据学院表和教师表统计查询平均工资前3名(最高)的系的信息并存入表sa_three中,sa_three中包括两个字段系名和平均工资,结果按平均工资降序排列;单击取前5名选项的功能与取前3名类似,统计查询平均工资最高的前5名的信息,结果存入sa_five中,sa_five表中的字段和排序方法与sa_three相同。 3.在表单myform中设置相应的事件代码,使得右键单击表单内部区域时,能调出快捷菜单,并能执行菜单中的选项。 4.运行表单,调出快捷菜单,分别执行取前3名和取前5名两个选项。本题主要考核点:表单的建立、快捷菜单的建立、在表单中调用快捷菜单、SQL查询语句。 解题思路: 第一步:首先建立表单,再建立快捷菜单,并生成相应的mpr文件,然后在表单中调用快捷菜单。具体方法是:在文件菜单中选择新建,在新建对话框中选择表单,单击新建文件按钮,将name属性改为myform, 再在文件菜单中选择新建,在新建对话框中选择菜单,单击新建文件按钮,选择快捷菜单,在菜单设计器中输入两个菜单项取前3名和取前5名,结果均为过程,取前3名过程的代码为:SELECT TOP 3 学院表.系名,avg(教师表.工资) as 平均工资 FROM 大学管理!学院表 INNER JOIN 大学管理!教师表 ON 学院表.系号=教师表.系号 GROUP BY 学院表.系名 ORDER BY 2 DESC into table sa_three,取前5名过程的代码为:SELECT TOP 5 学院表.系名,avg(教师表.工资) as 平均工资 FROM 大学管理!学院表 INNER JOIN 大学管理!教师表 ON 学院表.系号=教师表.系号 GROUP BY 学院表.系名 ORDER BY 2 DESC into table sa_five,单击菜单菜单中的生成,按提示保存为mymenu,并生成菜单源程序文件(MPR)。打开表单myform。双击表单设计器,打开代码窗口,在对象中选择myform,在过程中选择RightClick,输入代码:do mymenu.mpr,保存表单为myform。 第二步:运行表单,调出快捷菜单,分别执行取前3名和取前5名两个选项。39.一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下完成下列操作: 1.新建一个名为学校的数据库文件,将自由表教师表、课程表和学院表添加到该数据库。 2.使用SQL语句ALTER TABLE.UNIQUE.将课程表中的课程号定义为候选索引,索引名是temp,并将该语句存储在文件one.prg中,否则不给分。 3.用表单设计器向导为课程表建立一个表单myform,选定课程表的全部字段,按课程号字段降序排序,其他选项选择默认值。 4.在test.prg中第2条语句是错误的,修改该条语句(注意:只能修改该条语句),使得程序执行的结果是在屏幕上显示10到1。本题的主要考核点:数据库的建立、将自由表添加到数据库中、SQL语句的运用、表单设计器向导的使用和修改程序语句。 解题思路: 1、建立数据库的常用方法有三种: 在项目管理器中建立数据库; 通过新建对话框建立数据库; 使用命令交互建立数据库,命令为:CREATE DATABASE DatabaseName|? 2、将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。打开数据库设计器,在数据库菜单中或在数据库设计器上单击右键,在弹出的菜单中选择添加表,然后在打开对话框中选择要添加到当前数据库中的自由表。 3、在命令窗口输入SQL命令:ALTER TABLE 课程表 ADD UNIQUE 课程号 tag temp,并将该语句保存到one.prg文件中。 4、选择文件-新建-表单-向导-表单向导,选择课程表中的所有字段,点下一步,再点下一步,排序次序中选择课程号为降序,保存表单为myform。 5、打开test.prg程序,将第2条语句修改为:DO WHILE i=1。二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成下列操作: 1.请修改并执行程序temp。temp.prg的功能是:根据教师表和课程表计算讲授数据结构这门课程、并且工资大于等于4000的教师人数。 注意,只能修改标有错误的语句行,不能修改其他语句。 2.使用视图设计器在学校数据库中(在基本操作题中建立的)建立视图teacher_v,该视图根据教师表和学院表建立,视图中的字段项包括:姓名、工资和系名,并且视图中只包括工资大于等于4000的记录,视图中的记录先按工资降序排列、再按系名升序排列。本题主要考核点:程序的修改及视图的建立。 解题思路: 1、本题是一个程序修改题。第一处错误应改为:SELECT 课程号 FROM 课程表 WHERE 课程名=数据结构 INTO ARRAY a;第二处错误应改为:USE 教师表;第三处错误应改为:SCAN FOR 课程号=a AND 工资=4000;第四处错误应改为:sum=sum+1。 2、在新建对话框中、项目管理器中、或用CREAT VIEW命令打开视图设计器,建立一个视图,将教师表和学院表添加到视图中,并将题中指定字段添加入视图;切换到筛选中选择字段教师表.工资,条件为=,实例为4000;切换到排序依据中选择字段教师表.工资,在排序选项处选择降序,再选择字段教师表.系名,在排序选项处选择升序;最后将视图命名为teacher_v。三、综合应用(1小题,计30分) 在考生文件夹下完成下列操作: 1.建立一个文件名和表单名均为oneform的表单,表单中包括两个标签(Label1和Label2)、一个选项组(Optiongroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2的标题分别为工资和实例,选项组(Optiongroup1)中有两个选项按钮,标题分别为大于等于和小于,Command1和Command2的标题分别为生成和退出。如图所示。 2.将组合框(Combo1)的RowSourceType和RowSource属性手工指定为5和a,然后在表单的Load事件代码中定义数组a并赋值,使得程序开始运行时,组合框中有可供选择的工资实例3000、4000和5000。 3.为生成命令按钮编写程序。程序的功能是:表单运行时,根据选项组和组合框中选定的值,将教师表中满足工资条件的所有记录存入自由表salary.dbf中,表中的记录先按工资降序、再按姓名升序排列。 4.为退出命令按钮设置Click事件代码,其功能是:释放表单。 5.运行表单,在选项组中选择小于,在组合框中选择4000,单击生成命令按钮,最后,单击退出命令按钮。本题主要考核点:表单文件的创建、控件属性的修改、SQL语句的运用、表单的退出。 解题思路: 在命令窗口输入命令:CREATE FORM form,打开表单设计器窗口。 为表单添加数据库环境,在显示菜单下打开数据环境或在表单上点击右键打开数据环境。 在表单上添加各标签、选项组、组合框和命令按钮,并进行适当的布置和大小调整。 根据题面要求设置标签、选项组、组合框和命令按钮以及表单的属性值。 将组合框的RowSourceType属性值设置为5-数组,RowSource属性值设置为a。 设置表单控件的Load事件代码: public a(3),i a(1) = 3000 a(2) = 4000 a(3) = 5000 设置生成按钮的Click事件代码: if thisform.optiongroup1.option1.value=1 for i=1 to 3 if bo1.listindex=i then select * from 教师表 order by 工资 desc,姓名 into table salary where 教师表.工资=a(i) endif next else for i=1 to 3 if bo1.listindex=i then select * from 教师表 order by 工资 desc,姓名 into table salary where 教师表.工资a(i) endif next endif 设置退出按钮的Click事件代码: thisform.release 保存表单并运行,在选项组中选择小于,在组合框中选择4000,单击生成命令按钮,最后,单击退出命令按钮38一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下,打开DB数据库,完成如下基本操作: 1.给表TABB增加一个字段,字段名为日期,数据类型为日期型。 2.使用SQL Update语句将表TABB中所有记录的字段日期的值修改为2005-10-01,并将SQL语句存储到名为TWO.PRG的文件中。 3.表TABA中有重复的记录,用SQL语句将表TABA中的记录复制到另外一个与它具有相同结构的表TABC中,并消除重复的记录(对于重复多次的记录,只复制一条记录的数据)。并将SQL的SELECT语句存储到名为THREE.PRG的文件中。 4.使用报表向导建立一个简单报表。要求选择TABA中所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为列,方向为横向;排序字段为No,升序;报表标题为计算结果一览表;报表文件名为P_ONE。第1题的主要考核点是字段的添加。 增加字段的方法:打开TABB表表设计器,将光标移动到最后的空字段格中,输入新的字段名及字段类型。 第2题,本题的主要考核点是SQL语句的使用。 UPDATE tabb SET 日期 = CTOD(10/01/05) 第3题,本题的主要考核点是SQL语句的使用。 use tabb select distinct * from tabb into table tabc 第4题,本题的主要考核点是使用报表向导制作报表。 启动报表向导可在文件菜单中选择新建或者单击工具栏上的新建按钮,打开新建对话框,文件类型选择报表,单击向导按钮。或者在工具菜单中选择向导子菜单,选择报表,或直接单击工具栏上的报表向导图标按钮。然后按照向导提示操作即可。二、简单应用(2小题,每题20分,计40分) 在考生文件夹下,打开DB数据库,完成如下简单应用: 1.编写文件名为FOUR.PRG的程序,根据表TABA中所有记录的a,b,c三个字段的值,计算各记录的一元二次方程的两个根x1和x2,并将两个根x1和x2写到对应的字段x1和x2中,如果无实数解,在note字段中写入无实数解。注意:平方根函数为SQRT();程序编写完成后,运行该程序计算一元二次方程的两个根。 注意:一元二次方程公式如下: 2.打开文件名为testA的表单,表单界面上有两个命令按钮,界面要求如下: (1)设置两个按钮的高度为:30;宽度为:80;退出按钮与查询按钮顶边对齐; (2)查询按钮:在该按钮的Click事件中使用SQL的SELECT命令从表TABA中查询无实数解的记录存储到表TABD中; (3)退出按钮:关闭并释放表单。 请按要求完成表单的设计,表单设计完成后,运行该表单,单击查询按钮进行查询。第1题主要考核点是程序文件的建立方法、循环结构等知识点。 解题思路: 第一步:在Visual FoxPro主窗口中按下组合键Ctrl+N,系统弹出新建对话框,在文件类型中选择程序,点击新建文件按钮。 第二步:在弹出的代码编辑器窗口中输入以下代码: close all use db!taba in 0 select taba do while !eof() select a,b,c,x1,x2,note from taba into array aa a=aa(1) b=aa(2) c=aa(3) IF a0 delta=b2-4*a*c re=-b/(2*a) im=SQRT(ABS(delta)/(2*a) IF delta=0 root1=re+im root2=re-im replace x1 with root1 replace x2 with root2 ELSE repl note with 无实数解ENDIF ENDIF skip enddo close database 第三步:以文件名FOUR.PRG将文件保存在考生文件夹下,并运行。 第2题主要考核点是表单控件的属性的修改、SQL语句运用、表单的退出等知识点。 操作过程: 选择文件-打开,打开题目要求的表单文件。 设置命令按钮的Height和Width属性,并将退出按钮的Top属性设置同查询按钮的一致。 设置命令按钮查询的Click事件代码: select * from taba where note=无实数解 into table tabd 设置退出按钮的Click事件代码: THISFORM.RELEASE 保存表单并运行。三、综合应用(1小题,计30分) 在考生文件夹下,打开SDB数据库,完成如下应用: 创建一个标题名为查询、文件名为testb的表单,如下图所示。 表单要求如下: 1.为表单建立数据环境,向数据环境添加学生表。 2.表单启动后自动居中。 3.在该表单中设计一个标签、一个文本框、一个表格和两个命令按钮。 1) 标签对象标题文本为学生注册日期(Label1);文本框用于输入学生注册日期(Text1);表格控件用于显示结果(Grid1)。 2) 命令按钮的功能如下: 查询按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令从学生表中查询学生注册日期等于文本框中指定的注册日期的学生的学号、姓名、年龄、性别、班级和注册日期,查询结果按年龄降序排序,并将查询结果在表格控件中显示,同时将查询结果存储到表TABE中。 注意:查询结果存储到表TABE之前,应将表TABE中记录清空。TABE表是已经建立好的表,它与学生表的结构不完全一样,多两个字段。 退出按钮(Command2):的功能是关闭和释放表单。 注意:表格控件的RecordSourceType属性设置为4SQL说明; 表单设计完成后,运行该表单,查询注册日期等于2005年9月2日的学生信息。本题主要考核点: 表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出等知识点。 本题解题思路: 操作过程: 在命令窗口输入命令:CREATE FORM testb,打开表单设计器窗口。 选择显示菜单中的数据环境,将学生表添加为表单testb的数据环境。 将表单testb的AutoCenter属性设置为.T.。 添加各文本框、命令按钮、表格及相关的标签,并进行适当的布置和大小调整。 设置各标签、命令按钮以及表单的Caption属性值。 将表格的RecordSourceType属性值设置为4-SQL说明。 设置查询按钮的Click事件代码:close alldelete from tabepackdeclare dd(1)use 学生表select 学号 as 学号,姓名 as 姓名,年龄 as 年龄,性别 as 性别,班级 as 班级,注册日期 as 注册日期 from 学生表 where 注册日期= ctod(thisform.Text1.text) into arra dd order by 年龄 descuse tabe appe from arra ddthisform.grid1.recordsource=select 学号 as 学号,姓名 as 姓名,年龄 as 年龄,性别 as 性别,班级 as 班级,注册日期 as 注册日期 from 学生表 where 注册日期= ctod(thisform.Text1.text) into cursor tmp order by 年龄 desc。 设置退出按钮的Click事件代码: THISFORM.RELEASE 保存表单并运行,查询注册日期等于2005年9月2日的学生信息,即在文本框中输入09/02/2005后点查询按钮。37一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下,打开点菜数据库,完成如下操作: 1.打开菜单表,增加一个厨师姓名字段,字段类型为字符型,宽度为8; 2.使用报表向导建立一个简单报表,要求选择菜单表中所有字段(其他不做要求),并把报表保存为one.frx文件。 3.打开第2题建立的报表文件one,将报表标题修改为菜单一览表,最后保存所做的修改。 4.使用SQL的SELECT语句,根据顾客点菜表和菜单表查询顾客点单价大于等于40元菜的顾客号和菜编号、菜名、单价和数量,结果按菜编号降序排序并存储到名为TABA的表中,将SQL的SELECT语句存储到名为TWO.PRG的文件中。表TABA由SELECT语句自动建立。注意:在SQL语句中不要对表取别名。第1题,本题的主要考核点是字段的添加。 打开菜单表表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。 第2题,本题的主要考核点是使用报表向导制作报表。 启动报表向导可在文件菜单中选择新建或者单击工具栏上的新建按钮,打开新建对话框,文件类型选择报表,单击向导按钮。或者在工具菜单中选择向导子菜单,选择报表,或直接单击工具栏上的报表向导图标按钮。然后按照向导提示操作即可。 第3题,本题的主要考核点是报表的设计。 打开题目要求的报表文件,在报表控件工具栏中选择标签,然后修改报表的标题。 第4题,本题的主要考核点是SQL语句的使用。 select 顾客点菜表.顾客号,菜单表.菜编号,菜单表.菜名,菜单表.单价,顾客点菜表.数量 from 点菜!菜单表 inner join 点菜!顾客点菜表 on 菜单表.菜编号=顾客点菜表.菜编号 where 菜单表.单价=40 into table taba order by 菜单表.菜编号 desc二、简单应用(2小题,每题20分,计40分) 在考生文件夹下,完成如下简单应用: 1.打开点菜数据库,使用查询设计器设计一个名称为THREE的查询,根据顾客点菜表和菜单表,查询顾客的顾客号和消费金额合计。顾客某次消费金额由数量*单价得出,而消费金额合计则为其各次消费金额之和。查询结果按消费金额合计降序排序,并将查询结果输出到表TABB中。表TABB的两个字段名分别为:顾客号,消费金额合计。设计完成后,运行该查询。 2.创建设计一个文件名为testA的表单,如下图所示。表单的标题名为选择磁盘文件,表单名为Form1。该表单完成如下功能: 设置选项按钮组的Click事件代码,使每当在选项按钮组中选择一个文件类型,列表框(List1)就列出该文件类型的文件。列表框的列数为1。 退出按钮的功能是关闭和释放表单。 提示:(1)选择的三种文件类型分别为Word、Excel和TXT文本文件。 (2)列表框的RowSourceType应设置为7-文件。 (3)若要让列表框显示Word文件,可将其RowSource属性设置为*.DOC。 第1题主要考核点是使用查询设计器建立查询。 建立查询可以使用文件菜单完成,选择文件-新建-查询-新建文件,将菜单表和顾客点菜表添加入查询中,从字段中选择顾客号字段;在函数和表达式中输入SUM(菜单表.单价*顾客点菜表.数量) AS 消费金额合计,并添加到选定字段中;切换到排序依据中选择字段SUM(菜单表.单价*顾客点菜表.数量) AS 消费金额合计,在排序选项处选择降序;切换到分组依据中选择字段顾客号;单击查询菜单下的查询去向,选择表,输入表名TABB,最后运行该查询。 第2题主要考核点是表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出等知识点。 操作过程: 在命令窗口输入命令:CREATE FORM testA,打开表单设计器窗口。 在表单上添加选项组、命令按钮及列表框,并进行适当的布置和大小调整。 设置选项组和命令按钮以及表单的Caption属性值。 列表框的ColumnCount属性设置为1,列表框的RowSourceType应设置为7-文件。 设置选项组的Click事件代码: if thisform.optiongroup1.option1.value=1thisform.list1.rowsource=*.doc endif if thisform.optiongroup1.option2.value=1thisform.list1.rowsource=*.xls endif if thisform.optiongroup1.option3.value=1thisform.list1.rowsource=*.txt endif 设置退出按钮的Click事件代码: THISFORM.RELEASE 保存表单,关闭表单设计器窗口。三、综合应用(1小题,计30分) 在考生文件夹下,先打开点菜数据库,然后创建设计一个标题名为查询、文件名为testB的表单,如下图所示。 表单要求如下: 在该表单中设计一个标签(Label1)、一个文本框(Text1)、一个表格(Grid1)和三个命令按钮。 标签对象标题文本为结帐日期(Label1);文本框用于输入结帐日期(Text1);表格控件用于显示结果。 三个命令按钮的功能如下: (1)查询(Command1)按钮:在该按钮的Click事件中使用SQL的SELECT命令查询结帐日期等于从文本框输入日期的顾客序号、顾客姓名、单位和消费金额,查询结果按消费金额降序排序,并将查询结果存储到表TABC中。 (2)显示(Command2)按钮:在该按钮的Click事件中使用命令将表TABC中记录在表格控件中显示。 提示:设置表格控件的RecordSourceType和RecordSource属性,其中RecordSourceType属性应设置成4-SQL说明。 (3)退出(Command3)按钮的功能是关闭和释放表单。 表单设计完成后,运行该表单,查询结帐日期等于2005-10-01的顾客信息。本题主要考核点: 表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出等知识点。 本题解题思路: 操作过程: 在命令窗口输入命令:CREATE FORM testB,打开表单设计器窗口。 在表单上添加各文本框、命令按钮、表格及相关的标签,并进行适当的布置和大小调整。 设置各标签、命令按钮以及表单的Caption属性值。 将表格的RecordSourceType属性值设置为4-SQL说明。 设置查询按钮的Click事件代码: Select 顾客序号,顾客姓名,单位,消费金额 from 点菜!结帐表 where 结帐日期 = ctod(thisform.text1.text) order by 消费金额 desc INTO TABLE tabc.dbf 设置显示按钮的Click事件代码: thisform.grid1.recordsource=Select 顾客序号,顾客姓名,单位,消费金额 from 点菜!结帐表 where 结帐日期 = ctod(thisform.text1.text) order by 消费金额 desc INTO TABLE tabc.dbf。 设置退出按钮的Click事件代码: THISFORM.RELEASE 保存表单并运行,查询结帐日期等于2005-10-01的顾客信息,即在文本框中输入10/01/2005后点查询和显示按钮。36一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生目录下完成下列操作(在成绩管理数据库中完成): 1.为学生表在学号字段上建立升序主索引,索引名和索引表达式为学号; 2.为学生表的性别字段定义有效性规则,规则表达式为性别$男女出错提示信息是:性别必须是男或女; 3.在学生表的性别和年龄字段之间插入一个出生日期字段,数据类型为日期型(修改表结构); 4.用SQL的UPDATE命令将学生王三风的出生日期修改为1983年5月1日,并将该语句粘贴在SQL2.TXT文件中(第一行、只占一行)。本题的主要考核点: 主索引的建立、字段有效规则的建立,表结构的更改,SQL语言的使用。 解题思路: 1、在表设计器中的索引页面建立索引。 2、建立有效性规则在表设计器中的字段选项卡。在规则栏中输入:性别$男女,提示信息栏输入:性别必须是男或女。 3、增加字段的方法:打开表设计器,将光标移动到年龄字段格中,点击插入,在新字段格中输入新的字段名、字段类型。 4、SQL语句的用法:UPDA 学生 SET 出生日期=1983/05/01 WHER 姓名=王三风。二、简单应用(2小题,每题20分,计40分) 1.用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果存入表文件results.dbf,然后将该SQL语句保存在SQL.TXT文件中(只占一行); 2.modi.prg程序的功能是:先为学生表增加一个平均成绩字段,数据类型为N(6,2);然后根据选课表统计每个学生的平均成绩,并写入新添加的字段。该程序有三处错误,请改正之,使程序能正确运行(在指定处修改,不允许增加或删除程序行)。 本题的主要考核点:查询语句的建立、修改SQL语句和修改程序语句等。 解题思路: 1、编写SQL语句如下:select 姓名 from 学生 join 选课 on 学生.学号=选课.学号 where 成绩=70 group by 姓名 having count (课程号)=3 INTO TABLE results.dbf。 2、打开modi.prg,修改其中三处错误为: 第一处错误修改为:ALTE TABLE 学生 ADD 平均成绩 N(6,2); 第二处错误修改为:DO WHILE .NOT. EOF(); 第三处错误修改为:REPLACE 平均成绩 WITH cj1。三、综合应用(1小题,计30分) 在考生文件夹下,完成如下综合应用: 1.根据成绩管理数据库中的课程、选课和学生三个表建立一个名为view_grade的视图,该视图包含学号、姓名、课程名称和成绩四个字段,并要求先按学号升序排序、在学号相同情况下按课程名称降序排序; 2.建立一个表单grade_list(控件名和文件名),添加一个表格控件,该表格控件的数据源是前面建立的视图view_grade(直接使用拖拽的方法添加该表格);然后在表格控件下面添加一个命令按钮(名称为Command1),该命令按钮的标题为退出,要求单击按钮时关闭表单。 注意:完成表单设计后要运行表单的所有功能。本题的主要考核点:视图的建立、表单的设计等。 解题思路: 1、打开成绩管理数据库,新建本地视图,添加课程、选课和学生三个表到视图中,然后选择题面要求的字段,在排序依据中选择按学号升序,课程名称降序排序。以文件名view_grade保存该视图。 2、单击文件菜单中的新建,打开新建对话框,选择表单或在命令窗口输入CREATE FORM命令。表单的Name属性为grade_list;在表单空白处右击鼠标,选择数据环境,在数据环境中添加视图view_grade,将上题设计的视图直接拖拽到表单中;在表单控件工具栏上单击命令按钮,添加一个按钮,修改其Name属性为Command1,Caption属性为退出,添加此按钮的Chick事件为ThisForm.release。最后将表单保存为grade_list并运行该表单。35一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 基本操作题为4道SQL题,请将每道题的SQL命令粘贴到sql1.txt文件,每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;如果某道题没有做相应行为空。注意:必须使用SQL语句操作且SQL语句必须按次序保存sql1.txt文件中,其他方法不得分。 在考生文件夹下完成下列操作: 1.利用SQL SELECT命令将表stock_sl.dbf复制到stock_bk.dbf; 2.利用SQL INSERT命令插入记录(600028,4.36, 4.60, 5500)到stock_bk.dbf表; 3.利用SQL UPDATE命令将stock_bk.dbf表中股票代码为600007的股票现价改为8.88;本题的主要考核点: SQL语句的使用。 解题思路: 1、SELE * FROM stock_sl INTO DBF stock_bk。 2、INSE INTO stock_bk (股票代码,买入价,现价,持有数量)VALU(600028,4.36,4.60,5500)。 3、UPDA stock_bk SET 现价=8.88 WHER 股票代码=600007。 4、DELE FROM stock_bk WHER 股票代码=600000。二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成如下简单应用: 1.根据表stock_name和stock_sl建立一个查询,该查询包含字段:股票代码、股票简称、买入价、现价、持有数量,要求按股票代码升序排序,将查询去向设置为表TAB,并将查询保存为query_stock,最后运行查询。注:股票代码取表stock_name中的股票代码。 2.modi.prg中的SQL语句用于计算银行的股票(股票简称中有银行两字)的总盈余,现在该语句中有三处错误分别出现在第1行、第4行和第6行,请改正之。 (注意:不要改变语句的结构、分行,直接在相应处修改。)本题的主要考核点: 查询的建立和修改SQL语句等。 解题思路: 1、建立查询可以使用文件菜单完成,选择文件-新建-查询-新建文件,将表stock_name和stock_sl添加入查询中,从字段中选择题面要求的字段,按股票代码升序排序,单击查询菜单下的查询去向,选择表,输入表名TAB.DBF。最后保存并运行该查询。 2、打开modi.prg,修改其中三处错误为: 第一处错误修改为:SELE SUM(现价-买入价)*持有数量); 第二处错误修改为:IN; 第三处错误修改为:WHER 股票简称 LIKE %银行。三、综合应用(1小题,计30分) 在考生文件夹下,建立满足如下要求的应用并运行: 1.建立一个表单stock_form,其中包含两个表格控件,第一个表格控件名称是grdStock_name,用于显示表stock_name中的记录,第二个表格控件名称是grdStock_sl,用于显示与表stock_name中当前记录对应的stock_sl表中的记录。 2.在表单中添加一个关闭命令按钮(名称为Command1),要求单击按钮时关闭表单。 注意:完成表单设计后要运行表单的所有功能。本题主要考核点: 表单文件的创建、表单的退出等知识点。 解题思路: 1、按题面要求新建表单stock_form,从常用工具栏中单击表格控件,添加两个表格到新建的表单中,按要求设置表格的名称(Name属性)分别为grdStock_name和grdStock_sl;在表单空白处右击鼠标,选择数据环境,在数据环境中添加表sto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论