VF上机题库110(5)

2019-08-03 10:50

将所使用到的SQL语句保存到mysql中。

2.在考生文件夹下有一个数据库team,其中有数据库表score。使用报表向导制作一个名为myreport的报表。要求选择表中的全部字段。报表样式为\随意式\,报表布局:列数\,方向为\横向\,排序字段为\积分\,(降序)积分相同时按胜场次排序(降序),报表标题设置为\积分榜\。 (1)【操作步骤】

步骤1:在命令窗口中输入代码:MODIFY FILE teamsql,打开文本编辑器,在编辑器中输入如下程序断。 ******teamsql文件中的程序段*****************

SELECT team.球队名称,team.拼音缩写,score.胜,score.积分; FROM team INNER JOIN score;

ON team.球队名称=score.球队名称; WHERE team.省份=\山东\INTO TABLE mytable

******************************* 步骤2:在命令窗口输入命令:DO teamsql.txt,执行程序。 (2)【操作步骤】

步骤1:单击\文件\菜单,选择\新建\命令,接着选中\报表\,单击右面的\向导\按钮,在弹出的对话框里选择\报表向导\。

步骤2:单击\数据库和表\右下面的按钮,双击考生文件夹下的表\将全部字段添加到选定字段,单击\下一步\。

步骤3:不需要操作,单击\下一步\。 步骤4:选择报表样式为\随意式\,单击\下一步\。

步骤5:将列数修改为1,方向改为\横向\,单击\下一步\。

步骤6:将\积分\添加到选定字段,再选择字段\胜\,均为\降序\,单击\下一步\。

步骤7:报表标题修改为\积分榜\,单击\完成\。

步骤8:修改报表名为:\,保存在考生文件夹下。

对考生文件夹下的数据库\图书馆管理\中的表完成如下操作:

为表借阅清单增加一个字段\姓名\,字段类型为\字符型\,宽度为8。 编写程序myprog完成以下两小题: (1)填写表借阅清单的新字段值。 (2)查询表借阅清单中\年5月05日\的借书记录,并将查询结果输入表newtable中。 运行该程序。 【操作步骤】 步骤1:输入命令:MODIFY DATABASE 图书馆管理,打开数据库设计器。 步骤2:在表\借阅清单\上单击右键,选择\修改\项。在\字段\选项卡页,在\日期\字段下输入新字段名\姓名\,类型为\字符型\,长度为\。单击\确定\,然后选\是\。

步骤3:输入命令:MODIFY COMMAND myprog,新建一个程序,在程序编辑窗口输入:

*********************** SET TALK OFF

SELECT 借书证号,姓名 FROM 学生信息 INTO CURSOR temp

&&取出借书证号、姓名临时放在temp中

***********************

DO WHILE NOT EOF() &&循环至借阅清单结束

UPDATE 借阅清单 SET 借阅清单.姓名=temp.姓名;

WHERE 借阅清单.借书证号=temp.借书证号 &&更新借阅清单表 SKIP &&下一记录 ENDDO

*********************** SELECT * FROM 借阅清单;

WHERE 日期={^2005-05-05} INTO TABLE newtable

&&选择日期为2005.05.05的记录放入表newtable SET TALK ON

*********************** 步骤4:单击菜单\文件\,选择\保存\,然后单击菜单\程序\,选择\运行\,运行该程序。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.将考生文件夹下的自由表\书籍\添加到数据库\图书馆管理\中。

2.为数据库\图书馆管理\中的表\借书证\建立主索引,索引名称为jshzh,

索引表达式为\借书证号\。

3.为数据库中的表\书籍\建立普通索引,索引名称为\编号\,索引表达式为\图书编号\。

4.设置表\书籍\的\作者\字段可以为空值。

【操作步骤】

(1)在命令窗口中输入:MODIFY DATABASE 图书馆管理,在数据库设计器上右键单击,选择\添加表\命令,将考生文件夹下的自由表\书籍\添加到数据库中。

(2)右键单击表\借书证\,选择\修改\项,在表设计器中,单击\索引\选项卡,在第一行输入索引名jshzh,选择类型为\主索引\,输入索引表达式\借书证号\,单击\确定\按钮,保存表结构修改。

(3)右键单击表\书籍\,选择\修改\项,在表设计器中,单击\索引\选项卡,在第一行输入索引名\编号\,选择类型为\普通索引\,输入索引表达式\图书编号\。

(4)接(3),在\书籍\表设计器中,单击\字段\选项卡,选中\作者\字段,勾选同一行的\无标题按钮,单击\确定\,保存表结构修改。 1.使用\Command\命令建立程序\程序l\,查询数据库\学生管理\中选修了2门以上课程的学生的全部信息,并按\学号\升序排序,将结果存放于表mytable中。

2.使用\一对多报表向导\建立报表\学生成绩\。要求:父表为\学生\,子表为\成绩\。从父表中选择字段\学号\和\姓名\。从子表中选择字段\课程号\和\成绩\,两个表通过\学号\建立联系,报表样式选择\帐务式\,方向为\横向\,按\学号\升序排序。报表标题为\学生成绩浏览\。 (1)【操作步骤】

步骤1:在命令窗口中输入命令:MODIFY COMMAND 程序1。打开程序编辑窗口,输入如下程序段:

****文件\程序1\中的程序段****************** SET TALK OFF

SELECT 学生.学号,COUNT(成绩.学号) AS 门数;

FROM 成绩 INNER JOIN 学生; ON 成绩.学号=学生.学号;

GROUP BY 成绩.学号 INTO CURSOR temp

SELECT 学生.*;

ROM temp INNER JOIN 学生; ON temp.学号=学生.学号; WHERE temp.门数>=2; ORDER BY 学生.学号; INTO TABLE mytable SET TALK ON

******************************** 步骤2:在命令窗口输入命令:DO 程序1,执行程序。(在命令窗口输入BROWSE命令可直接查看运行结果) (2)【操作步骤】 步骤1:单击\文件\菜单,选择\新建\,选中\报表\,点击右面的\向导\图标按钮,在弹出的对话框里选择\一对多报表向导\,单击\确定\进入报表向导。

步骤2:单击\数据库和表\右下面的按钮,双击考生文件夹下的表\学生\,然后将\学号\和\姓名\字段添加到\选定字段\,单击\下一步\。

步骤3:将表\成绩\的\课程号\和\成绩\添加到\选定字段\,单击\下一步\。

步骤4:接受默认的学生.学号=成绩.学号,单击\下一步\。

步骤5:选择\学号\为排序字段,排序方式为\升序\,单击\下一步\。 步骤6:选择报表样式为\帐务式\,方向为\横向\,单击\下一步\。

步骤7:修改报表标题为\学生成绩浏览\,单击\完成\。

步骤8:输入报表名\学生成绩\,保存在考生文件夹下完成。

在考生文件夹下,对\采购管理\数据库完成如下综合应用:设计一个名称为myform的表单,表单上设计1个页框和1个选项按钮组。页框有\商品\、\员工\和\采购详单\个选项卡,选项按钮组内有3个按钮,标题分别为\商品\、\员工\和\采购详单\,分别放置数据库中对应的表。在表单的右下角有1个\退出\命令按钮。要求如下: (1)表单的标题名称为\采购信息浏览\。

(2)单击选项按钮组的某个按钮时,页框当前页为含有对应表的那一页。如单击\商品\按钮时,页框当前页为\商品\选项卡。

(3)单击\退出\命令按钮时,关闭表单。

【操作步骤】 步骤1:单击菜单\文件\,选择\新建\,在\新建\对话框中选中\表单\,单击右面的\新建文件\图标按钮,进入表单设计器。在表单上右击,选择\属性\,在弹出的对话框里找到Caption属性,并修改为\采购信息浏览\。 步骤2:在表单上单击右键,选择\数据环境\项,这时系统会弹出\选择表或视图\对话框,选中表\采购详单\,单击\添加\按钮,将该表加入数据环境;同样方法,将表\商品\、\员工\加入数据环境。

步骤3:单击表单控件工具条上的\页框\控件,然后在表单上单击,创建页框控件,并适当调整大小及位置。在该页框上右击,选择\属性\,修改其PageCount属性为3;在该页框上右击,选择\编辑\,然后在分页1上右击,选择\属性\,在属性对话框里找到Caption属性,并修改为\商品\同样,分别修改分页2、3的Caption属性为\员工\、\采购详单\。

步骤4:在\页框\控件的\编辑\状态下(即边框为绿色,右击控件,选择\编辑\即可),从数据环境中将\商品\拖入\商品\分页。

步骤5:同样方法,分别将表\员工\、\采购详单\加入分页\员工\、\采购详单\中。

步骤6:单击表单控件工具条上的\选项按钮组\控件,然后在表单上单击,添加一个选项按钮组控件;在该控件上右击,选择\属性\,修改其ButtonCount属性值为3,适当调整大小,以显示Option3。

步骤7:在该控件上右击,选择\编辑\在Option1单选按钮上右击,选择\属性\,在属性对话框里找到Caption属性,并修改为\商品\同样方法,修改Option2的Caption属性值为\员工\修改Option3的Caption属性值为\采购详单\。

步骤8:双击选项按钮组,在弹出的编辑框里选择Click事件,输入: ******选项按钮组的Click事件代码************ DO CASE

CASE THIS.VALUE=1 &&选择了第一项 THISFORM.pageframe1.ACTIVEPAGE=1 &&激活第一分页 CASE THIS.VALUE=2 THISFORM.pageframe1.ACTIVEPAGE=2 CASE THIS.VALUE=3 THISFORM.pageframe1.ACTIVEPAGE=3 ENDCASE

*************************** 步骤9:单击表单控件工具条上的\命令按钮\控件,然后在表单上单击,创建按钮。在该按钮上右击,选择\属性\,在属性对话框里找到Caption属性,并修改为\退出\。

步骤10:双击\退出\按钮,在其Click事件中输入:Thisform.Release。 步骤11:单击菜单\文件\,选择\保存\,输入表单名myform,运行表单。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.建立表\送货\和表\客商\联系之间的关联。(在\销售\数据库中完成) 2.为1题中建立的关联设置完整性约束,要求:更新规则为\级联\,删除规则为\忽略\,插入规则为\限制\。 3.将表\客商\的结构拷贝到新表cu中。

4.把表cu添加到项目my中。 【操作步骤】

(1)步骤1:在命令窗口中输入命令: MODIFY DATABASE 销售 &&回车,打开时数据库\销售\。

步骤2:在数据库设计器中,将\客商\表中\索引\下面的\客户号\主索引字段拖到\送货\表中\索引\下面的\客户\索引字段上,建立了两个表之间的永久性联系。

(2)在数据库设计器中,选择菜单命令\数据库\清理数据库\右键单击\送货\表和\客商\表之间的关系线,选择\编辑参照完整性\快捷菜单命令,在参照完整性生成器中,根据题意,分别在3个选项卡中设置参照规则。 (3)在命令窗口中输入命令:MODIFY COMMAND query1 &&回车,新建一个程

序。 在弹出的程序编辑窗口中输入以下代码:

********* query1代码********** USE 客商

COPY STRUCTURE TO cu ************************ 保存文件,在命令窗口输入命令: DO query1.PRG &&执行文件。 Use cu &&回车,打开表

Modify stru &&回车,打开表设计器 (4)在命令窗口中输入命令:MODIFY project my &&回车,打开项目管理器。 按照题目的要求,把表cu添加到项目my中。

1.程序1.prg中的SQL语句对商品表完成如下三个功能:

(1)查询\籍贯\为\北京\的表记录。 (2)将所有的人的\月薪\增加10%。 (3)删除\员工号\为\的商品的记录。

现在该语句中有3处错误,分别出现在第1行、第2行和第3行,请改正。 2.根据数据库仓库管理中的表\部门\和表\员工\建立一个查询,该查询包含的字段有\部门名称\、\姓名\和\员工号\。查询条件为\月薪\在2000元(含)以上。要求按\员工号\升序排序,并将查询保存为\查询l\。 (1)【操作步骤】

步骤1:输入命令:MODIFY COMMAND 程序1 &&回车

打开程序编辑窗口,将代码修改为如下代码:

********调试前的源程序********* SELECT * FROM 员工 ON 籍贯=\北京\UPDATE 员工 SET 月薪 WITH 月薪*1.1

DELETE FROM 员工 WHEN 员工号=\

***********************

********调试后的源程序******** SELECT * FROM 员工 WHERE 籍贯=\北京\

UPDATE 员工 SET 月薪=月薪*1.1 DELETE FROM 员工 WHERE 员工号=\

**********************

步骤2:保存程序修改并运行,命令窗口:do 程序1 &&回车,运行程序\程序1\。

(2)【操作步骤】

步骤1:在命令窗口输入命令:CREATE QUERY 查询1 &&回车

选中表\部门\单击\添加\按钮,将表\部门\加入查询,选中表\员工\单击\添加\按钮,将表\员工\加入查询,这时系统会弹出联接条件对话框,单击\确定\按钮。

步骤2:单击\关闭\关闭\添加表或视图\对话框。

步骤3:在查询设计器中,将\可用字段\列表框的\部门.部门名称\字段、\员工.员工号\字段、\员工.姓名\字段添加到\选定字段\列表框中。

步骤4:单击\筛选\选项卡,在\字段名\中选择\员工.月薪\条件\选择\接着输入\。

步骤5:单击\排序依据\选项卡,将\选定字段\列表框的\员工号\字段添加到\排序条件\列表框中,接受默认的\升序\。

步骤6:单击菜单\文件\保存\。运行查询。

在考生文件夹下完成如下综合应用: 设计一个表单名为Form_one、表单文件名为year_select、表单标题名为\部门年度数据查询\的表单。其他要求如下:

(1)为表单建立数据环境,向数据环境添加s_t表(Cursorl)。

(2)当在\年度\标签微调控件(Spimlerl)中选择年度并单击\查询\按钮(Commandl)时,则会在下边的表格(Gridl)控件内显示该年度各部门的四个季度的\销售额\和\利润\。指定微调控件上箭头按钮(SpinnerHighValue属性)与下箭头按钮(SpinnerLowValue属性)值范围为2010-1999,缺省值(Value属性)为2003,增量(Imcrement属性)为l。 (3)单击\退出\按钮(Command2)时,关闭表单。

要求:需要表格控件的RecordSourceType属性设置为\说明\。

【操作步骤】

步骤1:命令窗口输入命令:CREATE FORM YEAR &&回车

步骤2:在属性窗口中设置表单的Caption属性为\部门年度数据查询\,Name属性值改为Form_one,从\表单控件\工具栏中选择1个标签控件,1个微调控件,1个表格控件和2个命令按钮放置在表单上。

步骤3:在属性面板中分别设置两个命令按钮的Caption属性分别为\查询\和\关闭\标签控件的Caption属性值设置为\年度\表格的RecordSourceType属性值设置为\说明\。

步骤4:在属性面板中将微调控件的排序方式为\升序\,单击\下一步\步骤8:修改表单标题为\学生成绩浏览\,单击\完成\

步骤9:输入表单名scoreform,保存在考生文件夹下完成。 (2)【操作步骤】

步骤1:单击\文件\菜单,选择\新建\命令,接着选中\视图\,单击右面的\新建文件\。

步骤2:这时会弹出\添加表或视图\对话框,单击\添加\按钮,将表course加入视图,选中表score,单击\添加\按钮,这时会弹出\联接条件\对话框,步骤6:双击\退出\按钮,在其Click事件中输入代码:Thisform.Release。 步骤7:单击菜单\文件\,选择\保存\,输入表单名form1。运行表单。(在命令窗口输入BROWSE命令可直接看到排序结果)。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 对考生文件夹中的\学生\表使用SQL语句完成下列四道题目,并将SQL语句保存在my.txt中。

1.用SELECT语句查询所有住在3楼学生的全部信息。

2.用INSERT语句为\学生\表插入一条\经营式\在\方向\选项组中选择\横向\。

步骤7:单击\下一步\进入最后的\完成\设计界面,在\标题\文本框中输入\外币持有情况\为报表添加标题,单击\完成\命令按钮,在系统弹出的\另存为\对话框中,将报表以currency_report文件名保存在考生文件夹下,退出报表设计向导。 仓库管理数据库中含有3个数据库表\订购单\、\职工\和\供应商\。设计一个表单myf,表单的标题为\仓库管理\。表单左侧有标题为\请输入订购单Value属性值设置为\属性值为\属性值为\属性值为\。

步骤5:双击命令按钮\查询\编写该控件的Click事件,程序代码如下: **命令按钮Command1(查询)的Click事件代码**

Thisform.Grid1.RecordSource=\ECT *;

FROM PT; WHERE 年度=ALLTRIM(STR(Thisform.Spinner1.Value));

INTO CURSOR temp\**********************

步骤6:以同样的方法为\关闭\命令按钮编写Click事件代码:Thisform.Release。

步骤7:保存表单文件,运行表单。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下建立项目文件,文件名为\我的项目\。

2.在\我的项目\中建立数据库,文件名为\数据库1\。

3.建立自由表\成绩表\不要求输入数据),表结构为:

学号 字符型(5) 课程号 字符型(5) 成绩 数值型(5,2) 任课教师 字符型(10)

4.将考生文件夹下的自由表\成绩表\添加到数据库\数据库1\中。 【操作步骤】

(1)在命令窗口中输入命令:CREATE PROJECT 我的项目,新建一个项目。

(2)在项目管理器中单击\数据\选项卡,选择其中的\数据库\,单击右面的\添加\按钮,双击考生文件夹下的\数据库1\数据库。

(3)在项目管理器中单击\文档\选项卡,选择其中的\自由表\,单击右面的\新建\按钮,按照题目的要求新建一个自由表,并命名为\成绩表\。 (4)在项目管理器中单击\数据\选项卡,选择\数据库\中的\表\,并单击右面的\添加\按钮,在打开的对话框中选择\成绩表\,最后单击\确定\按钮。

1.在考生文件夹下,有一个数据库school,其中有数据库表student、score和course。在表单向导中选取\一对多表单向导\创建一个表单。要求:从父表student中选取字段\学号\和\姓名\,从子表score中选取字段\课程号\和\成绩\,表单样式选\浮雕式\,按钮类型使用\图片按钮\,按\学号\升序排序,表单标题为\学生成绩浏览\,最后将表单存放在考生文件夹中,表单文件名为scoreform。 2.在考生文件夹中有一数据库school,其中有数据库表student,score和course。建立\成绩大于等于75分\,按\学号\升序排序的本地视图myview,该视图按顺序包含字段\学号\、\姓名\、\成绩\和\课程名\。 (1)【操作步骤】

步骤1:输入命令:MODIFY DATABASE school。

步骤2:单击\文件\菜单,选择\新建\选中\表单\,单击右面的\向导\图标按钮,接着选择\一对多表单向导\进入表单向导。

步骤3:选择表\的\学号\和\姓名\字段,单击\下一步\

步骤4:选择表\的\课程号\和\成绩\字段,单击\下一步\

步骤5:没有操作,单击\下一步\步骤6:选择表单样式为\浮雕式\按钮类型选中\图片按钮\,单击\下一步\

步骤7:将\学号\添加到选定字段中,

单击\确定\按钮,保持系统默认;选中表student,单击\添加\按钮,这时又会弹出\联接条件\对话框,单击\确定\。单击\关闭\,关闭\添加表或视图\对话框。

步骤3:在视图设计器中的\字段\选项卡中,将\可用字段\列表框中的\学号\、\姓名\、\成绩\、\课程名\字段添加到\选定字段\中。

步骤4:单击\筛选\选项卡,选择字段\成绩\,条件选择\,输入实例\。

步骤5:单击\排序依据\选项卡,将\选定字段\列表框中的\学号\添加到\排序依据\选项卡中(升序)。 步骤6:单击菜单\文件\,\保存\,然后输入视图名myview,单击\确定\。 设计文件名为form1的表单。表单的标题为\平均成绩排序\。表单中有一个选项组控件和两个命令按钮\排序\和\退出\。其中,选项组控件有两个按钮\升序\和\降序\。

运行表单时,在选项组控件中选择\升序\或\降序\单击\排序\命令按钮后,对考生文件夹下的数据库\成绩管理\中的\分数\表统计每个学生的平均成绩,统计结果中包括\学号\、\姓名\和\平均\成绩,并对\平均成绩\按照升序或降序(根据所选的选项组控件)排序,并将查询结果分别存入表table1或表table2中。 单击\退出\按钮关闭表单。 【操作步骤】 步骤1:单击菜单\文件\,选择\新建\,在\新建\对话框中选中\表单\,单击右面的\新建文件\图标按钮,进入表单设计器,在属性对话框中将表单的Caption属性值修改为\平均成绩排序\。

步骤2:在表单上单击右键,选择\数据环境\项,这时系统会弹出\选择表或视图\对话框,选中表\分数\,单击\添加\按钮,将该表加入数据环境;同样方法,将表\学生\加入数据环境。 步骤3:单击表单控件工具条上的\选项按钮组\控件,然后在表单上单击,添加一个选项按钮组控件;在该控件上右击,选择\编辑\,进入编辑状态,选中 Option1单选按钮在属性C面板中将Caption属性值修改为\升序\同样方法,修改Option2的Caption属性值为\降序\。

步骤4:单击表单控件工具栏上的\命令按钮\控件,然后在表单上单击,创建两个按钮。在属性面板中将命令按钮的Caption属性值分别修改为\排序\和\退出\。

步骤5:双击\排序\按钮,在其Click事件中输入:

******\排序\命令按钮的Click事件代码******

IF THISFORM.optiongroup1.VALUE=1 &&选择了第一项

SELECT 分数.学号,学生.姓名,AVG(分数.成绩) AS 平均成绩; FROM 分数 INNER JOIN 学生 ON 分数.学号=学生.学号; GROUP BY 分数.学号;

ORDER BY 平均成绩 INTO TABLE table1

&&将数据按照\平均成绩\升序取到新表table1

ELSE &&选择了第二项

SELECT 分数.学号,学生.姓名,AVG(分数.成绩) AS 平均成绩; FROM 分数 INNER JOIN 学生 ON 分数.学号=学生.学号; GROUP BY 分数.学号;

ORDER BY 平均成绩 DESC INTO TABLE table2

&&将数据按照\平均成绩\降序取到新表table2 ENDIF

***********************

记录(138,刘云,男,23,5)。

3.用DELETE语句将\学生\表中学号为\的学生的记录删除。

4.用UPDATE语句将所有人的年龄加一岁。

【操作步骤】

在命令窗口中输入命令:MODIFY FILE my,打开文本编辑器,在编辑器中,依次输入以下4条语句:

*******文件my.txt中的程序段*******

SELECT * FROM 学生 WHERE 楼层数=3 INSERT INTO 学生 VALUES(138,\刘云\男\

DELETE FROM 学生 WHERE 学号=200 UPDATE 学生 SET 年龄=年龄+1 *************************

保存文件,在命令窗口执行命令:DO my.txt,运行各条语句。

在考生文件夹下完成如下简单应用: 1.用SQL语句完成下列操作:列出\林诗因\持有的所有外币名称(取自rate_exchange表)和持有数量(取自currency_sl表),并将检索结果按持有数量升序排序存放于表rate_temp中,同时将你所使用的SQL语句存放于新建的文本文件rate.txt中。

2.使用一对多报表向导建立报表。要求:父表为rate_exchange,子表为currency_sl,从父表中选择字段\外币名称\;从子表中选择全部字段;两个表通过\外币代码\建立联系;按\外币代码\降序排序;报表样式为\经营式\,方向为\横向\,报表标题为\外币持有情况\;生成的报表文件名为currency_report。 (1)【操作步骤】

步骤1:在命令窗口输入命令:MODIFY FILE rate,打开程序编辑器。

步骤2:在程序编辑器中,编写如下程序段: *******文件rate.txt中的程序段*******

SELECT rate_exchange.外币名称, currency_sl.持有数量;

FROM currency_sl INNER JOIN rate_exchange ;

ON currency_sl.外币代码 = rate_exchange.外币代码;

WHERE currency_sl.姓名 =\林诗因\ORDER BY currency_sl.持有数量; INTO TABLE rate_temp.dbf *************************

步骤3:在命令窗口输入命令:DO rate.txt,执行程序。 (2)【操作步骤】

步骤1:选择菜单【文件】|【新建】命令,或从常用工具栏中单击新建按钮,在弹出的\新建\对话框中选择\报表\单选项,再单击\向导\按钮,系统弹出\向导选取\对话框,在列表框中选择\一对多报表向导\单击\确定\按钮。选择\一对多报表向导\后,系统首先要求选择一对多报表中作为父表的数据表文件。 步骤2:根据题意,选择rate_exchange表作为父表。从\可用字段\列表框中将\外币名称\字段添加到右边的\选定字段\列表框中,用做父表的可用字段。

步骤3:单击\下一步\设计子表的可用字段,操作方法与父表选取字段的方法一样,将currency_sl表中的所有字段添加到\选定字段\列表框中。 步骤4:单击\下一步\进入\建立表关联\的设计界面,在此处系统已经默认设置好进行关联的字段:父表的\外币代码\和子表的\外币代码\字段。 步骤5:单击\下一步\进入\选择排序方式\的设计界面,将\可用字段或索引标识\列表框中的\外币代码\字段添加到右边的\选定字段\列表框中,并选择\降序\单选项。

步骤6:单击\下一步\进入\选择报表样式\的界面,在\样式\列表框中选择

号\标签,和用于输入订购单号的文本框,以及\查询\和\关闭\个命令按钮和1个表格控件。

表单运行时,用户在文本框内输入\订购单号\如OR73),单击\查询\按钮,查询出对应的订购单的\供应商名\、\职工号\、\仓库号\和\订购日期\。表单的表格控件用于显示查询结果。单击\关闭\按钮,关闭表单。 【操作步骤】

步骤1:选择菜单【文件】|【新建】命令,在类型选择框中选择\表单\单击\新建文件\按钮,打开表单设计器。 步骤2:在属性窗口中设置表单的Caption属性为\仓库管理\从\表单控件\工具栏中选择1个文本框,1个标签,1个表格控件,2个命令按钮放置在表单上。

步骤3:在属性面板中分别设置两个命令按钮的Caption属性分别为\查询\和\关闭\设置标签的Caption属性值为\请输入订购单号\。

步骤4:双击命令按钮\查询\编写该控件的Click事件,程序代码如下: ***命令按钮Command1(查询)的Click事件代码***

SELECT 供应商名,订购单.职工号,仓库号,订购日期;

FROM 订购单,供应商,职工;

WHERE 订购单.供应商号=供应商.供应商号;

AND 职工.职工号=订购单.职工号; AND 订购单号=ALLTRIM(Thisform.Text1.value); INTO CURSOR temp

Thisform.Grid1.RecordSourceType=1

Thisform.Grid1.RecordSource=\p\

*************************

步骤5:以同样的方法为\关闭\命令按钮编写Click事件代码:Thisform.Release。

步骤6:保存表单文件为myf.scx到考生文件夹下。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下的\雇员管理\数据库中完成下列基本操作:

1.为\雇员\表增加一个字段,字段名为EMAIL、类型为字符型、宽度为20。 2.设置\雇员\表中\性别\字段的有效性规则,性别取\男\或\女\,默认值为\女\。 3.在\雇员\表中,将所有记录的EMAIL字段值用\部门号\的字段值加上\雇员号\的字段值再加上\进行替换。

4.通过\部门号\字段建立\雇员\表和\部门\表间的永久联系。 【操作步骤】

(1)启动Visual FoxPro后,在命令窗口输入两条命令:

USE 雇员 && 打开\雇员\数据表 MODIFY STRUCTURE && 打开表设计器修改表结构

在弹出的表设计器中,根据题意,在\日期\字段后增加一个新的字段,字段名为\、类型为\字符型\、宽度为\。

(2)继续1小题操作,在表设计的\字段\选项卡中,选中\性别\字段,然后在下面的\字段有效性\区域的\规则\文本框内输入\性别=\男\性别=\女\,\默认值\文本框内输入的内容为\女\。

(3)在命令窗口执行如下命令: UPDATE 雇员 SET EMAIL=部门号+雇员号+\

系统自动更新数据表\雇员\中\字段的内容。

(4)在命令窗口输入命令:MODIFY DATABASE 雇员管理,打开数据库设计器,将\部门\表中\索引\下面的\部门号\主索引字段拖到\雇员\表中\索引

\下面的\部门号\索引字段上,这样便建立了部门表和雇员表之间的永久性联系。 1.在考生文件夹下有表\成绩\。用SQL语句统计每个考生的平均\成绩\,统计结果包括\学号\和\平均成绩\两个字段,并将结果存放于表\中。将使用到的SQL语句保存到ThisForm.Grid1.RecordSource=\ECT course.课程名, score1.成绩; FROM course INNER JOIN score1; INNER JOIN student ;

ON student.学号 = score1.学号 ; ON course.课程号 = score1.课程号;

WHERE student.学号 = 入命令:SET SYSMENU TO DEFAULT,保存菜单设计。

在考生文件夹下完成如下综合应用: 新建一个名为junjia的程序,完成以下功能。

(1)首先将BOOKS.DBF中所有书名中含有\计算机\个字的图书复制到表BOOKSBAK中,以下操作均在BOOKSBAK方向为\纵向\,报表中数据按\年龄\升序排列,年龄相同的按\姓名\升序排序。报表标题是\学生年龄\。 (1)【操作步骤】

步骤1:在命令窗口输入命令:MODIFY FILE agesql,打开文本编辑器,输入如下程序: SELECT 姓名,2005-YEAR(生日) AS 年avgscore.txt中。

2.在学生管理数据库下建立视图\,包括\成绩\表中的全部字段和每门课\课程名\。 (1)【操作步骤】

步骤1:在命令窗口中输入命令:MODIFY FILE avgscore,打开文本编辑器编写如下程序段。

******avgscore.txt文件中的程序段*****************

SELECT 学号,AVG(成绩) AS 平均成绩;

FROM 成绩; GROUP BY 学号; INTO TABLE mytable

**************************** 步骤2:保存文件,在命令窗口输入命令:DO avgscore.txt,执行文件。 (2)【操作步骤】

步骤1:单击\文件\菜单,选择\新建\命令,接着选中\视图\,单击右面的\向导\按钮,在弹出的对话框里选择\视图向导\。

步骤2:单击\数据库和表\右下面的按钮,双击考生文件夹下的表\成绩\将全部字段添加到选定字段,再将表\课程\的\课程名\添加到选定字段,单击\下一步\。

步骤3:单击\添加\按钮,增加表间关系\成绩.课程号=课程.课程号\,单击\下一步\。

步骤4:没有操作,单击\下一步\。 步骤5:没有操作,单击\下一步\。 步骤6:没有操作,单击\下一步\。 步骤7:单击\完成\将视图以view1文件名保存在考生文件夹中。

score_manager数据库中含有3个数据库表student、score1和course。为了对score_manager数据库数据进行查询,设计一个如图所示的表单myform1(控件名为form1,表单文件名myform1.scx)。表单的标题为\成绩查询\。表单上部有文本\输入学号(名称为Label1的标签)\和用于输入学号的文本框(名称为Text1)、\查询\名称为Command1)和\退出\名称为Command2)两个命令按钮以及1个表格控件。

表单运行 时,用户首先在文本框中输入学号,然后单击\查询\按钮,如果输入学号正确,在表单右侧以表格(名称为Grid1)形式显示该生所选课程名和成绩,否则提示\学号不存在,请重新输入学号\。

单击\退出\按钮,关闭表单。 【操作步骤】

步骤1:在命令窗口输入命令:CREATE FORM Myform1,打开表单设计器,新建表单。

步骤2:从表单控件工具栏中选择1个标签、1个表格、1个文本框和两个按钮放置在表单上,根据题意,调整控件大小及位置。然后选中标签控件Label1,在属性面板中设置标签的Caption属性值为\输入学号\,以同样的方法,在属性面板中修改表单和命令按钮的Caption属性值。最后将表格(grid1)的ColumnCount 属性值设置为2(共两列)、RecordSourceType属性值设置为\说明\,将表格内两列标头的Caption属性分别设置为\课程名\和\成绩\,并适当调整两列的宽度。

步骤3:双击表单(Form1),设置表单的Load事件代码:

*************表单(Form1)的Load事件************ CLOSE ALL USE student

***************************** 步骤4:双击命令按钮\查询\(Command1),在Click事件中编写如下代码。

******命令按钮\查询\(Command1)的Click事件***** GO TOP

LOCATE FOR student.学号==ALLTRIM(ThisForm.Text1.Value) IF student.学号==ALLTRIM(ThisForm.Text1.Value)

ALLTRIM(ThisForm.Texit1.Value); INTO CURSOR TEMP\ELSE

MESSAGEBOX(\学号不存在,请重新输入学号\

ThisForm.Grid1.RecordSource='' ENDIF

******************************** 步骤5:同样在命令按钮\退出\(Command2)的Click事件中输入代码:ThisForm.Release。

步骤6:运行表单,保存表单设计到考生文件夹下。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下建立项目文件,文件名为\项目1\。

2.在项目中建立数据库,文件名为\数据库1\。

3.修改表单form1,将其标题改为\表单\。

4.把表单form1添加到项目\项目1\中。

【操作步骤】

(1)在命令窗口中输入命令:CREATE PROJECT 项目1,新建一个项目。 (2)在项目管理器中,单击\数据\选项卡,选择列表框中的\数据库\,单击右面的\新建\按钮,然后单击\新建数据库\图标按钮。输入数据库名\数据库1\,单击\保存\按钮。

(3)在命令窗口中输入命令:MODIFY FORM form1,进入表单设计器,选中表单,在属性框内找到Caption属性,并将其修改为\表单\。

(4)在项目管理器中,单击\文档\选项卡,选择列表框中的\表单\,单击右面的\添加\按钮,双击考生文件夹下的form1表单,将其添加到项目中。 在考生文件夹下完成如下操作: 1.新建程序文件query1,用SQL语句完成下列操作。将选课在3门课程以上(包括3门)的学生的学号、姓名、平均分和选课门数按平均分降序排序,并将结果存放于数据库表stu_temp(字段名为学号、姓名、平均分和选课门数)中。

2.建立一个名为menu_lin的下拉式菜单,菜单中有两个菜单项\查询\和\退出\。\查询\项下还有一个子菜单,子菜单有\按姓名\和\按学号\两个选项。在\退出\菜单项下创建过程,该过程负责使程序返回到系统菜单。 (1)【操作步骤】

步骤1:在命令窗口输入命令:MODIFY Command query1,打开文件编辑器,输入如下程序:

*****文件query1.prg文件中的程序段*****

SELECT 学生.学号, 学生.姓名, AVG(选课.成绩) as 平均分,;

COUNT(选课.课程号) AS 选课门数; FROM 学生!学生 INNER JOIN 学生!选课;

INNER JOIN 学生!课程;

ON 课程.课程号 = 选课.课程号; ON 学生.学号 = 选课.学号; GROUP BY 学生.姓名;

HAVING COUNT(选课.课程号)>=3; ORDER BY 3 DESC; INTO TABLE stu_temp.dbf

**************************** 步骤2:在命令窗口输入命令:DO query1,执行程序,查询结果自动保存到新表中。

(2)【操作步骤】

步骤1:在命令窗口输入命令:CREATE MENU menu_lin,在弹出的\新建菜单\对话框中,单击\菜单\图标按钮,打开菜单设计器。

步骤2:在主菜单设计界面中,分别输入菜单名称\查询\、\退出\,在\查询\的\结果\下拉框中选择\子菜单\,在\退出\的\结果\下拉框中选择\命令\,如图80-1所示。单击\查询\菜单行中的\编辑\命令按钮,在子菜单的菜单名称中输入\按姓名\、\按学号\,选择两个子菜单项的\结果\为\命令\或\过程\,然后选择\菜单级\下拉框中的\菜单栏\。返回主菜单设计界面,在\退出\菜单行的\命令\文本框中输

表中完成。

(2)复制后的图书价格在原价格基础上降价5%。

(3)从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表newtable中(字段名为出版单位和均价)。

【操作步骤】

步骤1:在命令窗口输入命令:MODIFY COMMAND junjia,打开程序编辑窗口,编写如下程序:

***********文件junjia.prg的程序段**********

OPEN DATABASE BOOKAUTH

&& 将BOOKS中的所有书名中含有\计算机\个字的图书复制到表BOOKSBAK中

SELECT * FROM BOOKS WHERE AT(\计算机\,书名)>0; INTO TABLE BOOKSBAK

&& 价格在原价格基础上降价5% UPDATE BOOKSBAK SET 价格=价格*0.95

&& 查询出各个图书的均价放到临时表中

SELECT 出版单位,AVG(价格) AS 均价; FROM BOOKSBAK INTO CURSOR CURSOR1 ; GROUP BY 出版单位ORDER BY均价 && 在临时表中查询均价高于25的图书中价格最低的出版社名称和均价 SELECT * TOP 1 FROM CURSOR1 WHERE 均价>=25 INTO TABLE newtable; ORDER BY 均价

***********************

步骤2:保存文件,在命令窗口输入命令:DO junjia,运行程序。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下建立项目文件,文件名为\项目1\。

2.将数据库\公司管理\添加到项目中。

3.建立自由表\商品\不要求输入数据),表结构为:

商品名 字符型(30) 产地 字符型(30) 库存量 整型 价格 货币型

4.建立简单的菜单\菜单1\,要求有2个菜单项:\统计\和\退出\。其中\统计\菜单项有子菜单\总利润\和\平均利润\。选择\退出\菜单项返回到系统菜单。

【操作步骤】

(1)在命令窗口输入命令:CREATE PROJECT 项目1,新建一个项目。 (2)在项目管理器中单击\数据\选项卡,选择列表框中的\数据库\,单击右面的\添加\按钮,双击考生文件夹下的\公司管理\数据库。

(3)在命令窗口中输入命令:CREATE 商品,单击\确定\按钮进入表结构设计器。依次输入各字段的名称、字段数据类型和宽度。注意\库存量\字段是整型,\价格\字段是货币型,都具有特定宽度。单击\确定\,保存表结构。

(4)在命令窗口输入命令:CREATE MENU 菜单1,单击\菜单\图标按钮,在菜单设计器中输入主菜单名\统计\和\退出\。在\退出\菜单项的结果下拉列表中选择\命令\,在命令编辑框内输入:SET SYSMENU TO DEFAULT。在\统计\菜单项的结果下拉列表中选择\子菜单\,单击\创建\按钮,进入子菜单设计器界面,输入两个子菜单项\总利润\和\平均利润\。单击菜单命令\菜单\生成\,生成一个可执行的菜单文件。

1.在学生管理数据库中使用SQL语句查询学生的\姓名\和\年龄\计算年龄的公式是:2005-Year(生日),\年龄\作为字段名),结果保存在一个新表agetable中,将使用的SQL语句保存在agesql.txt中。

2.使用报表向导建立名为agereport的报表,用报表显示agetable表的内容。报表分组记录选择\无\,样式为\带区式\,列数为2,字段布局为\行\,

龄 FROM 学生 INTO TABLE agetable 步骤2:保存文件,在命令窗口输入命令:DO agesql.txt,执行程序。 (2)【操作步骤】

步骤1:单击\文件\菜单,选择\新建\命令,接着选中\报表\,单击右面的\向导\按钮,在弹出的对话框里选择\报表向导\。

步骤2:单击\数据库和表\右下面的按钮,双击考生文件夹下的表agetable;将全部字段添加到选定字段,单击\下一步\。

步骤3:不需要操作,单击\下一步\。 步骤4:选择报表样式为\带区式\,单击\下一步\。

步骤5:将列数修改为2,字段布局改为\行\,方向为\纵向\,单击\下一步\。

步骤6:将\年龄\添加到选定字段,再选择字段\姓名\,均为\升序\,单击\下一步\。

步骤7:报表标题修改为\学生年龄\,单击\完成\。

步骤8:修改报表名为agereport,保存在考生文件夹下。

考生文件夹下有数据库\公司管理\,数据库中有\员工\表和\部门\表,请编写并运行符合下列要求的程序:设计一个文件名为myform的表单,表单中有两个命令按钮,按钮的标题分别为\计算\和\退出\。

程序运行时,单击\计算\按钮应完成下列操作:

(1)计算\员工\表中每个人的实得工资,其中\实得工资\等于\月薪+津贴+奖金-医疗保险-养老保险\,计算结果包含\工资\表的所有字段和\实得工资\字段。

(2)计算每个部门的应发工资总额,结果包括\部门号\,\部门名\和\实发工资总额\。

(3)将以上两个计算结果分别存如表table1和table2中。

单击\退出\按钮,程序终止运行。 【操作步骤】 步骤1:单击菜单\文件\,选择\新建\,在\新建\对话框中选中\表单\,单击右面的\新建文件\图标按钮,进入表单设计器。

步骤2:在表单上单击右键,选择\数据环境\项,这时系统会弹出\选择表或视图\对话框,选中表\员工\,单击\添加\按钮,将该表加入数据环境;同样方法,将表\部门\加入数据环境。 步骤3:单击表单控件工具条上的\命令按钮\控件,然后在表单上单击,创建按钮。在该按钮上右击,选择\属性\,在属性对话框里找到\属性,并修改为\退出\。

步骤4:同样方法,再创建一个按钮控件,并修改其\属性为\计算\。

步骤5:双击\计算\按钮,在其Click事件中输入:

***********************

SELECT *,(月薪+津贴+奖金-医疗保险-养老保险) AS 实得工资; FROM 员工;

INTO TABLE table1

SELECT 部门.部门号,部门.部门名称,;

SUM(员工.月薪+员工.津贴+员工.奖金-员工.医疗保险-员工.养老保险); AS 实发工资总额;

FROM 部门 INNER JOIN 员工; ON 部门.部门号=员工.部门号; GROUP BY 部门.部门号; INTO TABLE table2 ***********************

步骤6:双击\退出\按钮,在其Click事件中输入:Thisform.Release。 步骤7:单击菜单\文件\保存\,输入表单名myform,保存并运行表单。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下建立项目文件,文件名为my。

2.将数据库\职工管理\添加到项目my中。

3.将考生文件夹下的自由表\职工\添加到数据库\职工管理\中。

4.将表\职工\的字段\住址\从表中删除。

【操作步骤】

1、启动Visual FoxPro后,在命令窗口输入命令:CREATE PROJECT my,新(4)点击\退出\按钮,退出表单。 注意:以上各项功能必须调试,并运行通过。

【操作步骤】

步骤1:在命令窗口输入命令:CREATE 索引字段拖到\选修\表中\索引\下面的\课程编号\索引字段上,建立了两个表之间的永久性联系。

(4)在数据库设计器中,选择菜单命令\数据库\清理数据库\右键单击对考生文件夹下的数据库\医院\建立文件名为myf的表单。表单含有一个表格控件,用于显示用户查询的信息;表单上有一个按钮选项组,含有\药查询\,\处方查询\和\查询综合\个选建一个项目管理器。

2、在项目管理器中,首先在\数据\选项卡中选择\数据库\,然后单击选项卡右边的\添加\命令按钮,在系统弹出的\打开\对话框中,将考生文件夹中的数据库\职工管理\添加到项目管理器中,单击\确定\按钮。

3、从菜单栏里点击\文件\并选择\打开\,或直接单击工具栏上的\打开\图标,在弹出的对话框中选择要打开的数据库文件\职工管理\。

右键单击数据库设计器,选择\添加表\快捷菜单命令,系统弹出\打开\对话框,将考生文件夹下的\职工\自由表添加到数据库\职工管理\中。

4、在\职工\表设计器的\字段\选项卡中,选中\住址\字段,然后单击右边的\删除\命令按钮, 即可把\住址\字段从\职工\表中删除。

在考生文件夹下完成如下简单应用: 1.用SQL语句完成下列操作:检索\田亮\所借图书的书名、作者和价格,结果按价格降序存入booktemp表中。 2.在考生文件夹下有一个名为menu_lin的下拉式菜单,请设计顶层表单frmmenu,将菜单menu_lin加入到该表单中,使得运行表单时菜单显示在本表单中,并在表单退出时释放菜单。

(1)【操作步骤】

步骤1:在命令窗口输入命令:MODIFY COMMAND query,在程序编辑窗口中输入如下程序段:

****下面是query.prg文件的程序段**** SELECT book.书名, book.作者, book.价格;

FROM 图书!book INNER JOIN 图书!loans;

INNER JOIN 图书!borrows ; ON Loans.借书证号 = borrows.借书证号 ;

ON book.图书登记号 = Loans.图书登记号;

WHERE borrows.姓名 = \田亮\ ORDER BY Book.价格 DESC; INTO TABLE booktemp.dbf **************************

步骤2:保存设计结果,在命令窗口输入命令:DO query,系统将查询结果自动保存到新表中。 (2)【操作步骤】

步骤1:单击\文件\菜单中的\新建\,在新建文件类型选择对话框中选择\表单\,单击\新建文件\按钮,打开表单设计器,在表单的属性窗口中设置 ShowWindow 属性为\作为顶层表单\。双击表单打开代码编辑窗口选择表单对象的Init事件输入以下代码(在本题中菜单程序已做好,不用考虑): 步骤2:DO menu_lin.mpr WITH this 步骤3:单击工具栏上的保存按钮,将表单保存为frmmenu.scx。运行表单。 在考生文件夹下,对数据库salarydb完成如下综合应用:

设计一个名称为form2的表单,在表单上设计一个\选项组\名称为Optiongroup1)及两个命令按钮\生成\名称为Command1)和\退出\名称为Command2);其中选项按钮组有\雇员工资表\名称为Option1)、\部门表\名称为Option2)和\部门工资汇总表\名称为Option3)3个选项按钮。然后为表单建立数据环境,并向数据环境中添加dept表(名称为Cursor1)和salarys表(名称为Cursor2)。 各选项按钮功能如下:

(1)当用户选择\雇员工资表\选项按钮后,再点击\生成\命令按钮,查询显示sview视图中的所有信息,并把结果存入表gz1.dbf中。

(2)当用户选择\部门表\选项按钮后,再点击\生成\命令按钮,查询显示dept表中每个部门的部门号和部门名称并把结果存入表bm1.dbf中。

(3)当用户选择\部门工资汇总表\选项按钮后,再点击\生成\命令按钮,则按部门汇总,将该公司的部门号、部门名、工资、补贴、奖励、失业保险和医疗统筹的支出汇总合计结果存入表hz1.dbf中,并按部门号的升序排序。请注意:字段名必须与原字段名一致。

FORM form2,打开表单设计器,通过\常用工具栏\向表单添加一个选项组按钮和两个命令按钮。

步骤2:选中选项组按钮(OptionGroup1),在属性面板中修改ButtonCount的属性值为3,为该选项组增加一个单选项。然后在属性面板顶端的下拉框中选择Option1单选项,修改该控件的Caption属性值为\雇员工资表\,根据题意,以同样的方法为其他两个单选按钮和命令按钮设置Caption属性值。

步骤3:在表单设计器中,右击空白表单,选择\数据环境\快捷菜单命令,打开表单的数据环境,首先要求选择添加的数据表,在弹出的\打开\对话框中选择要加入到数据环境中的数据表文件dept和salarys,关闭对话框,将表添加到表单的数据环境中。 步骤4:双击命令按钮(Command1),编写该控件的Click(单击)事件: ****选项组控件(Command1)的Click事件代码**** DO Case Case

ThisForm.Optiongroup1.Value=1 USE sview Browse

SELECT * FROM sview INTO TABLE gz1.dbf Case

ThisForm.Optiongroup1.Value =2 USE dept Browse

SELECT * FROM dept INTO TABLE bm1.dbf Case

ThisForm.Optiongroup1.Value =3 SELECT dept.部门号,dept.部门名,;

SUM(工资) AS 工资,SUM(补贴) AS 补贴,SUM(奖励) AS 奖励 ,; SUM(失业保险) AS 失业保险,SUM(医疗统筹) AS 医疗统筹; FROM dept,salarys;

WHERE dept.部门号=salarys.部门号;

GROUP BY dept.部门号; ORDER BY dept.部门号; INTO TABLE hz1.DBF EndCase

**************************** 步骤5:双击命令按钮(Command2),编写该控件的Click(单击)事件: *****选项组控件(Command2)的Click事件代码***** ThisForm.Release

**************************** 步骤6:单击常用工具栏中的运行图标按钮,系统首先要求保存该表单文件,在弹出的\另存为\对话框中输入表单文件名form2,保存在考生文件夹下。 步骤7:在命令窗口输入: modify database salarydb,然后运行表单,查看结果。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下将数据库\学生\添加到项目文件my中。

2.将自由表kecheng添加到\学生\数据库中。

3.建立数据库表\课程\与\选修\之间的关联(两表的索引已经建立)。 4.为第3题中的两个表之间的联系设置完整性约束,要求\更新\规则为\忽略\,\删除\规则和\插入\规则均为\限制\。

【操作步骤】

(1)在命令窗口输入命令:MODIFY PROJECT my,打开项目管理器。在项目管理器my中,首先在\数据\选项卡中选择\数据库\然后单击选项卡右边的\添加\命令按钮,在系统弹出的\打开\对话框中,将考生文件夹中的数据库\学生\添加到项目管理器中,单击\确定\按钮。

(2)依次展开数据库的分支选择\表\单击项目管理器中的\添加\命令按钮,系统弹出\打开\对话框,将考生文件夹下的kecheng自由表添加到数据库\学生\中。

(3)选择\学生\数据库,单击\修改\命令按钮,在数据库设计器中,将\课程\表中\索引\下面的\课程编号\主

\课程\表和\选修\表之间的关系线,选择\编辑参照完整性\快捷菜单命令,在参照完整性生成器中,根据题意,分别在3个选项卡中设置参照规则。 在考生文件夹下完成如下简单应用: 1.将customer1表中的全部记录追加到customer表中,然后用SQL的SELECT语句完成下列查询:列出目前有订购单的客户信息(即有对应的order_list记录的customer表中的记录),同时要求按客户号升序排序,并将结果存储到results表中(表结构与customer表结构相同),将SQL语句保存在query1.prg文件中。

2.打开并按如下要求修改form1表单文件(最后保存所做的修改):

(1)在\确定\命令按钮的Click事件(过程)下的程序有两处错误,请改正。 (2)设置Text2控件的有关属性,使用户在输入口令时显示\星号)。 (1)【操作步骤】

步骤1:在命令窗口输入命令:MODIFY COMMAND query1,打开程序文件编辑器。

步骤2:在程序文件编辑器窗口中输入如下程序段:

*****文件query1.prg的中程序段*****

SET TALK OFF CLOSE ALL USE customer ZAP

USE customer1 DO WHILE !EOF() SCATTER TO arr1

INSERT INTO customer FROM ARRAY arr1 SKIP ENDDO

SELECT DISTINCT customer.*;

FROM 订货管理!customer INNER JOIN 订货管理!order_list ;

ON customer.客户号 = order_list.客户号;

ORDER BY customer.客户号; INTO TABLE results.dbf *************************

步骤3:在命令窗口输入命令:DO query1,程序将查询结果自动保存到新表results中。 (2)【操作步骤】

步骤1:在命令窗口输入命令:MODIFY FORM form1,打开表单form1.scx。 步骤2:双击表单中的\确定\命令按钮,进入命令按钮的事件编辑窗口,在Click事件中的程序段如下:

****\确定\命令按钮Click事件的源程序****

&&功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单; &&否则重新输入用户名和口令。 If Thisform.Text1 = Thisform.Text2 &&**********Error**********************

WAIT \欢迎使用……\WINDOW TIMEOUT /1

Thisform.Close

&&**********Error********************** Else

WAIT \用户名或口令不对,请重新输入……\ Endif

*************************

修改程序中的错误,正确的程序如下: ***\确定\命令按钮Click事件修改后的程序*** If Thisform.Text1.Text = Thisform.Text2.Text && 缺少属性Text

WAIT \欢迎使用……\WINDOW TIMEOUT 1

Thisform.Release && 语法错误,关闭表单应该为Release Else

WAIT \用户名或口令不对,请重新输入……\ Endif

*************************

步骤3:选中表单中的第二个文本框控件(Text2),在属性面板中修改该控件的PasswordChar属性值为\保存修改结果。

项按钮;表单上有两个命令按钮,标题分别为\浏览\和\关闭\。

当选择\药查询\选项按钮并单击\浏览\按钮时,在表格中显示\药信息\表的全部字段。

选择\处方查询\选项按钮并单击\浏览\按钮,表格中显示\处方信息\表的字段\处方号\和\药编号\。

选择\综合查询\选项按钮并单击\浏览\按钮时,表格中显示所开处方中含有\药编号\为\的处方号、药名及开此处方的医生姓名。

单击\关闭\按钮退出表单。 【操作步骤】

步骤1:在命令窗口中输入命令:CREATE FORM myf,打开表单设计器。

步骤2:通过\表单控件\工具栏向表单添加1个表格、1个选项按钮组和2个命令按钮。

步骤3:选中表单,在属性面板顶端的下拉框中选择Command1,修改该命令按钮控件的Caption属性值为\浏览\以同样的方法将第二个命令按钮设置Caption属性值改为\关闭\在属性面板顶端的下拉框中选择(Optiongroup1),将其ButtonCount属性值改为3。

步骤4:右击选项按钮组,选择\编辑\快捷菜单命令,在此状态下(编辑状态下,控件四周出现蓝色框线),分别修改三个单选项的Caption属性值为\药查询\、\处方查询\和\综合查询\。 步骤5:双击命令按钮\浏览\编写该控件的Click事件,程序代码如下: ***命令按钮Command1(浏览)的Click事件代码*** DO CASE CASE

Thisform.Optiongroup1.Value=1 SELECT *; FROM 药信息; INTO CURSOR temp

Thisform.Grid1.RecordSourceType=1

Thisform.Grid1.RecordSource=\p\ CASE

Thisform.Optiongroup1.Value=2 SELECT 处方号,药编号; FROM 处方信息; INTO CURSOR temp

Thisform.Grid1.RecordSourceType=1

Thisform.Grid1.RecordSource=\p\ CASE

Thisform.Optiongroup1.Value=3 SELECT 处方号,药名,医生.姓名;

FROM 医生,处方信息,药信息; WHERE 医生.职工号=处方信息.职工号;

AND 处方信息.药编号=药信息.药编号;

AND 药信息.药编号=5; INTO CURSOR temp

Thisform.Grid1.RecordSourceType=1

Thisform.Grid1.RecordSource=\p\

ENDCASE

*************************

步骤6:以同样的方法为\关闭\命令按钮编写Click事件代码:Thisform.Release。 步骤7:保存表单完成设计。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在数据库sal中建立表\部门信息\,表结构如下:

字段名 类型 宽度 部门编号 字符型 6 部门名 字符型 20 随后在表中输入5条记录,记录内容如下:

部门编号 部门名 01 销售部

02 采购部 03 项目部 04 制造部 05 人事部

2.为\部门信息\表创建一个主索引(升序),索引名为bumen,索引表达式为\部门编号\。

3.通过\部门编号\字段建立sal表和\部门信息\表间的永久联系。

4.为以上建立的联系设置参照完整性约束:更新规则为\限制\;删除规则为\级联\;插入规则为\忽略\。 【操作步骤】

(1)选择菜单【文件】|【打开】命令,或直接单击工具栏上的\打开\图标,在弹出的对话框中选择要打开的数据库文件sal.dbc。

单击右键数据库设计器,选择\新建表\快捷菜单命令,在弹出的\新建表\对话框中,单击\新建表\图标,以\部门信息\为文件名保存在考生文件夹下。根据题意,在表设计器的\字段\选项卡中,依次输入每个字段的字段名、类型和宽度。单击表设计器右边的\确定\按钮。系统弹出\现在输入数据记录吗\对话框,选择\是\在表浏览器中,根据题意依次输入5条记录。

(2)在数据库设计器中,右键单击数据库表\部门信息\在弹出的快捷菜单中选择\修改\菜单命令,进入\部门信息\的数据表设计器界面,在\字段\选项卡中为\部门编号\选择\升序\排序,然后单击\索引\选项卡,此选项卡中的\索引名\和\索引表达式\默认\部门编号\把\索引名\改为bumen,在\索引类型\的下拉框中,选择\主索引\。

(3)在数据库设计器中,将\部门信息\表中\索引\下面的bumen主索引字段拖到sal表中\索引\下面的\部门编号\索引字段上,建立了两个表之间的永久性联系。 (4)在数据库设计器中,选择菜单【数据库】|【清理数据库】命令,右键单击\部门信息\表和\表之间的关系线,选择\编辑参照完整性\快捷菜单命令,在参照完整性生成器中,根据题意,分别在3个选项卡中设置参照规则,如图3.291所示。

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

1.使用报表向导建立一个简单报表。要求选择客户表Customer中的所有字段;记录不分组;报表样式为随意式;列数为\,字段布局为\列\,方向为\纵向\;排序字段为\会员号\,升序;报表标题为\客户信息一览表\;报表文件名为myreport。

2.使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg中。视图中包括客户的会员号(来自Customer表)、姓名(来自Customer表)、客户所购买的商品名(来自Article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价*OrderItem.数量),结果按\会员号\升序排序。 (1)【操作步骤】

步骤1:单击\常用\工具栏中的\新建\图标按钮,在\新建\对话框中选择\报表\单选项,再单击\向导\按钮,系统弹出\向导选取\对话框,在列表框中选择\报表向导\单击\确定\按钮。 步骤2:选择\报表向导\后,进入报表向导设计界面,首先进行字段选取,选择Ecommerce数据库作为报表的数据源。

步骤3:选中数据表Customer,通过\全部添加\按钮,将\可用字段\列表框中的所有字段添加到\选定字段\列表框中。

步骤4:单击\下一步\按钮进入\分组记录\设计界面,跳过此步骤,单击\下一步\命令按钮,进入\选择报表样式\设计界面,在\样式\列表框中选择\随意式\。

步骤5:单击\下一步\命令按钮,进入\定义报表布局\设计界面,设置\列数\为1,\方向\为纵向,\字段布局\为列。 步骤6:单击\下一步\进入\排序记录\的设计界面,将\可用字段或索引标识\列表框中的\会员号\字段添加到右边的\选定字段\列表框中,并选择\升序\单选项。

步骤7:单击\下一步\进入最后的\完成\设计界面,在\标题\文本框中输入\客户信息一览表\为报表添加标题,

单击\完成\命令按钮,在系统弹出的\另存为\对话框中,将报表以myreport文件名保存在考生文件夹下,退出报表设计向导。 (2)【操作步骤】

步骤1:在命令窗口输入命令:MODIFY COMMAND pview,打开文件编辑器。 步骤2:在程序编辑器中,编写如下程序段: *******文件pview.prg中的程序段*******

CREATE VIEW sb_view AS;

SELECT Customer.会员号, Customer.姓名, Article.商品名, Orderitem.单价,;

Orderitem.数量, OrderItem.单价 * OrderItem.数量 AS 金额;

FROM ecommerce!customer INNER JOIN Ecommerce!Orderitem;

INNER JOIN Ecommerce!Article ; ON Article.商品号 = Orderitem.商品号 ;

ON Customer.会员号 = Orderitem.会员号;

ORDER BY Customer.会员号 *************************

步骤3:在命令窗口执行命令:DO pview,系统将自动生成一个视图文件。 在考生文件夹下,打开ecommerce数据库,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):

设计一个文件名和表单名均为myform的表单,表单标题为\客户基本信息\。要求该表单上有\女客户信息\、\客户购买商品情况\、\输出客户信息\和\退出\个命令按钮。

各命令按钮功能如下:

(1)单击\女客户信息\按钮,使用SQL的SELECT命令查询客户表customer中女客户的全部信息。

(2)单击\客户购买商品情况\按钮,使用SQL的SELECT命令查询简单应用中创建的sb_view视图中的全部信息。 (3)单击\输出客户信息\按钮,调用简单应用中设计的报表文件myreport在屏幕上预览(PREVIEW)客户信息。 (4)单击\退出\按钮,关闭表单。 【操作步骤】

步骤1:在命令窗口中输入命令:CREAT FORM myform &&回车

步骤2:通过表单控件工具栏,向表单添加4个命令按钮,在属性面板中修改表单(Form1)的Name属性值为myform,Caption属性值为\客户基本信息\。

步骤3:适当调整命令按钮的大小和位置,并分别修改4个命令按钮Command1、Command2、Command3和Command4的Caption属性值为\女客户信息\、\客户购买商品情况\、\输出客户信息\和\退出\如图3.148所示。

图3.148

步骤4:双击每个命令按钮,在Click事件中分别输入如下代码:

***命令按钮Command1的Click事件代码如下***

SELECT * FROM Customer WHERE 性别=\女\

************************

***命令按钮Command2的Click事件代码如下***

OPEN DATABASE Ecommerce SELECT * FROM sbview ************************

***命令按钮Command3的Click事件代码如下***

REPORT FORM myreport PREVIEW ************************

***命令按钮Command4的Click事件代码如下***

Thisform.Release

************************

步骤5:运行表单,保存表单设计到考生文件夹下。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下建立项目文件,文件名为myproj。

2.将数据库team添加到项目中。 3.对数据库team下的表score,使用查询向导建立查询myquery,要求查询出score表中\积分\在30以上的记录。并按\胜\排序(降序)。

4.用select语句查询表\股票\中的拼音缩写以\开头的记录,将使用的

SQL语句保存在mysql.txt中。 【操作步骤】

(1)在命令窗口中输入命令:CREATE PROJECT myproj,新建一个项目 (2)在项目管理器中单击\数据\选项卡,选择列表框中的\数据库\,单击右面的\添加\按钮,双击考生文件夹下的team数据库。

(3)单击\文件\菜单,选择\新建\,选中\查询\,单击右面的\向导\图标按钮,接着选择\查询向导\。步骤1,选中score表,选取全部字段添加到右边的\选定字段\,单击\下一步\步骤3,字段选择\积分\,操作符选择\大于\,输入值\步骤4,将\胜\添加到\选定字段\并选定降序,单击\完成\进入步骤5,再次单击\完成\,输入名称myquery后保存。 (4)在命令窗口输入命令:

SELECT * FROM team WHERE LEFT(拼音缩写,1)=\

在考生文件夹下新建文本文档,取名为mysql,将上述语句复制到其中,保存后结束。

1.在考生文件夹中有\畜禽信息\表和\数量\表。用SQL语句查询每种畜禽的\编号\、\名称\、\数量\和\净收入\,其中\净收入\等于每种畜禽的\市场价\减去\养殖成本\乘以\数量\。查询结果按\净收入\升序排序,\净收入\相同的按\编号\排序,将结果存放于表\净收入\中,将使用到的SQL代码保存到mytxt.txt中。

2.在考生文件夹下有表\数量\,在考生文件夹下设计一个表单myform,表单标题为\畜禽数量\。该表单为\数量\表的窗口输入界面,表单上还有一个标题为\结束\的按钮,单击该按钮退出表单。

(1)【操作步骤】

步骤1:在命令窗口中输入代码:MODIFY FILE mytxt,打开文本编辑器,输入如下程序段。

******文件mytxt.txt中的程序段******

SELECT 畜禽信息.编号,畜禽信息.名称,;

(数量.市场价-数量.养殖成本)*数量.数量 AS 净收入;

FROM 畜禽信息 INNER JOIN 数量; ON 畜禽信息.编号=数量.编号; INTO TABLE 净收入

***************************

步骤2:在命令窗口中输入代码:DO mytxt.txt,运行程序。(通过BROWSE命令可直接查看程序运行结果) (2)【操作步骤】

步骤1:在命令窗口输入命令:CREATE FORM myForm,新建表单并打开表单设计器。

步骤2:在表单设计器上右键单击,选择\数据环境\项,在弹出的对话框里,选中表\数量\,单击\添加\按钮,然后单击\关闭\。

步骤3:在数据环境设计器中,将\数量\拖到表单上,单击控件工具栏上的按钮控件,然后在表单上单击,建立按钮控件;在其上单击右键,选择\属性\在属性框里找到Caption属性,并将其修改为\结束\。

步骤4:双击按钮控件,输入其Click事件代码:Thisform.Release。 步骤5:在表单空白处单击,然后在属性框里找到Caption属性,并将其修改为\畜禽数量\。保存表单并运行。 在考生文件夹下有股票管理数据库stock_6,数据库中有stock_mm表和stock_cs表,表结构如下:

stock_mm表:股票代码C(6)、买卖标记L(.T.表示买进,.F.表示卖出),单价N(7,2),本次数量N(6);

stock_cs表:股票代码C(6),买入次数N(4),最高价N(7,2)

stock_mm表中一只股票对应多个记录,stock_cs表中一只股票对应一个记录(stock_cs表开始时记录个数为0)。

请编写并运行符合下列要求的程序: (1)设计一个名为stock_m菜单,菜单中有两个菜单项\计算\和\退出\。 程序运行时,单击\计算\菜单项应完成的操作是计算每支股票的买入次数和(买入时的)最高价存入stock_cs表中,买卖标记.T.(表示买进)。 (注意:stock_cs表中的记录按股票代码从小到大的物理顺序存放)

(2)根据stock_cs表计算买入次数最多的股票代码和买入次数存储到的

stock_x表中(与stock_cs表对应字段名称和类型一致)。

单击\退出\菜单项,程序终止运行。 【操作步骤】

步骤1:在命令窗口输入命令:CREATE MENU stock_m,系统弹出一个\新建菜单\对话框,在对话框中单击\菜单\图形按钮,进入菜单设计器环境。根据题意,首先输入两个主菜单 \计算\和\退出\,接着在\计算\菜单行的\结果\下拉框中选择\过程\选项(用于编写程序),在\退出\菜单行的\结果\下拉框中选择\命令\选项。

步骤2:单击\计算\菜单行中的\编辑\按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段。

*****\计算\菜单命令的程序设计****

SET TALK OFF SET SAFETY OFF

OPEN DATABASE stock_6

SELECT 股票代码,COUNT(*) AS 买入次数,MAX(单价) AS 最高价; FROM stock_mm; WHERE 买卖标记; GROUP BY 股票代码; ORDER BY 股票代码;

INTO ARRAY AFieldsValue DELETE FROM stock_cs

INSERT INTO stock_cs FROM ARRAY AFieldsValue PACK USE

SELECT * TOP 1 FROM stock_cs ORDER BY 买入次数 DESC INTO TABLE stock_x

SET SAFETY ON SET TALK ON

***********************

步骤3:在\退出\菜单项的\命令\文本框中编写程序代码:SET SYSMENU TO DEFAULT。

步骤4:选择菜单命令\菜单\-\生成\,生成一个菜单文件\。 步骤5:关闭菜单设计窗口,在命令窗口输入命令:DO stock_m.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,执行\计算\菜单命令,系统将计算结果自动保存到对应表中,单击\退出\菜单命令将恢复系统。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.将考生文件夹下的数据库\公司管理\中的表\部门\拷贝到表\部门2\中(拷贝表结构和记录)。

2.将表\部门2\添加到数据库\公司管理\中。

3.对数据库\公司管理\下的表\部门\,使用视图向导建立视图myview,要求显示出表中的所有字段,并按\部门号\排序(降序)。

4.修改表单myform,将其中选项按钮组中的两个按钮的标题属性分别设置为\经理\和\员工\。 【操作步骤】

(1) 在命令窗口中输入:USE 部门,接着输入:COPY TO 部门2,拷贝数据表\部门\。

(2) 输入命令:MODIFY DATABASE 公司管理,在数据库设计器中使用右键单击,选择\添加表\命令,双击考生文件夹下的\部门2\自由表,添加到数据库中。

(3) 单击\文件\菜单,选\新建\项,接着选择\视图\,单击右面的\向导\进入本地视图向导:

步骤1:将\部门\表的\可用字段\列表框中的字段全部添加到\选择字段\中,单击\下一步\

步骤3(没有步骤2):不需要任何操作,单击\下一步\

步骤4:将\部门.部门号\添加到\选定字段\中,在排序方式中选择\降序\,单击\下一步\

步骤4a:不需要任何操作,单击\下一步\

步骤5:单击\完成\,输入视图名myview,单击\确定\完成。 (4) 输入命令:MODIFY FORM myform,右键单击选项组按钮,选择\编辑\快捷菜单命令,在编辑状态下,选中Option1单选按钮,在属性面板中将其Caption属性值修改为\经理\同样修改Option2单选按钮的Caption属性值为\员工\。保存修改。

1.在数据库订货管理中建立视图\视图l\,包括表\订货信息\中的所有字段,并按\公司编号\排序,\公司编号\相同的,按\订单号\排序。


VF上机题库110(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:随州施工组织设计

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

马上注册会员

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