VF答案完整版(4)

2019-03-21 20:34

SELECT Xuesheng.民族, AVG(Chengji.数学) as 数学平均分,; AVG(Chengji.英语) as 英语平均分; FROM xuesheng INNER JOIN chengji ; ON Xuesheng.学号 = Chengji.学号; WHERE Xuesheng.民族 = \汉\ into array aa

insert into table3 from array aa

SELECT Xuesheng.民族, AVG(Chengji.数学) as 数学平均分,; AVG(Chengji.英语) as 英语平均分; FROM xuesheng INNER JOIN chengji ; ON Xuesheng.学号 = Chengji.学号; WHERE Xuesheng.民族 != \汉\ into array bb

insert into table3 from array bb

update table3 set 民族=\其他\民族!=\汉\

在\返回\菜单项的“过程”中输入语句:SET SYSMENU TO DEFAULT。并保存菜单名为mymenu,在系统菜单中单击\菜单\→\生成\命令,生成可执行程序并运行。

第28套:————基本操作

2. 打开考生目录下的表单文件formone.scx,然后设置表单的Load事件代码:打开employee表,并将索引xm设置为当前索引。

答案:(2)打开表单文件formone.scx,然后设置表单的Load事件代码如下。 use employee set order to xm

简单应用(自由表order中存放着订单的有关数据): 综合应用

当在文本框输入某职员姓名并单击“查询统计”按钮时,会在左边的表格内显示该职员所签各订单的金额,并将其中的最高金额、最低金额和平均金额存入表tablethree中。

(3) 运行上面创建的表单formtwo,然后依次查询统计“赵小青”和“吴伟军”两位职员所签订单的有关金额。执行完后,表tablethree中应该包含两条相应的记录。 答案:

编写\查询统计\按钮的Click事件代码:

thisform.grid1.recordsource=\订单号, Order.金额; FROM employee INNER JOIN order ; ON Employee.职员号 = Order.职员号; WHERE Employee.姓名 = thisform.text1.value\

SELECT Employee.姓名, MAX(Order.金额) as 最高金额,; MIN(Order.金额) as 最低金额, AVG(Order.金额) as 平均金额; FROM employee INNER JOIN order ; ON Employee.职员号 = Order.职员号; WHERE Employee.姓名 = thisform.text1.value; into array aa

insert into tablethree from array aa

最后编写\退出\按钮的Click事件代码:thisform.release

注意:在tablethree表中只有两条记录,一条是赵小青的,一条是吴伟军的,多余的记录要进行彻底删除。

第二十九套————基本操作

2. 使用SQL Update语句将表TABB中所有记录的字段\日期\的值修改为2005-10-01,并将SQL语句存储到名为TWO.PRG的文件中。 3. 表TABA中有重复的记录,用SQL语句将表TABA中的记录复制到另外一个与它具有相同结构的表TABC中,并消除重复的记录(对于重复多次的记录,只复制一条记录的数据)。并将SQL的SELECT语句存储到名为THREE.PRG的文件中。

答案:(1)打开考生文件夹下的DB数据库,在数据库设计器中右键单击TABB表,在弹出的快捷菜单中选择\修改\项,在表设计器窗口中为表添加字段:日期,类型为日期型。(2)新建一个程序two,在其中输入 UPDATE tabb SET 日期={^2005/10/01}

(3)新建一个程序three,在其中输入如下命令。 SELECT DISTINCT * FROM TABA INTO TABLE TABC 最后保存并运行程序。 简单应用:

1. 编写文件名为FOUR.PRG的程序,根据表TABA中所有记录的a,b,c三个字段的值,计算各记录的一元二次方程的两个根x1和x2,并将两个根x1和x2写到对应的字段x1和x2中,如果无实数解,在两个根x1和x2字段写入空值.NULL.; 在note字段中写入“无实数解”。程序编写完成后,运行该程序计算一元二次方程的两个根。注意:一元二次方程公式如下:

答案:1求一元二次方程,新建一个程序,在程序中输入以下命令:

update taba set x1=(-b+sqrt(b^2-4*a*c))/(2*a) where (b^2-4*a*c)>=0 update taba set x2=(-b-sqrt(b^2-4*a*c))/(2*a) where (b^2-4*a*c)>=0 update taba set note=\无实数解\

2) \查询\按钮:在该按钮的Click事件中使用SQL的SELECT命令从表TABA中查询“无实数解”的记录存储到表TABD中; (2)【操作步骤】

步骤3:在\查询\按钮的Click事件中输入下列代码。

SELECT * FROM TABA WHERE TABA.note = \无实数解\综合应用

在考生文件夹下,打开SDB数据库,完成如下应用:

创建一个标题名为\查询\、文件名为testb的表单,如下图所示。 表单要求如下:

2. 表单启动后自动居中。

3 1) 标签对象标题文本为\学生注册日期\;文本框用于输入学生注册日期(Text1);表格控件用于显示结果(Grid1)。 2) 命令按钮的功能如下:

①\查询\按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令从\学生表\中查询学生注册日期等于文本框中指定的注册日期的学生的学号、姓名、年龄、性别、班级和注册日期,查询结果按年龄降序排序,并将查询结果在表格控件中显示,同时将查询结果存储到表TABE中。

注意:查询结果存储到表TABE之前,应将表TABE中记录清空。TABE表是已经建立好的表,它与学生表的结构不完全一样,多两个字段。 ②\退出\按钮(Command2):的功能是\关闭和释放表单\。 注意:表格控件的RecordSourceType属性设置为\-SQL说明\;

表单设计完成后,运行该表单,查询注册日期等于2005年9月2日的学生信息。

答案:首先创建表单,在表单中添加各控件以及设置属性,表单的AutoCenter属性为\真\。表单的Caption属性为\查询\。标签的Caption属性为\学生注册日期\。命令按钮1的Caption属性为\查询\。命令按钮2的Caption属性为\退出\。表格的RecordSourceType属性为\说明\。为表单添加数据环境\学生表\。然后再查询按钮的单击事件中写如下代码: thisform.grid1.recordsource=\ FROM sdb!学生表;

WHERE 学生表.注册日期 = ctod(thisform.text1.value); ORDER BY 学生表.年龄 DESC\

use tabe zap SELECT *; FROM sdb!学生表;

WHERE 学生表.注册日期 = ctod(thisform.text1.value); ORDER BY 学生表.年龄 DESC; into array aa

insert into tabe from array aa

输入退出按钮的Click事件代码ThisForm.Release,保存并按要求运行表单。 第30套 ——基本操作:

2. 使用\调试器\单步调试考生文件夹下的程序three.prg,调试结束后,将调试输出窗口中的内容保存到文本文件debug_out.txt中。

答案:“工具”菜单—“调试器”,在打开的调试器窗口中“文件”—“打开”—选中程序three—“确定”,单击常用工具栏上的第五个按钮“单步”,结果将会输出在“调试输出”窗口中,然后将结果连同前面的空白一起选中复制粘贴到一个新建的文本文件debug_out.txt中 3. 使用SQL语句为表\金牌榜\增加一个字段\奖牌总数\整数型),同时为该字段设置有效性规则:奖牌总数>=0。请将该SQL语句存储在文件one.prg中,否则不得分。

ALTER TABLE 金牌榜 ADD 奖牌总数 I CHECK 奖牌总数>=0

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

UPDATE 金牌榜 SET 奖牌总数=金牌数+银牌数+铜牌数 简单应用:

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

答案: (2)【操作步骤】

步骤1:打开考生文件夹下的数据库sport,新建一个视图并将\国家\和\获奖牌情况\两个表添加到新建的视图中。

步骤2:在字段选项卡中,添加字段\国家名称\到选定字段中,并添加一个表达式:count(获奖牌情况.名次) as 金牌数,将表达式添加到选定字段中。

步骤3:在筛选选项卡中设置条件为:获奖牌情况.名次,条件为:=,实例为:1

步骤4:在排序选项卡中,选择降序,并添加字段\金牌数\和\国家名称\到排序条件列表框中。 步骤5:在分组依据选项卡中添加字段\国家名称\到分组等段列表框中。 步骤6:保存视图名为sport_view并运行视图。 综合应用:

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

1. 设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性,使用SQL语句根据\国家\表中\国家名称\字段的内容在列表框中显示\国家名称\(注意不要使用命令指定这两个属性)。

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

答案:步骤1:打开表单myform

步骤2:按照题目要求修改列表框的属性,rowsourcetype为:3-SQL语句,rowsource为:select 国家名称 from 国家 into cursor ls 步骤3:在生成表命令按钮的Click事件中编写如下命令语句 gm=thisform.list1.value

SELECT 获奖牌情况.运动员名称, 获奖牌情况.项目名称, 获奖牌情况.名次; FROM 国家 INNER JOIN 获奖牌情况 ; ON 国家.国家代码 = 获奖牌情况.国家代码; WHERE 国家.国家名称 = thisform.list1.value; ORDER BY 获奖牌情况.名次; into table &gm 第三十一套——-基本操作

简单应用:

步骤1:打开程序rate_pro。修改程序如下: 第1处错误改为:locate for姓名=\林诗因\第2处错误改为:do while not eof()

第3处错误改为:summ=summ+a[1] * currency_sl.持有数量

2. 建立一个名为menu_rate的菜单,菜单中有两个菜单项\查询\和\退出\。\查询\项下中还有一个子菜单,子菜单有\日元\、\欧元\、\美元\三个选项。在\退出\菜单项下创建过程,该过程负责返回系统菜单。

(2)【操作步骤】

步骤1:新建一个菜单,输入菜单项\查询\和\退出\。

步骤2:为\查询\菜单建立子菜单,子菜单项的名称分别为\日元\、\欧元\和\美元\。 步骤3:为\退出\菜单项创建过程,输入:set sysmenu to default。 步骤4:保存菜单并“菜单”—“生成”,最后运行菜单,查看运行结果。 综合应用

设计一个文件名和表单名均为myrate的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为\外汇持有情况\。表单中有一个选项组控件(命名为myOption)和两个命令按钮\统计\和\退出\。其中,选项组控件有三个按钮\日元\、\美元\和\欧元\。

运行表单时,首先在选项组控件中选择\日元\、\美元\或\欧元\单击\统计\命令按钮后,根据选项组控件的选择将持有相应外币的人的姓名和持有数量分别存入rate_ry.dbf(日元)或rate_my.dbf(美元)或rate_oy(欧元)中。 单击\退出\按钮时关闭表单。

表单建成后,要求运行表单,并分别统计\日元\、\美元\和\欧元\的持有数量。

答案:首先新建表单,在添加选项按钮组的时候要注意有三个单选按钮,添加后默认的只有两个,因此要把选项按钮组的buttoncount属性改为3,然后改每个单选按钮的标题,方法为:在选项按钮组上右击——“编辑”,选中每一个单选按钮分别改它们的caption属性,依次为“日元”,“美元”,“欧元”;还有非常重要的一点,切记要把选项按钮组的name属性改为myoption 双击\统计\按钮,编写其Click事件代码如下: do case

case thisform.myoption.value=1

SELECT Currency_sl.姓名, Currency_sl.持有数量; FROM currency_sl INNER JOIN rate_exchange ; ON Currency_sl.外币代码 = Rate_exchange.外币代码; WHERE Rate_exchange.外币名称 = \日元\ INTO TABLE rate_ry.dbf

case thisform.myoption.value=2

SELECT Currency_sl.姓名, Currency_sl.持有数量; FROM currency_sl INNER JOIN rate_exchange ; ON Currency_sl.外币代码 = Rate_exchange.外币代码; WHERE Rate_exchange.外币名称 = \美元\ INTO TABLE rate_my.dbf case thisform.myoption.value=3

SELECT Currency_sl.姓名, Currency_sl.持有数量; FROM currency_sl INNER JOIN rate_exchange ; ON Currency_sl.外币代码 = Rate_exchange.外币代码; WHERE Rate_exchange.外币名称 = \欧元\ INTO TABLE rate_oy.dbf Endcase

第三十三套————基本操作

3. 将\教师\表从\学生\数据库中移出,使其成为自由表。

(3)在项目管理器中打开\学生\数据库,在其数据库设计器中右键单击\教师\表,选择\删除\命令,在弹出的对话框中单击\移去\按钮。 简单应用:

1. 用SQL语句对自由表\教师\完成下列操作:将职称为\教授\的教师新工资一项设置为原工资的120%,其他教师的新工资与原工资相等;插入一条新记录,该教师的信息:姓名\林红\,职称\讲师\,原工资10000,新工资10200,同时将你所使用的SQL语句存储于新建的文本文件 teacher.txt中(两条更新语句,一条插入语句,按顺序每条语句占一行)。 答案:在命令窗口依次输入下列命令并按回车(输入一条回车一次)

update 教师 set 新工资=原工资*1.2 where 职称=\教授%update 教师 set 新工资=原工资 where 职称!= \教授\inse into 教师 Values(\林红\讲师\

使用\新建\工具创建一个文本文件teacher.txt,把上面三行代码复制到新建的文本文件中并保存(文本文件在保存时必须加上扩展名.txt) 2. 使用查询设计器建立一个查询文件stud.qpr,查询要求:选修了\英语\并且成绩大于等于70的学生的姓名和年龄,查询结果按年龄升序存放于stud_temp.dbf表中。(完成后要运行)

步骤4:在\筛选\选项卡中设置筛选条件为

课程.课程名称 = \英语\选课.成绩 >= 70 综合应用

运行表单时,单击\查询\命令按钮后,表格控件中显示6系(系字段值等于字符6)的所有学生的姓名、选修的课程名和成绩。 单击\退出\按钮关闭表单。

注意:完成表单设计后要运行表单的所有功能。 答案:新建表单,在查询按钮的单击事件中编写如下代码:

thisform.grid1.recordsource=\学生.姓名, 课程.课程名称, 选课.成绩; FROM 学生!学生 INNER JOIN 学生!选课; INNER JOIN 学生!课程 ;

ON 选课.课程号 = 课程.课程号 ; ON 学生.学号 = 选课.学号; WHERE 学生.系 = '6'\

注意:先把表格控件的recordsourcetype属性改为4-SQL说明 第三十四套——基本操作 简单应用:

在考生文件夹下有student(学生)、course(课程)和score(选课成绩)3个表,用SQL语句完成如下操作:

1. 查询每门课程的最高分,要求得到的信息包括课程名称和分数,将结果存储到max.dbf表文件(字段名是课程名称和分数),并将相应的SQL语句存储到命令文件one.prg。

答案:(1)【操作步骤】

新建一个程序one.prg,编写下列命令语句:

SELECT Course.课程名称, max(score.成绩) as 分数; FROM course,score ;

WHERE Course.课程编号 = Score.课程编号; GROUP BY Course.课程名称; INTO TABLE max 保存并运行程序。

2. 查询哪些课程有不及格的成绩,将查询到的课程名称存入文本文件new.txt,并将相应的SQL语句存储到命令文件two.prg。

(2)【操作步骤】

新建一个程序\,编写下列命令语句: SELECT Course.课程名称; FROM course,score ;

WHERE Course.课程编号 = Score.课程编号; AND Score.成绩 < 60; GROUP BY Course.课程名称; TO FILE new.txt 保存并运行程序。 综合应用:

3. 建立满足如下要求的表单formlist(控件名和文件名)

(1) 添加一个表格控件Grid1,并按学号升序显示学生选课及考试成绩信息(包括字段学号、姓名、院系、课程名称和成绩); (2) 添加命令按钮\保存\(Command1)和\退出\(Command2),单击命令按钮\保存\时将表格控件Grid1中所显示的内容保存到表results(方法不限),单击命令按钮\退出\时关闭并释放表单。

步骤1按照题目要求做,做好表单之后,在表格控件的init事件中(在表格上双击)编写如下代码: thisform.grid1.recordsource=\学号, Student.姓名, Student.院系, Course.课程名称,; Score.成绩;

FROM 学生!course INNER JOIN 学生!score; INNER JOIN 学生!student ; ON Score.学号 = Student.学号 ; ON Course.课程编号 = Score.课程编号; ORDER BY Student.学号\

注意:应把表格控件的recordsourcetype属性改为4-SQL说明,再在查询按钮的单击事件中编写如下代码: SELECT Student.学号, Student.姓名, Student.院系, Course.课程名称,; Score.成绩;

FROM 学生!course INNER JOIN 学生!score; INNER JOIN 学生!student ; ON Score.学号 = Student.学号 ;


VF答案完整版(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:说明书

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

马上注册会员

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