要求运行表单并执行相关操作。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下完成如下操作: 1.打开表单one,如图1所示,通过设置控件的相关属性,使得表单开始运行时焦点在\打开\命令按钮上,并且接下来的焦点的移动顺序是\关闭\和\退出\。
2.打开表单two,如图2所示,使用\布局\工具栏的\顶边对齐\按钮将表单中的3个命令按钮控件设置成顶边对齐,如图3所示。
3.创建一个名为\分组情况表\的自由表(使用SQL语句),其中有组号和组名两个字段,组号占两个字符,组名占10个字符。将该SQL语句存储在three.prg中。
4.使用SQL语句插入一条记录到\分组步骤1:新建一个表单文件,通过表单控件工具栏按题目要求向表单中添加各控件。
步骤2:通过属性窗口设置表单及相关各控件的属性。
步骤3:双击\计算\命令按钮编写其Click事件代码。
****计算按钮的Click事件代码**** SELECT * FROM 评分表; WHERE left(评分表.歌手编号,2) = ThisForm.List1.list(ThisForm.List1.listindex);
INTO TABLE two.dbf; ORDER BY 评分表.歌手编号 DESC, 评分表.分数
*************************
步骤4:最后以myform为文件名将表单保存在考生文件夹下,并运行该表单。 定字段中。
步骤3:添加筛选条件,如图。 步骤4:为查询设置排序依据。 步骤5:输入查询去向为表\。 步骤6:保存查询名为teacher q,运行查询。
(1)在考生文件夹下建立一个文件名和表单名均为myform的表单文件。 (2)在考生文件夹下建立一个如下图所示的快捷菜单mymenu,该快捷菜单有两个选项\取前3名\和\取前5名\。分别为两个选项建立过程,使得程序运行时,单击\取前3名\选项的功能是:根据\学院表\和\教师表\统计平均工资最高的前3名的系的信息并存入表sa_three中,sa_three中包括\系名\和\平均工资\两个字段,结果按\平均工资\降序排列;单击\取前5名\为:ThisForm.Release。保存并运行表单。
在考生文件夹下完成如下简单应用: 1.建立一个名为NEW_VIEW的视图,该视图含有选修了课程但没有参加考试(成绩字段值为NULL)的学生信息(包括\学号\、\姓名\和\系部\个字段)。 2.建立表单MYFORM3,在表单上添加一个表格控件(名称为grdCourse),并通过该控件显示表COURSE的内容(要求RecordSourceType属性必须为0)。 (1)【操作步骤】
步骤1:打开数据库设计器,在空白处右键选择新建本地视图,添加表\和\到视图设计器中。
步骤2:将\表中的字段:学号,姓名,系部添加到选定字段。 情况表\中,插入的记录中,组号是\,组名是\通俗唱法\。将该SQL语句存储在four.prg中。 【操作步骤】
(1) 打开表单one,通过属性窗口设置3个命令按钮的焦点移动顺序示。 (2)打开表单two,按下SHIFT键的同时选中3个命令按钮控件,通过\布局\工具栏设置其对齐方式。
(3)新建一个程序,输入下列命令:Create table 分组情况表(组号 c(2),组名 c(10)),将该程序保存为three.prg并运行。
(4)方法同上建立程序four.prg,输入命令:INSERT INTO 分组情况表 VALUES(\,\通俗唱法\。 在考生文件夹下完成下列操作: 1.将歌手比赛分为4个组,\歌手表\中的\歌手编号\字段的左边两位表示该歌手所在的组号。考生文件夹下的程序文件five.prg的功能是:根据\歌手表\计算每个组的歌手人数,将结果存入表one,表one中有\组号\和\歌手人数\两个字段。程序中有3处错误,请修改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名A不允许修改。
2.建立一个数据库文件歌手大奖赛.dbc,并将\歌手表\、\评委表\和\评分表\个自由表添加到该数据库中。使用视图设计器建立视图songer_view,根据\歌手表\、\评委表\和\评分表\建立该视图,视图中的字段项包括:评委姓名、歌手姓名、分数,视图中的记录按\歌手姓名\升序排列,若\歌手姓名\相同再按\分数\降序排列。 (1)【操作步骤】
步骤1:打开程序five,修改其中的错误如下。
步骤2:保存并运行程序。 (2)【操作步骤】
步骤1:新建一个名为\歌手大奖赛\的数据库文件,在数据库设计器中空白处单击右键,并将\歌手表\、\评委表\和\评分表\添加到数据库中。
步骤2:新建一个视图,并将表\歌手表\、\评委表\和\评分表\添加到视图设计器中。
步骤3:将\评委表.评委姓名\、\歌手表.歌手姓名\和\评分表.分数\个字段添加到选定字段框中。
步骤4:在排序选项卡中按\歌手姓名\升序排序,再按\分数\降序排序。 步骤5:保存视图名为songer view。 在考生文件夹下完成下列操作: (1)建立一个文件名和表单名均为myform的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和Command2),两个命令按钮的标题分别为\计算\和\退出\。
(2)列表框(List1)中应显示组号,通过RowSource和RowSourceType属性手工指定列表框的显示条目为01、02、03、04(注意不要使用命令指定这两个属性,否则将不能得分)。
(3)为\计算\命令按钮编写Click事件代码。代码的功能是:表单运行时,根据列表框中选定的\组号\,将\评分表\中该组歌手(\歌手编号\字段的左边两位表示该歌手所在的组号)的记录存入自由表two中,two的表结构与\评分表\相同,表中的记录先按\歌手编号\降序排列,若\歌手编号\相同再按\分数\升序排列。
(4)运行表单,在列表框中指定组号\,并且单击\计算\命令按钮。注意:结果two表文件中只能且必须包含01组歌手的评分信息。 【操作步骤】
◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下打开数据库文件\大学管理\,为其中的\课程表\和\教师表\分别建立主索引和普通索引,字段名和索引名均为\课程号\。
2.打开one.prg文件,修改其中的一处错误,使程序执行的结果是在屏幕上显示:
5 4 3 2 1
注意:错误只有一处,文件修改之后要存盘。
3.为\教师表\创建一个快速报表two,要求选择\教师表\的所有字段,其他选项均取默认值。
4.使用SQL语句为\教师表\的\职工号\字段增加有效性规则:职工号的最左边四位字符是\,并将该SQL语句存储在three.prg中,否则不得分。 【操作步骤】
(1)打开数据库设计器,按题目要求为其中的\课程表\建立主索引。以同样的方法为教师表建立普通索引。 (2)打开程序one,将循环语句中的条件i<=1 改成 i>=1,保存并运行程序。
(3)通过报表向导新建报表,保存报表名为two并预览。
(4)新建一个程序three,在其中编写代码:alter table 教师表 alter 职工号 set check LEFT(职工号,4)=\,保存并运行。
1.打开考生文件夹下的数据库文件\大学管理\,修改并执行程序four.prg。程序four.prg的功能是: (1)建立一个\工资表\各字段的类型和宽度与\教师表\的对应字段相同),其中职工号为关键字。
(2)插入一条\职工号\、\姓名\和\工资\分别为\、\宣喧\和4500的记录。
(3)将\教师表\中所有记录的相应字段插入\工资表\。
(4)将工资低于3000的职工工资增加10%。
(5)删除姓名为\的记录。 注意,只能修改标有错误的语句行,不能修改其他语句,修改以后请执行一次该程序,如果多次执行,请将前一次执行后生成的表文件删除。 2.使用查询设计器建立查询teacher_q并执行,查询的数据来源是\教师表\和\学院表\,查询的字段项包括\姓名\、\工资\和\系名\,查询结果中只包括\工资\小于等于3000的记录,查询去向是表five,查询结果先按\工资\降序排列,若\工资\相同再按\姓名\升序排列。 (1)【操作步骤】 步骤1:打开程序four.prg,修改如下: ************************* CREATE TABLE 工资表(职工号 C(8) primary KEY,姓名 C(6) ,工资 N(10,2))
INSERT INTO 工资表 VALUES (\,\宣喧\,4500) USE 工资表
APPEND FROM 教师表
UPDATE 工资表 set 工资=工资*1.1 WHERE 工资<3000
DELETE FROM 工资表 where 姓名=\PACK
************************* 步骤2:保存并运行程序。 (2)【操作步骤】
步骤1:单击常用工具栏中的\新建\按钮,新建一个查询,添加表\教师表\和\学院表\到新建的查询中。
步骤2:添加字段\教师表.姓名\、\教师表.工资\和\学院表.系名\到选
选项的功能与\取前3名\类似,统计查询\平均工资\最高的前5名的信息,结果存入sa_five中,sa_five表中的字段和排序方法与sa_three相同。 (3)在表单myform中设置相应的事件代码,使得右键单击表单内部区域时,能调出快捷菜单,并能执行菜单中的选项。
(4)运行表单,调出快捷菜单,分别执行\取前3名\和\取前5名\两个选项。 【操作步骤】
步骤1:在命令窗口输入:Crea form myform,按下回车键新建一个表单,按要求修改表单的Name属性为myform。在表单的RightClick事件中写入:DO mymenu.mpr。
步骤2:新建一个快捷菜单,菜单项分别为\取前3名\和\取前5名\,结果均为过程。
步骤3:分别单击两个菜单项后面的\创建\按钮,编写对应的过程代码: *******\取前3名\菜单项中的代码******* SELECT TOP 3 学院表.系名, avg(教师表.工资) as 平均工资; FROM 学院表,教师表 ;
WHERE 学院表.系号 = 教师表.系号;
GROUP BY 学院表.系名; ORDER BY 2 DESC;
INTO TABLE sa three.dbf ************************* ***\取前5名\菜单项中的代码** SELECT TOP 5 学院表.系名, avg(教师表.工资) as 平均工资; FROM 学院表,教师表 ;
WHERE 学院表.系号 = 教师表.系号;
GROUP BY 学院表.系名; ORDER BY 2 DESC;
INTO TABLE sa five.dbf *************************
步骤4:保存并生成可执行菜单。 步骤5:运行表单,在表单空白处单击鼠标右键,依次执行两个菜单项中的命令。
◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下根据SCORE_MANAGER数据库,使用查询向导建立一个含有\姓名\和\出生日期\的标准查询QUERY3_1.QPR。
2.从SCORE_MANAGER数据库中删除名为NEW_VIEW3的视图。
3.用SQL命令向SCORE1表中插入一条记录:学号为\、课程号为\、成绩为99。
4.打开表单MYFORM3_4,向其中添加一个\关闭\命令按钮(名称为Command1),表单运行时,单击此按钮关闭表单(不能有多余的命令)。 【操作步骤】
(1)新建一个查询。单击\向导\按钮。按照向导的提示,首先从COURSE表中选择\姓名\和\出生日期\字段,然后按提示单击\完成\按钮,在\另存为\对话框中输入文件名为\1.QPR\。
(2)打开SCORE MANAGER数据库,从数据库设计器中选择NEW VIEW3视图窗口,单击右键,选择\移去\即可。 (3)在命令窗口中输入下列代码并按回车键。
INSERT INTO SCORE1(学号,课程号,成绩) VALUES
(\,\,99)
(4)打开表单MYFORM3-4,通过表单控件工具栏向表单中添加一个命令按钮,在表单属性工具栏中修改其Caption属性为\关闭\,双击命令按钮,编写命令按钮的Click事件代码
步骤3:在\筛选\选项卡中设置筛选条件。 步骤4:保存视图为\并运行视图。 (2)【操作步骤】
步骤1:新建一个表单,通过表单控件工具栏为表单添加表格控件,设置其Name属性为grdCourse。
步骤2:在表单设计器中选择表格控件,右键单击表格,选择\生成器\命令,在表格生成器的\表格项\选项卡中将course表的所有字段添加到选定字段中。
步骤3:保存表单,输入文件名为MYFORM3.SCX,运行表单。
利用菜单设计器建立一个菜单TJ_MENU3,要求如下:
(1)主菜单(条形菜单)的菜单项中有\统计\和\退出\两项。
(2)\统计\菜单下只有一个\平均\菜单项,该菜单项用来统计各门课程的平均成绩,统计结果包含\课程名\和\平均成绩\两个字段,并将统计结果按课程名升序保存在表NEW_TABLE32中。 (3)\退出\菜单项的功能是返回Visual FoxPro系统菜单(只能在命令框中填写相应命令)。
菜单建立后,运行该菜单中的各个菜单项。
【操作步骤】
步骤1:通过菜单设计器新建一个菜单,输入菜单项\统计\和\退出\。 步骤2:为\统计\菜单项建立子菜单,并输入菜单项\平均\。
步骤3:在\平均\菜单的\结果\中选择\过程\,单击\编辑\按钮,在弹出的程序编辑窗口中输入下列代码: *****\平均\菜单项中的过程代码*****
SET TALK OFF
OPEN DATABASE SCORE MANAGER SELECT Course.课程名, AVG(Score1.成绩) as平均成绩;
FROM course,score1 ;
WHERE Course.课程号 = Score1.课程号;
GROUP BY Course.课程名; ORDER BY Course.课程名; INTO TABLE NEW TABLE32 CLOSE ALL SET TALK ON
*************************
步骤4:在\退出\菜单的结果中选择\命令\,输入语句:SET SYSMENU TO DEFAULT。
步骤5:保存菜单名为TJ MENU3,生成菜单的可执行程序。
步骤6:运行菜单并执行菜单中的各菜单项。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下完成如下操作: 1.打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框。
2.在表单one中,通过表单设计器中的属性窗口设置组合框的RowSource和RowSourceType属性,使组合框Combo1的显示条目为\上海\、\北京\不要使用命令指定这两个属性),显示情况如下图所示。
3.向表单one中添加两个命令按钮\统计\和\退出\,名称分别为Command1和Command2。为\退出\命令按钮的Click事件编写一条命令,执行该命令时关闭并释放表单。
4.为表单one中的\统计\命令按钮的Click事件编写一条SQL命令,执行该命令时,将\歌手表\中所有\歌手出生地\与组合框(Combo1)指定的内容相同的歌手的全部信息存入自由表
birthplace中。 【操作步骤】
(1)打开表单one,通过表单控件工具栏向表单添加一个组合框,并修改其Style属性为2-下拉列表框。
(2)修改组合框的RowSourceType属性值设置为\-值\,RowSource设置为\上海,北京\。
(3)通过表单控件工具栏向表单中添加两个命令按钮,分别在属性工具栏中修改两个按钮的Caption属性为\统计\和\退出\,双击\退出\按钮编写其Click事件代码为:ThisForm.Release。
(4)编写\统计\按钮的Click事件代码为:
***\统计\按钮的Click事件代码** select * from 歌手表.dbf;
where 歌手出生地 = ThisForm.combo1.list(ThisForm.combo1.listindex);
SELECT 歌手表.歌手姓名, avg(评分表.分数) as 得分; FROM 歌手表,评分表;
WHERE 歌手表.歌手编号 = 评分表.歌手编号;
AND left(歌手表.歌手编号,2) = \;
GROUP BY 歌手表.歌手姓名;
ORDER BY 2 DESC, 歌手表.歌手姓名 DESC;
INTO TABLE final.dbf
*************************
步骤2:新建表单,将其Name属性设置为score form,通过表单控件工具栏向表单中添加一个命令按钮,修改其Caption属性为\计算\,编写其Click事件代码为:DO two.prg。
步骤3:保存表单名为score form,并运行该表单。
步骤4:单击\新建\?\项目\,以\为文件名进行保存,步骤2:修改程序中的错误命令。 第1处错误改为:from employee p join employee c;
第2处错误改为:on p.组别=c.组别where p.职务=\组长\.组别=p.组别;
步骤3:保存并运行程序,查看程序的运行结果。
(1)在考生文件夹下建立如下图所示的表单文件form_three,表单名为form1。标签控件命名为Ln,文本框控件命名为Textn,命令按钮控件命名为Commands。表单运行时在文本框中输入职员号,单击\开始查询\命令按钮查询该职员所经手的订购单信息(取自order表),查询的信息包括:订单号、客户号、签订日期和金额,查询结果按签订日期升序排列,将结果存储到用字母\加上职员号命名的表文件中,如职员101经手的订购单信息将存储在表t101中,每次完成查询后据库中创建视图view1,其功能是利用
该视图只能查询数学、英语和信息技术3门课程中至少有一门不及格(小于60分)的学生记录;查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排列。最后利用刚创建的视图view1查询视图中的全部信息,并将查询结果存储于表table2中。
(1)【操作步骤】
步骤1:新建一个查询,并将xuesheng和chengji两个表添加到查询设计器中。按要求添加字段\学号\、\姓名\、\数学\、\英语\和\信息技术\到\选定字段\框中。
步骤2:在筛选选项卡中添加表达式\出生日期)\,条件设置为\=\,实例中输入1982。
步骤3:在筛选选项卡中选择字段\民族\,条件设置为\= \,实例中输入\INTO TABLE birthplace.dbf ************************* 保存并运行表单。
在考生文件夹下完成下列操作: 1.建立一个名为score_query的查询。查询评委为\歌手编号\是\的歌手所打的分数,然后将结果存入自由表result中,该自由表的字段有\评委姓名\和\分数\,各记录按分数升序排列。最后运行该查询。
2.根据上一步操作得到的自由表result建立一个名为score_result的报表。要求:
(1)使用报表向导建立报表,报表中包括\评委姓名\和\分数\两个字段,按\分数\字段降序排列,报表标题为空。 (2)打开报表score_result,利用报表标签控件,将\王岩盐得分情况\作为报表的标题添加到报表中。 (1)【操作步骤】
步骤1:新建一个查询,将\评分表\和\评委表\添加到查询设计器中。 步骤2:按要求添加字段\评委姓名\和\分数\到选定字段中。
步骤3:在\筛选\选项卡中的\字段\列中选择\歌手编号\,\条件\列中选择\=\,\结果\列中输入\。 步骤4:在\排序依据\选项卡中选择\分数\字段,升序排列。
步骤5:设置查询去向为表\。 步骤6:保存查询名为score query,并运行查询。 (2)【操作步骤】
步骤1:通过报表向导新建一个报表。 步骤2:添加表result,然后添加全部字段到可用字段中,按\分数\降序排序。 步骤3:完成报表,报表标题设置为空,报表名为score result。
步骤4:打开报表,选择主菜单\报表\下的\标题/总结(T)\命令,弹出\标题/总结\对话框,在\报表标题\中选中\标题带区\复选框,单击\确定\按钮,这样就在报表中加入了一个\标题带区\,打开\报表控件工具栏\,在打开的\报表控件\中选择\标签\控件,在标题带区单击鼠标,输入\王岩盐得分情况\。
步骤5:保存并预览报表,查看报表的设计结果。
在考生文件夹下完成下列操作: (1)编写程序文件two.prg并执行。计算\组(歌手编号的前2位)歌手的得分,并将结果存入自由表FINAL中。FINAL包含\歌手姓名\和\得分\两个字段,\得分\取各评委所打分数的平均值。FINAL中的结果按得分降序排列,若得分相同则按歌手姓名降序排列。
(2)新建一个文件名和表单名均为score_form的表单文件,向表单添加一个命令按钮Command1,标题为\计算\,为该命令按钮的Click事件增加命令,以调用并执行two.prg程序。最后运行该表单,并单击\计算\按钮执行two程序。
(3)新建一个项目文件score_project,然后将自由表\歌手表\、\评委表\、\评分表\以及表单文件score_form加入该项目,最后将项目文件连编成应用程序文件score_app。 【操作步骤】
步骤1:新建一个程序文件,写入如下代码并保存程序名为two,并运行该程序。
****\中的代码******
在项目管理器的\数据\选项卡中选择自由表,单击\添加\,在\打开\的对话框中选择要添加的自由表\歌手表\、\评委表\和\评分表\,在\文档\选项卡中选择表单,单击\添加\,在\打开\的对话框中选择要添加的表单文件score form。单击连编按钮,在\连编选项\中选择\连编应用程序\,以文件名score app保存应用程序。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下建立一个名为emp_bak的表,其结构与employee表的结构完全相同。
2.为employee表的\职员号\字段建立一个候选索引,索引名为empid,表达式为\职员号\。
3.使用报表向导生成一个名为employee.frx的报表文件,其中包括employee表的职员号、姓名、性别和职务4个字段,报表样式为\简报式\,按\职员号\升序排序,报表标题为\职员一览表\。
4.建立一个名为one.prg的命令文件,该文件包含一条运行(预览)报表文件employee.frx的命令。 【操作步骤】
(1)在命令窗口输入命令\employee\,然后按回车键。接着在命令窗口输入命令\bak.dbf\,再按回车键。也可以通过常用工具栏中的\打开\按钮打开\表,然后在命令窗口输入\,再按回车键。
(2)打开考生文件夹下的\表,在命令窗口输入\stru\命令,在表设计器中按要求为表设置候选索引,索引名为\,索引表达式为\职员号\。
(3)通过报表向导新建一个报表,向其中添加\表,然后按要求将指定字段添加到报表中,并对\职员号\设置升序排序。修改报表样式为\简报式\,报表标题为\职员一览表\。最后将报表保存为\。 (4)新建一个名为\的程序文件,并在其中写入代码\form employee\,最后在命令窗口输入\one.prg\运行程序,查看报表的预览结果。
1.建立一个表单文件myform,将employee表添加到表单的数据环境中,然后在表单中添加表格控件grid1,指定其记录源类型为\别名\、记录源为employee表文件,最后添加一个\退出\命令按钮控件Command1,程序运行时单击该命令按钮将关闭表单。
2.修改two.prg文件中的SQL SELECT命令,使之正确运行时可以显示如下结果:
(1)【操作步骤】
步骤1:在命令窗口输入命令:Crea form myform,按下回车键新建一个表单。
步骤2:在表单空白处单击鼠标右键,为表单添加数据环境表\,并将\从数据环境中拖拽表到表单中,在表单的属性工具栏里修改表格的Name属性为Grid1。
步骤3:通过表单控件工具栏为表单添加一个命令按钮,修改其Caption属性为\退出\,双击命令按钮,编写其Click事件:ThisForm.Release。 步骤4:保存并运行表单。 (2)【操作步骤】
步骤1:打开程序文件two.prg。
关闭表单。
(2)建立菜单mymenu,其中包含\查询\和\退出\两个菜单项,选择\查询\时运行表单form_three(直接用命令),选择\退出\时返回到默认的系统菜单(直接用命令)。
(3)最后从菜单运行所建立的表单,并依次查询职员107、111和115经手的订购单信息。 【操作步骤】
步骤1:在命令窗口输入:Create form form three,按下回车键建立一个表单,通过表单控件工具栏按题目要求为表单添加控件。在表单属性窗口中修改标签的Name属性为\,Caption属性为\输入职员号\,文本框的Name属性为\,命令按钮的Name属性为\,Caption属性为\开始查询\。
步骤2:写入命令按钮的Click事件代码: *****\开始查询\按钮的click事件代码*****
x=ThisForm.textn.Value a = \Order.订单号, Order.客户号, Order.签订日期, Order.金额 FROM order WHERE Order.职员号 = x ORDER BY Order.签订日期 INTO TABLE t\+ x &a
*************************
步骤3:新建一个菜单,菜单项为查询和退出,对应的命令分别为:DO FORM form three和set sysmenu to default。保存菜单名为mymenu并生成可执行菜单。
步骤4:运行菜单,单击\查询\打开表单并按要求运行表单。
◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下,有一个名为myform的表单。打开表单文件,然后在表单设计器中完成下列操作:
1.将表单设置为不可移动,并将其标题修改为\表单操作\。
2.为表单新建一个名为mymethod的方法,方法代码为:wait \window
3.编写OK按钮的Click事件代码,其功能是调用表单的mymethod方法。 4.编写Cancel按钮的Click事件代码,其功能是关闭当前表单。 【操作步骤】
(1)打开表单,在属性窗口将表单的Moveable属性修改为.F.并将其Caption属性设置为\表单操作\。 (2)在系统菜单中的\表单\菜单中选择\新建方法程序\打开\新建方法程序\对话框,然后在名称框中输入\并单击\添加\按钮,关闭对话框后双击表单空白处,编写表单的mymethod事件代码如下: wait \
(3)双击打开OK按钮的Click事件,输入\。
(4)双击打开Cancel按钮的Click事件,输入\。
在考生文件夹下,完成如下简单应用: 1.利用查询设计器创建一个查询,其功能是从xuesheng和chengji两个表中找出1982年出生的汉族学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排列;查询去向为表table1。最后将查询保存为query1.qpr,并运行该查询。
2.首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数
汉\。
步骤4:在排序选项卡中选择\降序\,添加字段\学号\。
步骤5:选择系统菜单中的\查询\→\查询去向\,单击\表\按钮,输入表名\。
步骤6:保存查询为\并运行查询。 (2)【操作步骤】
步骤1:在命令窗口输入\data cj m\,创建数据库。
步骤2:打开cj m数据库并向其中添加表\和\。
步骤3:在数据库设计器中新建一个视图,并将xuesheng和chengji两个表添加到新建的视图中,按要求添加字段\学号\、\姓名\、\数学\、\英语\和\信息技术\。
步骤4:在筛选选项卡中分别选择字段\数学\、\英语\和\信息技术\,条件均为\,实例为\,逻辑为\。 步骤5:在排序选项卡中选择\降序\, 添加字段\学号\。
步骤6:保存视图为view1.新建一个查询,将视图添加到查询设计器中。 步骤7:添加全部字段,选择查询去向为表,输入表名\2\并运行查询。 首先利用表设计器在考生文件夹下建立表table3,表结构如下: 民族 字符型(4) 数学平均分 数值型(6,2) 英语平均分 数值型(6,2)
然后在考生文件夹下创建一个名为mymenu.mnx的下拉菜单,并生成菜单程序mymenu.mpr。运行该菜单程序则在当前Visual FoxPro系统菜单的末尾追加一个\考试\子菜单,如下图所示。 \考试\菜单下\计算\和\返回\命令的功能都通过执行\过程\完成。
\计算\菜单命令的功能是根据xuesheng表和chengji表分别统计汉族学生和少数民族学生数学和英语两门课程的平均分,并把统计结果保存在表table3中。表table3的结果有两条记录:第1条记录是汉族学生的统计数据,\民族\字段填\汉\;第2条记录是少数民族学生的统计数据,\民族\字段填\其他\。
\返回\菜单命令的功能是恢复到Visual FoxPro的系统菜单。
菜单程序生成后,运行菜单程序并依次执行\计算\和\返回\菜单命令。 【操作步骤】
步骤1:建立表可以通过常用工具栏中的\新建\按钮完成,依次执行\文件\→\新建\→\表\→\新建文件\命令,在打开的表设计器中依次输入各字段的名称,并设置各字段的类型和宽度,设置完成后单击\确定\按钮,选择不输入记录。
步骤2:建立菜单可以使用\文件\菜单完成,选择\文件\→\新建\→\菜单\→\新建文件\命令打开菜单设计器。打开\显示\菜单下的\常规选项\对话框,在\位置\处选择追加,则新建立的子菜单会在当前vfp系统菜单后显示。
步骤3:在菜单名称中填入\考试\,结果为子菜单,单击创建;在子菜单的菜单名称中输入\计算\、\返回\,结果均为过程。
步骤4:在\计算\菜单项的过程中输入下列代码。
************************* SELECT Xuesheng.民族,avg(Chengji.数学) as x,AVG(Chengji.英语) AS y;
FROM xuesheng,chengji;
WHERE Xuesheng.学号 = Chengji.学号 WHERE Xuesheng.民族=\汉\; INTO ARRAY a;
INSERT INTO table3 FROM ARRAY a SELECT Xuesheng.民族,avg(Chengji.数学) as x,AVG(Chengji.英语) AS y; FROM xuesheng,chengji;
WHERE Xuesheng.学号 = Chengji.学号; WHERE Xuesheng.民族!=\汉\INTO ARRAY a
INSERT INTO table3 FROM ARRAY a UPDATE table3 SET 民族='其他' WHERE 民族!=\汉\
*************************
在\返回\菜单项的过程中输入语句\。
步骤5:保存菜单名为mymenu,在系统菜单中单击\菜单\→\生成\命令,生成可执行程序并运行。
◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下存在表单文件myform.scx,其中包含一个名为\高度\的标签,文本框Text1,以及一个名为\确定\的命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:
1.将标签、文本框和命令按钮3个控件设置为顶边对齐。
2.修改\确定\按钮的相关属性,在表单运行时按Enter键就可以直接选择该按钮。
3.设置表单的标题为\表单操作\,名称为myform。
4.编写\确定\按扭的Click事件代码,使得表单运行时,单击该按钮可以将表单的高度设置成在文本框中指定的值。
【操作步骤】
(1)打开表单myform,按Shift选中3个控件,在菜单中选择\显示\→\对齐\→\顶端对齐\命令。
(2)选中\确定\按钮,在属性窗中找到属性DEFAULT,把它设置为.T.。 (3)选中表单,将其Name 属性改为myform ,Caption属性改为:表单操作。
(4)双击确定按钮,在Click事件里写入:ThisForm.Height=val(ThisForm.Text1.value)。
1.用SQL语句完成下列操作:检索\田亮\所借图书的书名、作者和价格,结果按价格降序存入book_temp表中。 2.首先创建一个名为order_m的数据库,并向其中添加order表和orderitem表。然后在数据库中创建视图viewone:利用该视图只能查询商品号为a00002的商品订购信息。查询结果依次包含订单号、签订日期和数量3项内容。各记录按订单号升序排列,最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 (1)【操作步骤】
步骤1:新建一个程序文件,并输入下列代码。
************************* SELECT Book.书名, Book.作者, Book.价格;
FROM book,loans,borrows ; WHERE Loans.借书证号 = Borrows.借书证号 ;
AND Book.图书登记号 = Loans.图书登记号;
AND Borrows.姓名 = \田亮\; ORDER BY Book.价格 DESC; INTO TABLE book temp.dbf *************************
步骤2:保存并运行此程序,程序名为默认。 (2)【操作步骤】
步骤1:在命令窗口输入命令\data order m\。
步骤2:打开数据库设计器,添加表\和\到新建的数据库中。
步骤3:按要求新建一个视图\,将\和\item\表添加到视图设计器中,选择字段\订单号\、\签订日期\和\订购信息\,筛选条件为\商品号=a00002\,按订单号升序排序。
步骤4:新建一个查询,将视图添加到查询设计器中。选择全部字段,设置查询去向为表tabletwo,保存并运行查询,查询名为默认。
在考生文件夹下创建一个下拉式菜单
mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前Visual FoxPro系统菜单的末尾追加一个\考试\子菜单,如下图所示。 \计算\和\返回\菜单命令的功能都通过执行\过程\完成。
\计算\菜单命令的功能如下: (1)用ALTER TABLE语句在order表中添加一个\总金额\字段,该字段为数值型,宽度为7,小数位数为2。
(2)根据orderitem表和goods表中的相关数据计算各订单的总金额,其中,一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于其数量乘以单价,填入刚建立的字段中。
\返回\其菜单命令的功能是恢复到Visual FoxPro的系统菜单。
菜单程序生成后,运行菜单程序,并依次执行\计算\和\返回\菜单命令。 【操作步骤】
步骤1:新建一个菜单,按要求输入菜单项的名称。
步骤2:写入菜单项\计算\的代码如下。 ****\计算\菜单项中的代码******* ALTER TABLE ORDER ADD 总金额 N(7,2)
SELECT Orderitem.订单号, sum(goods.单价*orderitem.数量) as 总金额;
FROM goods,orderitem ;
WHERE Goods.商品号 = Orderitem.商品号;
GROUP BY Orderitem.订单号; ORDER BY Orderitem.订单号; INTO TABLE temp.dbf CLOSE ALL SELEL 1 USE TEMP
INDEX ON 订单号 TO ddh1 SELE 2 USE ORDER
INDEX ON 订单号 TO ddh2
SET RELATION TO 订单号 INTO A DO WHILE .NOT.EOF()
REPLACE 总金额 WITH temp.总金额 SKIP ENDDO BROW
*************************
步骤3:写入菜单项\返回\中的过程代码为\。 步骤4:保存菜单名为\并生成可执行文件。运行菜单。
◆◆◆◆◆◆宏图教育◆◆◆◆◆ 考生文件夹下的自由表employee中存放着职员的相关数据。
1.利用表设计器为employee表创建一个普通索引,索引表达式为\姓名\,索引名为xm。
2.打开考生文件夹下的表单文件formone,然后设置表单的Load事件,代码的功能是打开employee表,并将索引xm设置为当前索引。
3.在表单formone中添加一个列表框,并设置列表框的名称为mylist,高度为60,可以多重选择。
4.设置表单formone中mylist列表框的相关属性,其中RowSourceType属性为字段,使得当表单运行时,列表框内显示employee表中姓名字段的值。 【操作步骤】
(1)打开\表的表设计器,单击\索引\选项卡,在索引名处输入\,类型选择\普通索引\,表达式为\姓名\。
(2)打开表单文件formone.scx,然后设置表单的Load事件代码如下。 use employee.dbf set order to xm
(3)选中控件工具栏里的\列表框\按钮,在表单设计器中拖动鼠标,这样在表单上得到一个\列表框\对象List1,设置它的Name属性为\,Height属性为\,MultiSelect属性为.T.。
(4)在属性窗口设置mylist列表框的RowSourceType属性为\-字段\,RowSource属性为\姓名\。 在考生文件夹下完成以下简单应用(自由表order中存放着订单的有关数据):
1.利用查询设计器创建查询,从employee表和order表中查询金额最高的10笔订单。查询结果依次包含订单号、姓名、签订日期和金额4个字段,各记录按金额降序排列,查询去向为
表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。 2.首先创建数据库order_m,并向其中添加employee表和order表。然后在数据库中创建视图viewone:利用该视图只能查询组别为1的职员的相关数据;查询结果依次包含职员号、姓名、订单号、签订日期、金额5个字段;各记录按职员号升序排列,若职员号相同则按金额降序排列。最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 (1)【操作步骤】
步骤1:单击\新建\按钮,在弹出的对话框中选择\新建查询\,将\和\添加到查询设计器中。
步骤2:在查询设计器下方的\字段\选项卡中选中并添加题中要求的字段。 步骤3:在\排序依据\选项卡中选择字段\金额\,按降序排列。
步骤4:在\杂项\选项卡中选择记录个数为10。
步骤5:选中菜单栏上的\查询\→\查询去向\,在弹出的\查询去向\对话框中选择表,并在表名处输入tableone。 步骤6:保存查询,输入查询文件名queryone.qpr,单击工具栏上的运行按钮后关闭查询设计器。 (2)【操作步骤】
步骤1:选择文件→新建→数据库→新建文件命令,输入数据库名为order m对文件进行保存。
步骤2:向新建的数据库中依次添加\和\两个表。
步骤3:新建一个视图,在\添加表或视图\对话框中添加\表和\表到视图设计器中。
步骤4:在\字段\选项卡中选择职员号、姓名、订单号、签订日期、金额5个字段;切换到\筛选\选项卡,设置筛选条件为\组别=1\,切换到\排序依据\中选择字段\职员号\,在\排序选项\处选择\升序\,按\金额\降序排序。
步骤5:新建一个查询,在\添加表或视图\对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo,保存并运行该查询,文件名为默认。
在考生文件夹下完成下列操作: (1)创建一个名为tablethree的自由表,其结构如下:
姓名 C(6) 最高金额 N(6,2) 最低金额 N(6,2) 平均金额 N(6,2)
(2)设计一个用于查询统计的表单formtwo,其界面如下图所示。其中的表格名称为Grid1,\查询统计\按钮的名称为Command1,\退出\按钮的名称为Command2,文本框的名称为Text1。 当在文本框中输入某职员的姓名并单击\查询统计\按钮,会在左边的表格内显示该职员所签订单的金额,并将其中的最高金额、最低金额和平均金额存入表tablethree中。 单击\退出\按钮将关闭表单。
(3)运行上面创建的表单formtwo,然后依次查询统计\赵小青\和\吴伟军\两位职员所签订单的相关金额。执行完后,表tablethree中应该包含两条相应的记录。 (1)【操作步骤】
步骤1:单击常用工具栏中的\新建\按钮,系统弹出\新建\对话框,在\文件类型\中选择表,在弹出的对话框中选择\新建表\,并在弹出\创建\对话框中选定考生文件夹,输入表名 \后单击保存。
步骤2:在弹出的表设计器中按题目的要求依次输入各个字段的定义,单击\确定\按钮,保存表结构(不用输入记录)。
(2)【操作步骤】
步骤1:单击常用工具栏中的\新建按钮\,系统弹出\新建\对话框,在\文件类型\中选择\表单\,在弹出的对话框中选择\新建文件\。
步骤2:在表单中按题目的要求添加标签、文本框、命令按钮和表格控件,并进行适当的布局和大小调整。 步骤3:根据题目要求设置各标签、文本框、命令按钮以及表格的属性值。
步骤4:编写\查询统计\按钮的Click事件代码。
*************************
ThisForm.Grid1.RecordSource=\select order.订单号,order.金额; from order inner join employee on order.职员号=employee.职员号; where employee.姓名=alltrim(ThisForm.Text1.Value)\SELECT Employee.姓名, max(Order.金额) as 最高金额, min(Order.金额) as 最低金额, avg(Order.金额) as 平均金额;
FROM employee,order ;
WHERE Employee.职员号 = Order.职员号; AND employee.姓名=alltrim(ThisForm.Text1.Value); GROUP BY Employee.职员号; INTO cursor temp
INSERT INTO tablethree(姓名,最高金额,最低金额,平均金额) Values(temp.姓名,temp.最高金额,temp.最低金额,temp.平均金额) *************************
编写\退出\按钮的Click事件代码如下。
ThisForm.Release
步骤5:以formtwo.scx为文件名保存表单并运行,然后关闭表单设计器窗口。
(3)【操作步骤】
运行表单formtwo,依次查询统计\赵小青\和\吴伟军\两位职员所签订单的相关金额,即在\请输入姓名\下的文本框中分别输入题目要求的姓名,并单击\查询统计\按钮。将记录保存在表tablethree中。
◆◆◆◆◆◆宏图教育◆◆◆◆◆ 打开考生文件夹下的DB数据库,完成如下基本操作:
1.为表TABB增加一个字段,字段名为\日期\,数据类型为日期型。 2.使用SQL Update语句将表TABB中所有记录的\日期\字段的值修改为2005-10-01,并将SQL语句存储到名为TWO.PRG的文件中。
3.用SQL语句将表TABA中的记录复制到另外一个与它结构相同的表TABC中,并消除其中的重复记录,并且对于重复多次的记录,只复制一条记录的数据。最后将SQL的SELECT语句存储到名为THREE.PRG的文件中。
4.使用报表向导建立一个简单报表。要求选择TABA中的所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为\列\,方向为\横向\;排序字段为No,升序;报表标题为\计算结果一览表\;报表文件名为P_ONE。 【操作步骤】
(1)打开考生文件夹下的DB数据库,在数据库设计器中右键单击TABB表,在弹出的快捷菜单中选择\修改\项,在表设计器窗口中为表添加字段\日期\,类型为日期型。
(2)新建一个程序two,在其中输入\tabb SET 日期={^2005/10/01}\,最后保存并运行程序。
(3)新建一个程序three,在其中输入如下命令。
SELECT DISTINCT *; FROM taba;
INTO TABLE tabc.dbf 最后保存并运行程序。
(4)通过报表向导建立报表,在\字段选取\对话框中选中\表,并将其中的所有字段添加到\选定字段\框中;在\分组依据\对话框中直接单击\下一步\按钮;在\选择报表样式\对话框中选择随意式;在\定义报表布局\对话框中选择\列数\为1,选中\字段布局\列中的\列\,选中\方向\列中的\横向\,然后单击\下一步\按钮;在\排序记录\对话框中选中\升序\,并将\字段添加到选定字段框中。 打开考生文件夹下的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.打开考生文件夹下的SPORT数据库,并永久删除该数据库中的temp表,然后将\金牌榜\、\获奖牌情况\和\国家\个自由表加入该数据库。
2.为表\金牌榜\建立一个普通索引,索引名和索引表达式均为\金牌数\。 RowSource属性中使用SQL的SELECT...INTO CURSOR LS语句根据\国家\表中\国家名称\字段的内容在列表框中显示\国家名称\注意:不要使用命令指定这两个属性)。
(2)编写\生成表\命令按钮的Click事件代码。程序的功能是根据表单运行菜单项的名称分别为\日元\、\欧元\和\美元\。
步骤3:为\退出\菜单项创建过程,输入\。
步骤4:保存菜单并生成可执行程序,最后运行菜单,查看运行结果。 设计一个表单名和文件名均为myrate表单。
请按要求完成表单的设计,表单设计完成后,运行该表单,并单击\查询\按钮进行查询。 (1)【操作步骤】
新建程序four,并输入以下命令: CLOS ALL USE TABA SCAN
IF A<>0 AND (B*B-4]PL x1 WITH (-B+SQRT(B*B-4] ELSE
REPL NOTE WITH \无实数解\ENDIF ENDSCAN
最后保存运行程序。 (2)【操作步骤】
步骤1:打开表单\。
步骤2:按Shift的同时选中\查询\和\退出\两个按钮,然后在属性窗口设定它们的Height属性为30,Width属性为80,在系统菜单中选择\显示\→\对齐\→\顶端对齐\。
步骤3:在\查询\按钮的Click事件中输入下列代码。 SELECT *; FROM taba;
WHERE Taba.note = \无实数解\; INTO TABLE tabd.dbf
步骤4:在属性退出\命令\按钮的Click事件中输入\。保存并运行表单。
打开考生文件夹下的SDB数据库,完成如下综合应用:
创建一个标题名为\查询\、文件名为testb的表单,如下图所示。 表单要求如下:
(1)为表单建立数据环境,并向数据环境中添加\学生表\。
(2)表单启动后自动居中。
(3)向该表单中添加一个标签、一个文本框、一个表格和两个命令按钮。 ① 标签对象(Label1)的标题文本为\学生注册日期\,文本框(Text1)用于输入学生注册日期,表格(Grid1)用于显示结果。
② 命令按钮的功能如下: a.\查询\按钮(Command1)的功能是在该按钮的Click事件中使用SQL的SELECT命令从\学生表\中查询学生注册日期等于文本框中指定的注册日期的学生的学号、姓名、年龄、性别、班级和注册日期,查询结果按年龄降序排序,并将查询结果在表格控件中显示,同时将查询结果存储到表TABE中。
注意:查询结果存储到表TABE之前,应将表TABE中的记录清空。TABE表是已经建立好的表,它与学生表的结构不完全一样,多两个字段。 b.\退出\按钮(Command2)的功能是关闭并释放表单。
注意:需将表格控件的RecordSourceType属性值设置为\-SQL说明\;
表单设计完成后,运行该表单,查询注册日期等于2005年9月2日的学生信息。
【操作步骤】
步骤1:打开数据库,在命令窗口输入\,新建一个表单。按题目要求添加控件并修改各控件的属性。
步骤2:为表单添加数据环境\学生表\。 步骤3:输入查询按钮的Click事件代码。 ThisForm.GRID1.RECORDSOURCE=\学生表;
WHERE date(学生表.注册日期) = ThisForm.Text1.Value;
ORDER BY 学生表.注册日期 DESC; INTO TABLE temp.dbf\USE TABE DELE ALL PACK
APPEND FROM TEMP
步骤4:输入退出按钮的Click事件代码\。
步骤5:保存并按要求运行表单。
3.通过SQL语句为表\金牌榜\增加一个\奖牌总数\整数型)字段,并为该字段设置有效性规则:奖牌总数>=0。最后将该SQL语句存储在文件one.prg中。
4.使用SQL语句更改表\金牌榜\中所有记录的\奖牌总数\字段值,该值应为\金牌数\、\银牌数\、\铜牌数\项之和。请将该SQL语句存储在文件two.prg中。 【操作步骤】
(1)打开考生文件夹下的sport数据库,右键单击表temp选择删除,在弹出的对话框中选择删除。再添加表\金牌榜\、\获奖牌情况\和\国家\到sport数据库中。
(2)在数据库设计器中,右键单击表\金牌榜\选择修改和添加普通索引。 (3)新建一个程序one.prg,为其编写如下代码并运行。
ALTER TABLE 金牌榜 ADD 奖牌总数 INT CHECK 奖牌总数>=0
(4)新建一个程序two.prg,为其编写如下代码并运行。
UPDATE 金牌榜 SET 奖牌总数=金牌数+银牌数+铜牌数
在考生文件夹下完成如下简单应用: 1.通过一对多表单向导新建一个名为sport_form的表单。要求:把\国家\作为父表并选择\国家名称\字段作为显示字段,\获奖牌情况\为子表并选择\项目名称\和\名次\字段作为显示字段,通过\国家代码\字段建立两表之间的关系,表单样式为\阴影式\,按钮类型为\图片按钮\,按\国家名称\升序排列,表单标题为\奥运会获奖情况\。
2.在SPORT数据库中使用视图设计器建立一个名为sport_view的视图,该视图根据\国家\和\获奖牌情况\两个表统计每个国家获得的金牌数(\名次\为1表示获得一块金牌),视图中包括\国家名称\和\金牌数\两个字段,视图中的记录先按\金牌数\降序排列,金牌数相同的再按国家名称降序排列。
(1)【操作步骤】
步骤1:通过一对多表单向导新建一个表单。 步骤2:在\从父表中选定字段\对话框中,将\国家\表中的\国家名称\字段添加到\选定字段\框中。
步骤3:在\从父表中选定字段\对话框中,将\获奖牌情况\表中的\名次\字段添加到\选定字段\框中。
步骤4:在\建立表之间的关系\对话框中,直接单击\下一步\按钮。
步骤5:在\选择表单样式\对话框中,选中\样式\列表框中的\阴影式\项,选中\按钮类型\列表中的\图片按钮\单选按钮,单击\下一步\按钮。 步骤6:在\排序次序\对话框中,按\国家名称\升序排序记录。
步骤7:完成表单设计,输入表单标题为\奥运会获奖情况\,表单文件名为\。 (2)【操作步骤】
步骤1:打开考生文件夹下的数据库sport,新建一个视图并将\国家\和\获奖牌情况\两个表添加到新建的视图中。
步骤2:在字段选项卡中,添加字段\国家名称\到选定字段中,并添加一个表达式:count(获奖牌情况.名次=1) as 金牌数,将表达式添加到选定字段中。
步骤3:在排序选项卡中,选择降序,并添加字段\金牌数\和\国家名称\到排序条件列表框中。
步骤4: 在分组依据选项卡中添加字段\国家名称\到分组等段列表框中。 步骤5:保存视图名为sport view并运行视图。
在考生文件夹下有一个名为myform的表单,表单中包含一个列表框和两个命令按钮。
请在该表单中完成如下操作:
(1)打开表单,设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。RowSourceType属性设置为3,在
时列表框中所选定的国家名称,将\获奖牌情况\表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含\运动员名称\,\项目名称\和\名次\个字段,并将结果按\名次\升序排列。
提示:假设从列表框中选择的国家名称存放在变量gm中,那么在SQL SELECT语句中使用短语into table &gm就可以将选择的记录存入以该国家名命名的自由表中。
(3)运行表单,分别生成存有\中国\、\日本\、\美国\、\俄罗斯\个国家获奖情况的4个自由表。 【操作步骤】
步骤1:打开表单myform,添加数据环境\国家\表和\获奖牌情况\表。 步骤2:修改列表框的属性。
步骤3:在生成表命令按钮的Click事件中编写如下命令语句。
*****\生成表\按钮的Click事件代码*****
SELECT 运动员名称,项目名称,名次; FROM 获奖牌情况,国家;
WHERE 国家.国家代码=获奖牌情况.国家代码; AND 国家名称=ThisForm.List1.list(ThisForm.List1.listindex); INTO TABLE ThisForm.List1.list(ThisForm.List1.listindex) ; order by 名次
*************************
步骤4:保存并按要求运行表单。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下新建一个名为\外汇数据\的数据库。
2.将自由表rate_exchange和currency_sl添加到数据库中。
3.通过\外币代码\字段为rate_exchange和currency_sl两个表建立永久联系(如有必要请建立相关索引)。
4.打开表单文件test_form,该表单的界面如下图所示,请将标签\用户名\和\口令\的字体都改为\黑体\。 【操作步骤】
(1)在命令窗口输入\外汇数据\并按回车。
(2)打开新建的数据库外汇数据,在数据库设计器的空白处单击右键,选择添加表,将题目要求的两个表添加到数据库中。
(3)在表设计器中分别为两个表建立主索引和普通索引,索引名和索引表达式均为\外币代码\,并建立两表之间的联系。
(4)打开表单文件text form,在属性窗口中设置两个标签控件的\用户名\和\口令\的\属性为\黑体\。
在考生文件夹下完成如下简单应用: 1.程序文件rate_pro的功能是计算出\林诗因\所持有的全部外币相当于人民币的数量,summ中存放的是结果。注意:某种外币相当于人民币数量的计算公式:人民币数量=该种外币的\现钞买入价\该种外币的\持有数量\。请在指定位置修改程序语句,不得增加或删除程序行,并保存所做的修改。
2.建立一个名为menu_rate的菜单,菜单中有两个菜单项\查询\和\退出\。\查询\项中还有一个子菜单,子菜单有\日元\、\欧元\和\美元\个选项。在\退出\菜单项下创建过程,该过程用于返回系统菜单。 (1)【操作步骤】
步骤1:打开程序rate pro。修改程序如下: 第1处错误改为:locate for姓名=\林诗因\
第2处错误改为:do while not eof() 第3处错误改为:summ=summ+a[1] * currency sl.持有数量 步骤2:保存并运行程序。 (2)【操作步骤】
步骤1:新建一个菜单,输入菜单项\查询\和\退出\。
步骤2:为\查询\菜单建立子菜单,子
的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为\外汇持有情况\。表单中有一个选项组控件(名为myOption)和两个命令按钮\统计\和\退出\和Command2)。其中,选项组控件有3个按钮\日元\、\美元\和\欧元\。 运行表单时,首先在选项组控件中选择\日元\、\美元\或\欧元\,单击\统计\命令按钮后,根据选项组控件的选择将持有相应外币的人的姓名和持有数量分别存入表rate_ry(日元)或表rate_my(美元)或表rate_oy(欧元)中。
单击\退出\按钮关闭表单。
表单建成后,要求运行表单,并分别统计\日元\、\美元\和\欧元\的持有数量。
【操作步骤】
步骤1:新建一个名为myrate的表单,按照题目的要求为表单添加一个选项组控件两个命令按钮控件,并设置各控件的属性如下(注意:在修改选项组控件中各选项按钮的属性时,要先右键单击选项组控件,选择\编辑\命令,先后单击选中各选项按钮)。
保存表单名为myform,运行查看表单的运行结果。 步骤2:双击\统计\按钮,编写其Click事件代码如下。
*************************
If ThisForm.myOption.Value=1 Select 姓名,持有数量 from currency sl,rate exchange; where rate exchange.外币代码=currency sl.外币代码.and.; rate exchange.外币名称=\日元\; into table rate ry else
If ThisForm.myOption.Value=2 Select 姓名,持有数量 from currency sl,rate exchange; where rate exchange.外币代码=currency sl.外币代码.and.; rate exchange.外币名称=\美元\; into table rate my else
Select 姓名,持有数量 from currency sl,rate exchange; where rate exchange.外币代码=currency sl.外币代码.and.;
rate exchange.外币名称=\欧元\; into table rate oy endif endif
************************* 步骤3:双击\退出\按钮,编写其Click事件代码如下: ThisForm.Release
步骤3:运行表单,查看结果。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下完成如下操作: 1.my_menu菜单中的\文件\菜单项下有子菜单项\新建\、\打开\、\关闭\和\退出\,请在\关闭\和\退出\之间添加一条水平的分组线,并为\退出\菜单项编写一条返回到系统菜单的命令(不可以使用过程)。
2.创建一个快速报表sport_report,报表中包含了\金牌榜\表中的\国家代码\和\金牌数\两个字段。
3.使用SQL建立表的语句建立一个与自由表\金牌榜\结构完全一样的自由表golden。并将该SQL语句存储在文件one.prg中。
4.使用SQL语句向自由表golden中添加一条记录(\,9,7,11)。并将该SQL语句存储在文件two.prg中。 【操作步骤】
(1)单击常用工具栏中的\打开\按钮,打开菜单mymenu,在菜单设计器中单击\文件\菜单项后的\编辑\按钮,选出\退出\菜单项并单击右侧的\插入\接钮,在\关闭\和\退出\之间插入一行,在\菜单名称\处输入\-\。最后将\退出\项的结果设置为\命令\,并输入:SET SYSMENU TO DEFAULT。 (2)新建一个空白报表,在报表设计器窗口中选择\报表\菜单下的\快速报表\命令,选中考生文件夹下的\金牌榜\表,即可打开\快速报表\对话框,
单击对话框中的\字段\按钮,将\国家代码\和\金牌数\两个字段添加到\待定字段\中。单击\确定\按钮回到报表设计器窗口,保存报表名为\report\,预览以查看报表设计结果。 (3)新建一个程序文件,为其编写如下的命令语句。 USE 金牌数
COPY STRU TO GOLDEN
保存程序名为\,最后运行该程序文件。
(4)在命令输入命令\into golden Value(\,9,7,11)\并按回车键,并将此命令存储到新建的two.prg文件中。
在考生文件夹完成如下简单应用: 1.使用SQL语句完成下面的操作:根据\国家\和\获奖牌情况\两个表统计每个国家获得的金牌数(\名次\为1表示获得一块金牌),结果包括\国家名称\和\金牌数\两个字段,并且先按\金牌数\降序排列,若\金牌数\相同再行。
步骤3:单击项目管理器中的\文档\选项卡,展开\表单\前面的\+\,选中表单\并单击右侧的\修改\按钮,在表单sport form \生成表\命令按钮的Click事件代码中输入下列命令。 DO Four.prg
步骤4:选中项目sport project中\文档\选项卡下的\报表\,单击添加命令可将快速报表sport report添加到项目中。然后在表单sport form \浏览报表\命令按钮的Click事件代码中输入命令。
REPORT FORM SPORT REPORT.FRX PREVIEW
步骤5:在项目管理器中选中文档选项卡,按要求添加自由表,然后单击连编按钮,生成连编应用程序,应用程序文件名保存为sport app.app。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下有customers(客户)、FROM customers;
WHERE Customers.出生日期 >= x; ORDER BY Customers.出生日期 DESC; INTO TABLE tableone.dbf
************************* 步骤3:保存并运行表单,查看表单的运行结果。 (2)步骤1:打开考生文件夹下的\订单管理\数据库,在数据库设计器中右键单击数据库的空白处,选择\添加表\命令,将orderitems表添加到数据库中。 步骤2:新建一个视图,将orderitems表添加到视图设计器中;在字段选项卡中,将字段\商品号\和表达式\数量) AS 订购总量\添加到\选定字段\列表框中;在排序依据选项卡中,选择按商品号升序排序记录。
步骤3:将视图保存为\。 步骤4:新建一个查询文件,将新建的\视图添加到新建的查询中,【操作步骤】
(1)在命令窗口输入\学生管理\新建一个名为\学生管理\的项目。
(2)打开新建的项目文件\学生管理\,单击\数据\选项卡,选中其中的\数据库\项,单击右侧的\添加\按钮,将考生文件夹下的\学生\数据库添加到项目中。
(3)在项目管理器中打开\学生\数据库,在其数据库设计器中右键单击\教师\表,选择\删除\命令,在弹出的对话框中单击\移去\按钮。
(4)在数据库设计器中右键单击\学生\表并选择\修改\,在表设计器的字段选项卡中选中\学号\,单击索引项中的\升序\索引,单击\索引\选项卡,修改索引的类型为\主索引\。以同样的方式为\选课\表建立\普通索引\。按下\学生\表中的\学号\索引项,拖动鼠标至\选课\表的\学号\索引项上并松开鼠标,这样就建立了两表的永按\国家名称\降序排列,然后将结果存储到表temp中。最后将该SQL语句存储在文件three.prg中。
2.建立一个文件名和控件名均为myform的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个\退出\命令按钮(Command1),这3个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为\奖牌查询\,列表框的数据源使用SQL语句根据\国家\表显示国家名称,选项组中有3个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 (1)【操作步骤】
新建程序three,然后输入以下命令语句。
****\中的命令语句** SELECT 国家.国家名称, COUNT(获奖牌情况.名次) AS 金牌数; FROM 国家,获奖牌情况 ;
WHERE 国家.国家代码 = 获奖牌情况.国家代码;
AND 获奖牌情况.名次=1; GROUP BY 国家.国家名称;
ORDER BY 2 DESC, 国家.国家名称 DESC;
INTO TABLE temp.dbf
************************* 保存并运行程序。 (2)【操作步骤】
新建一个表单,按题目要求添加控件,并修改其属性如下。
保存表单名为\,运行以查看表单的设计结果。
打开考生文件夹下的sport_project项目,项目中有一个名为sport_form的表单文件,表单中包括3个命令按钮。
请完成如下操作:
(1)编写并运行程序Four.prg。程序功能是:根据\国家\和\获奖牌情况\两个表统计并生成一个新表\假奖牌榜\,新表包括\国家名称\和\奖牌总数\两个字段,要求先按奖牌总数降序排列(注意\获奖牌情况\的每条记录表示一枚奖牌),若奖牌总数相同再按\国家名称\升序排列。
(2)为sport_form表单中的\生成表\命令按钮编写一条Click事件代码命令,执行Four.prg程序。
(3)将在基本操作中建立的快速报表sport_report加入项目文件,并为表单sport_form中的命令按钮\浏览报表\编写一条命令,预览快速报表sport_report。
(4)将自由表\国家\和\获奖牌情况\加入项目文件中,然后将项目文件连编成应用程序文件sport_app.app。 【操作步骤】
步骤1:打开项目可使用\文件\菜单下的\打开\命令来完成,也可用\PROJECT sport project\命令来打开。 步骤2:新建一个程序,在程序文件中输入下列命令。
*************************
SELECT 国家.国家名称,COUNT(获奖牌情况.名次) AS 奖牌总数;
FROM 国家,获奖牌情况 WHERE 国家.国家代码=获奖牌情况.国家代码;
GROUP BY 国家.国家名称;
ORDER BY 2 DESC,国家.国家名称; INTO TABLE 假奖牌榜.dbf *************************
以Four.prg为文件名保存程序并运
orders(订单)、orderitems(订单项)和goods(商品)4个表。
1.创建一个名为\订单管理\的数据库,并将考生文件夹下的customers表添加到该数据库中。
2.利用表设计器为customers表建立一个普通索引,索引名为bd,表达式为\出生日期\。
3.在表设计器中为customers表的\性别\字段设置有效性规则,规则表达式为:性别$\男女\,出错提示信息是:\性别必须是男或女\。 4.利用INDEX命令为customers表建立一个普通索引,索引名为khh,表达式为\客户号\,索引存放在customers.cdx中。然后将该INDEX命令存入命令文件pone.prg中。 【操作步骤】
(1)新建并打开数据库\订单管理\,在数据库设计器的空白处单击鼠标右键,选择\添加表\命令,将考生文件夹下的表\添加到新建的数据库中。
(2)在数据库设计器中右键单击表\,选择\修改\命令,在弹出的表设计器中单击\索引\选项卡,输入索引名\,选择类型为\普通索引\,输入表达式\出生日期\,最后单击\确定\按钮,保存对表的修改。 (3)以同样方式打开customers表设计器,选中字段\性别\,在规则文本框中输入:性别﹩\男女\,在信息文本框中输入:\性别必须是男或女\。 (4)新建一个程序,编写下列命令语句。Use customers
index on 客户号 tag khh 保存程序名为pone.prg,并运行程序。 1.在考生文件夹下创建一个名为formone的表单文件,其中包含一个标签(Label1)、一个文本框(Text1)和一个命令按钮(Command1),然后按要求完成相应操作。
(1)如上图所示设置表单、标签和命令按钮的Caption属性。
(2)设置文本框的Value属性值为表达式\。
(3)编写\查询\按钮的Click事件代码,使得表单运行时,单击该按钮完成如下查询功能:从customers表中查询指定日期以后出生的客户,查询结果依次包含姓名、性别、出生日期3项内容,各记录按出生日期降序排列,查询去向为表tableone。运行该表单,查询1980年1月1日以后出生的客户。 2.向名为\订单管理\的数据库(在基本操作题中建立)添加orderitems表。在数据库中创建视图viewone:利用该视图可以从orderitems表中查询各商品的订购总量,查询结果依次包含商品号和订购总量两项内容,即所有订单对该商品的订购数量之和,各记录按商品号升序排列。最后利用该视图查询视图中的全部信息,并将查询结果存放在表tabletwo中。 【操作步骤】
(1)步骤1:在命令窗口输入\form formone\,新建一个表单,按题目要求添加控件并修改控件的属性,将customers表添加到数据环境中。 步骤2:然后将Text1的Value属性设置为\=date()\,编写\查询\按钮的Click事件代码如下。
***\查询\按钮的Click事件代码***x = ThisForm.Text1.Value SELECT Customers.姓名, Customers.性别, Customers.出生日期;
选择其中的全部字段,设置查询去向为表\,保存并运行查询,查询文件名默认。
在考生文件夹下创建一个名为myform的顶层表单,表单的标题为\考试\,然后在表单中添加菜单,菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr。
(1)\计算\和\退出\菜单命令的功能都通过执行\过程\完成。
(2)\计算\菜单命令的功能是根据orderitems表和goods表中的相关数据计算各订单的总金额,其中一个订单的总金额等于它所包含的各商品的金额之和,每种商品的金额等于数量乘以单价。并将计算的结果填入orders表的相应字段中。
(3)\退出\菜单命令的功能是关闭并释放表单。
运行表单并依次执行其中的\计算\和\退出\菜单命令。 【操作步骤】
步骤1:新建一个表单,修改表单的Caption为\考试\,ShowWindow属性为\-作为顶层表单\。 步骤2:双击表单空白处,编写表单的Init。 DO mymenu.mpr WITH THIS,\步骤3:新建一个菜单,选择\显示\菜单下的\常规选项\命令,在弹出的\常规选项\对话框中勾选\顶层表单\。 步骤4:输入菜单项\计算\和\退出\,结果均选择\过程\,然后单击两个菜单项后面的\创建\按钮,分别编写如下代码。
***\计算\菜单项中的命令代码*** SELECT Orderitems.订单号, sum(orderitems.数量*goods.单价) as 总金额;
FROM orderitems,goods ;
WHERE Orderitems.商品号 = Goods.商品号;
GROUP BY Orderitems.订单号; ORDER BY Orderitems.订单号; INTO TABLE temp.dbf CLOSE ALL SELE 1 USE temp
INDEX ON 订单号 TO ddh1 SELE 2 USE orders
INDEX ON 订单号 TO ddh2
SET RELATION TO 订单号 INTO A DO WHILE .NOT.EOF()
REPLACE 总金额 WITH temp.总金额 SKIP ENDDO BROW
************************* ***\退出\菜单项中的命令代码** myform.Release
************************* 步骤5:保存菜单名为\并生成可执行文件。
步骤6:保存表单名为\并运行。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下新建一个名为\学生管理\的项目。
2.将\学生\数据库加入到新建的项目中。
3.将\教师\表从\学生\数据库中移出,使其成为自由表。
4.通过\学号\字段为\学生\和\选课\表建立永久联系(如有必要请先建立相关索引)。
久性联系。
在考生文件夹下完成如下简单应用:
1.用SQL语句对自由表\教师\完成下列操作:将职称为\教授\的教师新工资一项设置为原工资的120%,其他教师的新工资与原工资相同;插入一条新记录,该教师的信息为:姓名\林红\,职称\讲师\,原工资10000,新工资10200,同时将使用的SQL语句存储于新建的文本文件teacher.txt中(两条更新语句,一条插入语句,按顺序每条语句占一行)。
2.使用查询设计器建立一个查询文件stud,查询要求:选修了\英语\并且成绩大于等于70的学生的姓名和年龄,查询结果按年龄升序存放于stud_temp表中。(完成后要运行查询) (1)【操作步骤】 步骤1:在命令窗口依次输入下列命令并按回车。
update 教师 set 新工资=原工资*1.2 where 职称=\教授\
update 教师 set 新工资=原工资 where !(职称=\教授\
inse into 教师 Values(\林红\,\讲师\,10000,12000) 步骤2:使用\新建\工具创建一个文本文件teacher.txt,把上面三行代码复制到新建的文本文件中并保存。 (2)【操作步骤】
步骤1:单击常用工具栏中的\新建\按钮,新建一个查询文件,同时打开查询设计器。
步骤2:将考生文件夹下的\选课\、\课程\和\学生\个表添加到查询设计器中,且\选课\表一定要先添加,才能有效建立3个表之间的关联。 步骤3:在\字段\选项卡中,将姓名和年龄两个字段添加到\选定字段\列表框中。 步骤4:在\筛选\选项卡中设置筛选条件为\课程.课程名称 = \英语\选课.成绩 >= 70\。
步骤5:在\排序依据\选项卡中,设置按\年龄\升序排列。
步骤6:选择\查询\菜单下的\查询去向\命令,在\查询去向\对话框中选中\表\,在表名文本框中输入\temp\。
步骤7:保存查询文件名为\,并运行查询。
设计一个名为mystu的表单(文件名为mystu,表单名为form1),表单标题为\计算机系学生选课情况\,所有控件的属性必须在表单设计器的属性窗口中设置。表单中有一个表格控件(名称为Grid1,该控件的RecordSourceType属性设置为4-SQL说明)和两个命令按钮\查询\和\退出\。 运行表单时,单击\查询\命令按钮后,表格控件中显示6系(系字段值等于字符6)的所有学生的姓名、选修的课程名和成绩。
单击\退出\按钮关闭表单。 注意:完成表单设计后要运行表单的所有功能。 【操作步骤】
步骤1:新建一个空白表单,文件名为mystu。
步骤2:通过表单控件工具栏,添加一个表格控件和两个命令按钮控件到表单中。 步骤3:在属性窗口中设置各控件的属性并将表\学生\、\课程\和\选课