VisualFoxPro程序的设计实验指导书_第1页
VisualFoxPro程序的设计实验指导书_第2页
VisualFoxPro程序的设计实验指导书_第3页
VisualFoxPro程序的设计实验指导书_第4页
VisualFoxPro程序的设计实验指导书_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

..管理、贸经、生物专业《VisualFoxPro程序设计》课程实验指导书撰写人:汪闰六审定人:目录第一部分绪论……………….<3>第二部分基本实验指导…………………....<4>实验一VisualFoxPro6.0系统概述…………<4>实验二VisualFoxPro6.0基础………………<5>实验三数据库和表………….<7>实验四VisualFoxPro6.0程序设计基础……<12>实验五查询与视图…………..<18>实验六表单设计……………..<21>实验七报表和标签设计…….<33>实验八菜单设计与应用…….<36>实验九应用管理系统设计………………….<39>第一部分绪论本指导书是根据《VisualFoxPro程序设计》课程实验教学大纲编写的,适用于计算机科学与技术专业。本课程实验的作用与任务本实验课程的任务是使学生掌握计算机程序设计的基本知识和程序设计的基本思想。要求学生系统地掌握VisualFoxPro6.0基本理论以及程序设计的基本分析方法、编写方法和运行调试的方法,为学生在工作中的应用和实践打下必要的基础,为今后在工作中应用计算机解决实际问题打下基础。培养学生实动手能力和实作能力,启迪悟性、挖掘潜能,使学生在思维能力方面受到一定的训练,培养学生分析问题与解决问题的能力,为进一步的学习及今后从事相关工作打下扎实的专业基础。本课程实验的基础知识本课程实验的基础知识:VisualFoxPro6.0基础知识、数据及数据运算、数据库和表、程序设计基础、查询与视图、表单设计、报表和标签设计、菜单设计与应用等。本课程实验教学项目及其教学要求序号实验项目名称学时教学目标、要求1VisualFoxPro6.0系统概述2熟习visualfoxpro的工作环境,了解VisualFoxPro6.0的各个窗口与工具栏的使用2VisualFoxPro6.0基础2Vf的函数与表达式3数据库和表4数据库表的基本操作、数据库的操作、表的索引与排序,表的统计,多数据表的操作4VisualFoxPro6.0程序设计基础4程序文件的建立与执行、程序的基本结构5查询与视图4SQL查询语言、SQL的操作功能、定义功能、查询与视图设计器6表单设计4面向对象的程序设计基础、类、表单设计器、表单中的常用控件。7报表和标签设计2报表设计的基本步骤、创建报表、使用报表设计器、标签。8菜单设计与应用2掌握菜单设计与应用9应用管理系统设计2开发应用系统的全过程、项目管理、系统的集成和发布、连编合计26第二部分基本实验指导实验一VisualFoxPro6.0系统概述实验目的1、掌握VisualFoxPro的启动和退出。2、熟悉VisualFoxPro的操作界面。3、掌握VisualFoxPro选项设置。实验原理VisualFoxPro的窗口界面与系统菜单主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤1、启动VFP6.0方法一:直接双击桌面的VFP6快捷图标。方法二:单击"开始"、"程序"、"MicrosoftVisualFoxPro6.0”、"MicrosoftVisualFoxPro6.0”。2、退出VFP6.0方法一:在"命令"窗口中,输入"quit"方法二:按"Alt—F4”方法三:在"文件〔F"菜单中,选择"退出"命令方法四:单击主窗口左上角的图标,选择"关闭〔C"3、设置默认目录〔重要VFP6.0默认的工作目录为VFP程序的安装目录,它包含了VFP内含的数据,默认情况下,VFP把用户创建的数据库也放在主目录中。因此,最好建立自己的工作目录。例如在E盘建立一个文件夹,命名为自己的学号或姓名,如20080001,以后所有的实验内容都保存在这个文件夹中,需设定E:\20080001为自己的默认工作目录。方法一:<1>选择菜单栏中的"工具〔T"下拉菜单中的"选项〔O…"命令,弹出"选项"窗口,单击"文件位置"选项卡。<2>在窗口中选中"默认目录〔未用",单击"修改〔M…"按钮,弹出"更改文件位置"对话框,如<3>单击"使用〔U默认目录"框左边的复选框,再单击右边的生成器按钮,打开"选择目录"对话框,<4>选择当前工作目录,即你自己的文件夹,这时VFP关闭"选择目录"对话框,并返回到"更改文件位置"对话框。再单击"确定"按钮,回到"选项"对话框,默认目录已变为你自己的文件夹,单击"确定"按钮,VFP关闭"选项"对话框,并把选定的目录作为当前工作目录。经过以上4步,VFP就把用户创建的数据文件保存到当前工作目录中,这样用户就避免了在保存数据文件时反复选择目录的麻烦。方法二:在命令窗口输入:setdefaulttoE:\200800014、项目管理器的使用<1>建立一个项目文件"学生管理系统.pjx"。〔本课程目标即在学期末设计完成一个简单的学生管理系统<2>熟悉项目管理器的界面,练习项目中文件的查看方法,了解项目管理器中一些按钮的含义。<3>在项目管理器中新建一个自由表"学生.dbf",该表包含以下四个字段:学号〔字符型、姓名〔字符型、性别〔逻辑型、出生日期〔日期型。<4>为表"学生.dbf"任意输入两条记录。〔简单介绍一下浏览记录、追加记录、修改表结构等方法<5>将学生.dbf从项目中移去,再添加进来。<6>退出VFP。5、初步熟悉命令窗口的用法和特点〔为后续实验做准备<1>启动VFP。<2>隐藏和显示命令窗口。<3>打开刚才建立的表文件学生.dbf。方法:在命令窗口输入命令use学生.dbf注:注意观察状态栏的变化。<4>浏览当前打开的表中的记录方法:在命令窗口输入命令browse实验注意事项"命令"窗口随VisualFoxPro的启动而自动打开,并随VisualFoxPro的退出而关闭。除上述"命令"窗口的隐藏与方法外,还可单击工具栏中的"命令窗口"按钮进行操作。思考题1、VisualFoxPro默认的安装路径是什么?如何建立VisualFoxPro桌面快捷方式?2、按照上述要求对软件环境进行配置后,VisualFoxPro界面将有哪些明显的变化?实验二VisualFoxPro6.0基础实验目的1、初步掌握VisualFoxPro的基本数据类型。2、掌握VisualFoxPro的运算符、表达式以及常用内部函数的使用。3、掌握命令窗口的使用即交互式命令操作方式。实验原理VisualFoxPro的基本数据类型主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤1、进入命令窗口,输入命令完成下表中各表达式的计算,填写命令执行结果和命令功能。注意:输入命令时除汉字外所有字符均应在英文状态下输入。表1-1常量、变量、函数与表达式的使用类型在命令窗口中输入命令并执行算术表达式<由常量、变量、算术运算符和数值函数组成>?2*3^3+2*8?13-4%5-2^3?INT<-3.1415926>,INT<ABS<99-100>/2>?ROUND<-3.1415926,5>?SQRT<10>?RAND<>字符表达式?"visual"+"foxpro","visual"-"foxpro"?AT<"fox","foxpro">?LEN<"VisualFoxPro">?RIGHT<"VisualFoxPro",3>?SUBSTR<"数据库应用技术",7,4>日期表达式?{^2004-04-28}>DATE<>?DATE<>-{^2002-06-10}?DATE<>-100?YEAR<DATE<>>?MONTH<{^2000-12-22}-40>关系表达式?2*3=3+3?{^2008-10-2}>{^2008-10-5}?'abc'<='AB'?INT<10.512>>10逻辑表达式?NOT<10>5>?<10*2=20>AND<10>12>?<10*2=20>OR<10>12>混合及其他?STR<12345.678,8,1>?STR<12345.678,8,2>?"ab"$"abcd"ANDNOT<3<4>?SUBSTR<DTOC<DATE<>>,7,2>?ASC<"A">,CHR<98>变量的定义、赋值、使用和查看&&顺序执行以下命令,观察执行结果STORE5TOm1,m2,m3?"L=",2*PI<>*m1?"S=",PI<>*m1*m1s="VisualFoxPro程序设计"?LEN<s>?LEFT<s,6>?RIGHT<s,4>+SUBSTR<s,15,4>DIMENSIONa<5>,b<2,4>DISPLAYMEMORYDISPLAYMEMORYLIKEm*a<2>=10a<4>="XX"b<2,1>=5DISPLAYMEMORYCLEARMEMORYDISPLAYMEMORY实验注意事项TYPE函数的参数需要用单引号、双引号或方括号作为定界符。SQRT函数的参数值不能为负。思考题假设:姓名="李丽",性别="女",年龄=30,婚否=.T.,职称="工程师",基本工资=680。计算下列表达式的值:婚否.and.性别="女".not.婚否.or.性别="男"年龄<=40.and.性别="女"〔年龄>30.or.基本工资>300.and.职称="教授"年龄<30.or.基本工资>300.and..not.职称="技术员"实验三数据库和表实验目的1、掌握表的建立方法,学会表的打开、关闭、浏览、显示、复制等操作方法,掌握表结构的修改,掌握表记录的定位、添加、删除、修改、替换等操作。2.掌握数据库表的字段属性和表属性设置,学会对数据库表进行排序操作,掌握结构复合索引的建立和使用。3掌握表的数据求和、求平均值、统计和分类汇总等操作,掌握数据库表建立永久关系的作用和方法,学会数据库参照完整性的作用和设置。实验原理表的基本操作,表的索引与排序,表的统计,数据库的操作,多数据表的操作主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤一、表的建立和维护<一>设计并建立学生成绩管理数据库,其中包括三个表:学生表、课程表、成绩表,本例先建立学生表。1、设计表的结构描述学生的信息,定义字段的数据类型及相关属性,表记录如下图所示。2、选择菜单"文件-新建-数据库",进入数据库设计器,建立数据库"学生成绩管理.dbc",3、建立数据库表在数据库设计器中选择按钮"新建表"进入表设计器。在打开的"表设计器"中,根据上面设计的表结构,输入各字段名、类型、宽度与小数位数,点击"确定"按钮。注意:该表会自动保存在你的工作目录下。3、输入记录上一步点击"确定"后,会弹出一个对话框,问是否输入记录,单击"是"按钮,即可输入学生表的记录信息。4、退出VFP。〔二表菜单的操作点此下载已建好的学生表student.dbf,存放到你的工作目录中,启动VFP,打开该表,浏览表中的记录信息,练习表菜单的操作。注:对表作任何操作前必须首先打开该表。命令方式打开表:USEstudent.dbf浏览表中所有记录:BROWSE关闭当前打开的表:USE菜单方式:文件-打开,文件-关闭〔三对表"student.dbf"作以下操作:1、修改表结构,增加"简历"字段,类型为备注型。2、显示表结构。3、记录的增加<1>在表中增加一条记录〔内容自定。<2>在表中第三条记录前插入一条记录〔内容自定。<3>对表中的第二条记录编辑备注字段,添加内容"THESTUDENTISGOOD"。4、显示表记录<1>显示表中所有女同学的记录。<2>显示表中的"姓名,出生日期,总分"三个字段的内容。<3>显示表中男同学中总分大于550的记录,要求只要显示姓名,性别,总分三个字段。<4>显示表中1986年以前出生的学生记录。<5>显示表中从第5个记录开始的剩余所有记录。5、修改记录<1>打开BROWSE浏览窗口,修改第二个记录,将其总分增加10。<2>将表中男同学的总分增加10%。<3>将表中系科为体育的记录删除并恢复。<4>真正删除表中的第2~5记录<用DELETE/PACK>。<5>关闭表文件。6、表的复制<1>将学生表结构复制到一个新表,新表文件名为student1.DBF,只含有学生表中姓名,学号,性别等三个字段。<2>将学生表复制一个新表,新表文件名为student2.DBF。二、数据库表的属性设置、表的排序和索引〔一对表student.dbf作如下设置:1、设置字段"统招否"的默认值为.T.。2、设置字段"性别"的有效性规则:要求性别只能为"男"或"女"。3、要求"学号"只能输入数字,不超过8位。〔提示:设置输入掩码<二利用表设计器为表建立索引。1、为表"student.dbf"建立一个主索引,索引表达式为"学号",索引名为xh,降序。操作步骤:打开学生成绩数据库,选中表student.dbf,按右键选择"修改"进入表设计器,设置索引。2、执行list命令,观察记录的显示顺序。3、为表"student.dbf"建立一个普通索引,索引名为xm,索引表达式为"姓名",升序;执行list命令,观察记录的显示顺序。4、关闭所有打开的数据库和表文件。再次打开表student.dbf,执行list命令,观察记录的显示顺序。5、通过菜单方式设定主控索引为"xh",执行list命令,观察记录的显示顺序。操作方法:打开浏览窗口,选择菜单"表-属性",弹出"工作区属性"对话框,从"索引顺序"列表框中选择索引名xh。<三>使用命令排序、建立和使用索引。1、将表student.dbf按"总分"字段降序排序,生成新表文件student3.dbf,并在屏幕上显示新表的记录。2、将表student.dbf中的男同学记录按出生日期排序,生成新表文件student4.DBF。3、对表course.dbf,分别以课程号、课程名和类别为索引表达式建立三个结构复合索引,索引名分别为kch,kcm,lb。4、设定主控索引为kcm,并显示表中的记录。5、用LOCATE命令查找课程名为"网页程序设计"的记录。6、用FIND和SEEK命令查找课程号为"B002”的记录。三、统计命令和多表操作〔一统计命令以下操作针对课程表course.dbf1.计算表中所有学分的总和,把它存入变量T1中,并显示该变量的值。2.计算公共基础课的学时数的和,结果存入变量T2中,并显示该变量的值。3.统计专业选修课的数量,结果存入变量T3中,并显示该变量的值。以下操作针对学生表student.dbf4.求表student.dbf中所有女生的平均总分,结果存入变量A中。5.统计表student.dbf中86年出生的人数,把它存入变量T4中,并显示该变量的值。〔二数据库的相关操作1、打开"学生成绩数据库.dbc",将表course.dbf添加到该数据库中。操作步骤:<1>通过选择"文件"菜单项下的"打开"选项,指定文件类型为数据库<dbc>。在出现的对话框中选取数据库文件"学生成绩数据库.dbc"所在的位置,找到"学生成绩数据库.dbc",单击"确定"。<2>在出现的数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择"添加表"选项,然后在"打开"对话框中,选定自由表"courser.dbf",点击"确定"按钮。2、建立"学生成绩数据库.dbc"中表之间的永久关系,表student.dbf和表assign之间是一对多关系,表course.dbft表assign之间是一对多关系。操作步骤:<1>分别用鼠标右击每个数据库表,在弹出的快捷菜单中选取"修改"选项,出现"表设计器"窗口。<2>对表student.dbf,建立以学号为索引表达式的主索引;对表assign.dbf,建立以学号为索引表达式的普通索引。<3>建立永久关系。将鼠标指向"student.dbf"表中的主索引"学号",按下鼠标左键拖动到"assign.dbf"表中的普通索引"学号"上,然后释放鼠标左键,这时拖动过程中出现的小方块消失,并可看到两个表之间出现了一条连接线,表示两个表间的关系已经建立。〔4运用同样的操作步骤建立表course和表assign之间的关系。3、为表student和表assign之间建立的联系指定参照完整性,其中插入规则为"限制",更新规则和删除规则为"级联"。在数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择"编辑参照完整性"选项,在"参照完整性生成器"对话框中,选取父表列中的表student,再选中插入规则选项卡,点击"限制"单选钮。然后分别选中更新规则选项卡和删除规则选项卡,点击"级联"单选钮,最后单击"确定"。验证插入规则是否"限制":为成绩表assign增加一条记录,学号为"20080033",由于学生表记录中无学号为"20080033"的学生记录,因此增加不了。验证更新规则是否"级联":把"student.dbf"中的学号"20080005"改为"20080105",查看assign.dbf中的相关记录是否随之修改了。验证删除规则是否"级联":删除student.dbf"中的学号"20080001"的记录,查看assign.dbf中的相关记录是否随之删除。〔三多表操作1、工作区选择操作。2、分别在两个工作区打开"student.dbf"与"assign.dbf",建立表间的临时关联,移动student.dbf的记录指针,查看某个学生的成绩记录。实验注意事项1、若要修改记录,必须在打开表时设置独占方式,在打开对话框选择"独占"复选框,或在USE命令中加EXCLUSIVE选项。2、用COPYFILE复制带有备注文件的表时,除安排一条命令复制表文件之外,还要安排一条命令复制备注文件,否则,在VisualFoxpro环境下不能打开复制所得到的新表。思考题1、分别用命令LIST和DISP显示表中的记录,这两个命令有什么不同之处?2、追加新纪录的菜单命令有几种,他们有什么不同?3、什么是表间的一一关系、一多关系?实验四VisualFoxPro6.0程序设计基础实验目的1、熟悉程序的编辑环境以及VFP程序文件的建立、运行与调试方法,掌握VFP的基本输入输出命令,了解常用环境设置命令和程序控制命令,掌握顺序结构和分支结构的程序设计。2、掌握循环结构的编写、调试与运行,了解多重循环语句的用法。3、掌握子程序、自定义函数、过程的编写、调试与运行;了解变量的作用域。实验原理程序文件的建立与执行、程序的基本结构主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤一、顺序结构与选择结构1、编写程序prog9-1.prg,实现以下功能:输入圆的半径,计算出圆的面积和周长。分析:参考程序:input"请输入圆半径:"torl=2*PI<>*rs=PI<>*r*r?"圆的周长是",l?"圆的面积是",s2、编写程序prog9-2.prg,根据输入的学生姓名,从表"student.dbf"中查找该学生的记录信息,并显示在屏幕上。参考程序:usestudentaccept"请输入学生__"toxmlistfor姓名=xmusereturn3、创建程序文件prog9-3.prg,从表student中查找指定日期以后出生的学生。参考程序:opendatabase学生成绩数据库.dbcusestudentinput"请输入日期:"torqselect*formstudentwhere出生日期>rquseclosedatabasereturn运行该程序时请注意输入日期的格式。4、编写程序prog9-4.prg,从表"student.dbf"中,根据姓名查询指定学生的记录,若找到了则显示该学生的记录在屏幕上,若没有找到,则输出"XX同学不存在!"<其中XX代表输入的姓名>。参考程序:setexactonUsestudentInput"请输入要查找的学生__"toxmLocatefor姓名=xmIffound<>thenDisplayElse?xm+"同学不存在!"EndifUseReturn5、编写程序prog9-5.prg,根据用户输入的百分制成绩,转换成相应的等级输出。等级划分标准为:90-100分优秀;80-89分良好;70-79分中等;60-69分及格;60分以下为不及格。参考程序:input"请输入分数:"tofsIffs>100orfs<0thenInput"分数不对,请重新输入分数:"tofsEndifDocaseCasefs>=90andfs<=100?"你的成绩优秀!真棒啊!"Casefs>=80andfs<90?"你的成绩良好!"Casefs>=70andfs<80?"你的成绩中等,还要加油哦!"Casefs>=60andfs<70?"你的成绩刚及格,努力呀!"Otherwise?"你的成绩不及格。。。"Endcasereturn二、循环结构1、编写程序exp01.prg,求出1至10的连续自然数的和,并将结果输出在屏幕上。参考程序:clearS=0Fori=1to10S=s+iNext?"s=",s2、编写程序exp02.prg,求1到100以内连续自然数的和,当和超过2000时停止,并将结果输出在屏幕上。参考程序:clearS=0I=1Dowhilei<100S=s+iIfs>=2000ExitEndifI=i+1Enddo?"s=",s?"i=",i3、编写程序exp03.prg,要求逐条显示表student中所有男生的记录。〔注意:要求已设置好默认工作目录参考程序:usestudentScanfor性别="男"DisplayEndscanUsereturn4、编写程序exp04.prg,要求逐行打印出能被7整除的自然数,当这样的数达到20个时结束程序。程序分析:本题不知道循环变量的终值是多少,因此条件不能直接给定,而是当"被7整除的数达到20个时"结束循环,因此,我们设定循环条件为无限循环,满足条件时再退出循环。参考程序:n=0I=1Dowhile.t.Ifint<i/7>=i/7?iN=n+1EndifIfn>=20ExitEndifI=i+1enddo5、编写程序exp05.prg,要求在屏幕上打印一个用"*"组成的直角三角形如图所示:***************参考程序:fori=1to5Forj=1toi??"*"Next?next6、〔*编写程序exp06.prg,要求在屏幕上打印一个用"*"组成的等腰三角形如图所示:*************************参考程序:fori=1to5??space<6-i>Forj=1to2*i-1??"*"Next?next三、子程序、函数与过程1、分别建立如下3个程序文件,主程序main.prg,子程序sub1.prg和sub2.prg,在命令窗口中运行第一个程序文件main.prg,观察运行结果并分析。通过本例理解子程序的调用方法和程序间的调用关系:主程序可以调用子程序,子程序还可以调用其他子程序,RETURN语句返回上级调用程序的下一条语句,主程序中的RETURN语句返回到命令窗口。RETURNTOMASTER直接返回最高一级调用程序即主程序。运行结果如下图:2、将第1题的2个子程序SUB1.PRG和SUB2.PRG改写为过程,并存放于过程文件mysub.prg中,把主程序main.prg另存为main2.prg,在主程序中通过打开过程文件的方法实现对过程的调用。3、采用过程调用的方法,求1!+2!+3!+...+10!解题思路:建立主程序main3.prg,该程序实现求和,在求某数的阶乘时调用一个过程jiecheng,该过程求任意一个数n的阶乘。参考程序:s=0Jie=0Fori=1to10Dojiechengwithi,jieS=s+jienext?"1!+2!+…+10!="+alltrim<str<s>>ProcedurejiechengParametern,jieJie=1Fork=1tonJie=jie*kNextreturn4、定义一个计算圆面积的函数,编写主程序实现输入任意一个半径,调用该函数求出圆的面积并显示结果。参考程序:input"请输入圆的半径:"torS=area<r>?"圆的面积为:",sReturnFunctionareaParameterr1S1=pi<>*r1^2Returns15、建立程序main5.prg,如下图所示,通过本例了解变量的作用域。程序执行结束后,再在命令窗口分别输入?x1,?x2,?x3看看能否显示变量的值。实验注意事项区分交互式输入命令ACCEPT、INPUT、WAIT三种命令的相同点与不同点。思考题1、把实验内容选择结构第5题改写成嵌套的IF语句。输出语句也可以写在所有判断结束之后,想一想怎样写?2、编写程序exercise1.prg,将成绩在85分至90分之间的学生的学号、课程号、成绩等信息显示在屏幕上。实验五查询与视图实验目的1、掌握SQL语言的数据定义功能、数据操作功能、数据查询功能,重点掌握基本查询和条件查询。2、掌握查询和视图设计器的使用。实验原理SQL查询语言、SQL的操作功能、定义功能、查询与视图设计器主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤一、SQL语言的应用1、创建表:创建一个学生表xs.dbf,包括以下字段〔学号,姓名,性别,出生日期,入学成绩,专业,请自行设计字段类型和宽度。参考命令:createtablexs.dbf<学号C<8>,姓名C<8>,性别L,;出生日期D,入学成绩N<6,2>,专业C<30>>〔分号是续行符2、修改表结构:把xs.dbf中的字段姓名宽度改为10;增加一个字段籍贯,字符型,宽度为10。参考命令:altertablexs.dbfalter姓名C<10>altertablexs.dbfadd籍贯C<8>3、增加记录:向xs.dbf中输入三条记录。参考命令:insertintoxs<学号,姓名,性别,出生日期,入学成绩,专业,;籍贯>values<"20060001”,"王晓",.T.,{^1990-1-12"法学","XX">4、修改记录:将所有姓王的学生的籍贯修改为"XX"。参考命令:updatexs.dbfset籍贯="XX"where姓名="王"5、删除记录:删除姓王的学生的记录。参考命令:deletefromxswhereleft<姓名,2>="王"6、查询:以下题目针对图书管理数据库中的表进行操作。〔1简单查询:按读者的出生日期升序列出所有读者的记录。参考命令:select*from读者.dbforderby出生日期〔2条件查询:从读者.dbf中查询出所有非XX籍的读者记录。参考命令select*from读者.dbfwherenot<籍贯="XX">〔3条件查询:从图书.dbf中查询出价格在20元以上25元以下的图书记录,并将查询结果存到表chaxun1.dbf中。参考命令:select*from图书.dbfwhere价格>20and价格<25intodbf;chaxun1.dbf〔4条件查询:从图书.dbf中查询出所有"教育出版社"出版的书号、书名、出版社。参考命令:select书号,书名,出版社from图书.dbfwhere出版社;like"%教育出版社%"〔5连接查询:查询出20XX6月以后借书的读者的读者编号、姓名、借书日期。参考命令:select读者.读者编号,读者.姓名,借书.借书日期from读者,借书where读者.读者编号=借书.读者编号and借书.借书日期>={^2003-06-01}〔6嵌套查询:找出所有男读者的借书记录。参考命令:select*from借书where读者编号in<select读者编号from读者where性别="男">〔7统计查询:计算出图书表中"清华大学出版社"的图书总数量。参考命令:selectsum<数量>as总数from图书where出版社="清华大学出版社"〔8分组查询:分别统计读者表中男女读者的人数。参考命令:select性别,count<性别>as人数from读者groupby性别二、查询与视图设计针对学生成绩数据库完成以下操作:1、对学生表student.dbf建立一个查询cx1.QPR,要求显示以下字段:学号、姓名、性别、出生日期、总分,并按"学号"降序排列,运行该查询观察结果。2、建立一个查询cx2.QPR,要求:列出86年出生的学生的学号、姓名、性别、系科,并按"姓名"升序排列,运行该查询观察结果。3、建立一个查询cx3.qpr,要求:列出所有女生的学号、姓名、所选课程号、成绩,按"姓名"降序排列,运行该查询观察结果。〔提示:该查询涉及两个表4、建立一个查询cx4.qpr,要求:列出学生表student中男女学生的人数。〔提示:分组统计5、对学生成绩管理数据库建立一个视图view1,要求列出所有男生的学号、姓名、性别、系科。6、对学生成绩管理数据库建立一个视图view2,要求列出所有成绩在85分以上的学生的学号、所选课程号、课程名、学分。〔提示:该视图涉及两个表实验注意事项1、如果命令一行写不下,可以通过续行符";"把命令分成两行2、查询设计器中"选定字段"列表框最多可选择三个排序字段。思考题1、实验内容中修改记录:"将所有姓王的学生的籍贯修改为"XX""还可以怎么写?2、实验内容中条件查询:"从读者.dbf中查询出所有非XX籍的读者记录"还可以怎么写?3、用SQL命令对学生成绩管理数据库中的表完成以下查询操作:〔1从student表中查询出所有学生的情况,并按学号降序排列。〔2从student表中查询出计算机系的学生的学号、姓名、出生日期。〔3列出"学时数在60分以上且学分为3”的所有课程信息。〔4计算出assign表中选修了课程号为C0004的学生的平均成绩。〔5列出所有成绩在85分以上的学生的学号、课程名、学时数、成绩。〔提示:本题涉及到两个表,需用连接查询〔6统计student表中男女学生的人数。〔提示:按性别字段分组统计记录数实验六表单设计实验目的1、掌握使用表单设计器创建表单的基本操作方法,掌握表单的修改及运行方法,掌握标签控件、命令按钮控件、文本框控件、计时器控件的常用属性及应用。2、掌握利用表单向导创建表单的方法,熟悉数据环境的设置方法,熟悉利用表单设计器把控件和数据绑定在一起的方法。3、熟悉查询表单的一般设计方法,通过表单综合应用设计,熟悉表格控件、列表框、组合框、编辑框、选项组、复选框控件的常用属性和事件,了解其他常用控件的用法,如命令按钮组、微调控件、页框控件、图象控件等。实验原理面向对象的程序设计基础、类、表单设计器、表单中的常用控件主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤一、表单设计器1、设计一个表单作为学生成绩管理系统的封面,取名为"封面.scx"<通过本例掌握表单的建立、表单属性的设置和表单的运行>。步骤如下:<1>单击"文件"菜单中的"新建"选项,选择表单,进入表单设计器,向表单添加三个"标签"控件Label1、Label2、Label3。<2>按下表分别设置对象属性,Label2和Label3的属性请自行设置。单击选中某对象,在属性窗口进行相关属性的设置。对象Name属性名属性值含义说明Form1AutoCenter.T.-真启动表单时,自动在VFP主窗口中居中WindowState2-最大化启动表单时最大化显示Caption学生成绩管理系统封面启动后标题栏中显示的文字Picture从硬盘中选择一张图片添加进来表单背景Label1Caption欢迎使用学生成绩管理系统标签显示的文字ForeColor255,255,0字的颜色:黄色FontName宋体字体FontSize32字号BackStyle0-透明?Label2Caption开发:VFP课程组标签显示的文字Label3Caption20XX5月标签显示的文字<3>单击菜单"文件-保存"或单击工具栏上的保存按钮,保存该表单,取名为"封面.scx"。<4>运行该表单。2、设计一个表单,表单中加入一个标签和二个命令按钮改变颜色和改变大小,要求单击改变颜色按钮使得标签文字颜色变为红色,单击改变大小按钮使得文字大小增加2号。运行效果如下图所示:<通过本例初步理解事件驱动,掌握如何在程序中设置对象属性。>设计步骤如下:<1>设计界面:新建一个表单,保存为ex12_2.scx。添加一个标签和三个命令按钮,设置属性如下:对象对象名Name属性名属性值含义说明标签Label1Caption标签是用来显示提示文字的。标签显示的文字FontSize14字号AutoSize.T.-真自动调整大小命令按钮1CmdColorCaption变红色按钮标题命令按钮2CmdSizeCaption放大字体按钮标题命令按钮3CmdExitCaption退出按钮标题<2>分别为三个命令按钮编写Click事件代码。双击按钮"变红色",进入CmdColor.Click的代码编写窗口,如下图:

双击按钮"改变字号",进入CmdSize.Click的代码编写窗口,如下图:

双击按钮"退出",进入CmdExit.Click的代码编写窗口,如下图:

<3>保存表单并运行。3、设计一个表单ex12_3.scx,添加一个标签label1和一个计时器控件Timer1,使得标签Label1每隔1秒从左向右移动5个像素单位,移到窗口右边界时标签回到左边继续向右移动。<掌握计时器控件的用法,对象的位置属性left、top、width、height>计时器Timer1的属性设置:Interval设为1000,Enabled设为.T.-真。计时器Timer1的Click事件代码参考如下:4、为学生成绩管理系统设计一个登录表单login.scx,假定管理员用户名为admin,密码为123456,要求用文本框中输入用户名和密码,单击登录按钮,如果用户名和密码正确则显示欢迎词,否则显示"用户名或密码有误"。单击重新输入可清除文本框中的内容。表单界面如下图所示:提示:为了使密码用*显示,需设置text2的PasswordChar属性为"*"。二、表单设计器1、用表单向导为学生成绩管理项目建立一个对表"student.dbf"进行浏览、修改的表单。〔1打开素材中的项目文件"学生成绩管理",选择"文档"-"表单",选择"新建"-"表单向导",再选取"表单向导",单击"确定";〔2再选择"表单向导",进入表单向导步骤1:先选定表"student.dbf,再选定需要显示的字段,单击"下一步";

<3>选择表单样式为标准式,按钮类型选择文本按钮,单击"下一步";<4>指定排序字段。如对排序无明确要求,直接单击"下一步";<5>输入表单标题"学生信息浏览",选中"保存表单并用表单设计器修改表单"选项。单击"完成"按钮,指定表单名称为xsxx,点击"保存",出现表单设计界面,如下图所示:<6>单击工具栏中的红色感叹号运行该表单,结果如下图所示:2、用一对多表单向导建立一个表单,可浏览某个学生的基本信息和成绩信息。〔注:用表student和assign建立一对多表单<1>选择"文件"菜单中的"新建"选项,指定文件类型为表单。选中"向导",选取"一对多表单向导",单击"确定"。<2>指定student.dbf作为父表,并选择其所有字段,。<3>指定assign.dbf作为子表,选择其所有字段,单击"下一步"。<4>指定两个表间的关联关系。表单向导程序已经指定默认的关联关系为student.学号-assign.学号。<5>选择表单样式为标准式,按钮类型选择文本按钮,单击"下一步"。<6>输入表单标题"学生成绩信息",选中"保存表单并用表单设计器修改表单"选项。单击"完成"按钮,指定表单名称为xscjcx,点击"保存",出现表单设计界面,运行该表单,可以发现学生信息与其成绩信息是相关联的。3、利用表单设计器设计课程表"course.dbf"的维护表单,实现添加、修改、删除、移动记录等操作。表单运行效果如下图所示:点击相应的按钮后可实现记录的逐条移动、记录的增加和删除操作。操作过程:<1>选择"文件"菜单中的"新建"选项,指定文件类型为表单,选中"新建",打开表单设计器;<2>将鼠标指针移到表单空白处,单击鼠标右键,选择"数据环境",在打开的数据环境设计器中,单击鼠标右键,选择"添加",将course.dbf表添加到数据环境中;<3>按住鼠标左键,将数据环境设计器中表course.dbf中的各个字段依次拖到表单中,可以快速地建立相应的控件对象用于显示表中相应的字段;然后根据需要调整表单布局;<4>添加效果图所示的7个命令按钮,设置好其caption属性和Name属性;<5>选中数据环境中的表course,在属性窗口设置其属性"Exclusive"的值为".T.",表示以独占方式打开该表〔如果程序中要彻底删除某条记录,则必须要求以独占方式打开该表。如下图所示:<6>分别编写7个命令按钮的click过程如下:<7>注意观察:显示表字段的文本框有一个重要属性controlsource用于与对象建立连接的数据源。<8>保存表单,单击工具栏中的红色感叹号运行该表单,看看各按钮的功能是否正确实现。三、表单综合应用设计1、建立一个针对学生表student.dbf的查询表单,要求输入学号可查询到该学生的姓名、性别、出生日期、系科,查询到的相应字段值显示在文本框中。<1>参考下图设计表单界面:<2>编写按钮"查询"的click事件代码如下:

<3>保存表单为"学生信息查询.scx",并运行验证。2、建立一个针对课程表course.dbf的查询表单,要求在列表框中选择课程名,点击查询按钮后可查询到该课程的相关信息,查询结果用Grid控件显示。<1>参考下图设计表单界面:属性列表:对象名Name属性名属性值含义说明Label1?Caption请选择要查询的课程名标签显示的文字FontSize16字号Combo1Rowsourcetype6-字段?Rowsourcecourse.课程名?Grdcourserecordsourcetype1-别名?recordsourcecourse?command1Caption查询?注:组合框和表格均可以由生成器快速设置。<2>编写按钮"查询"的click事件代码如下:<3>保存该表单为"课程信息查询.scx",并运行。3、选项按钮组控件的使用。设计一个表单,界面如下图所示,要求通过选定不同的按钮,设置编辑框edit1中的文字为不同的颜色和字体。<1>该表单包含一个编辑框、两个选项按钮组和两个命令按钮,部分属性设置参见下表。〔注:选项按钮组可用生成器来设置某些属性,比较方便。对象名Name属性名属性值含义说明Edit1Value<请任意输入一段文字。编辑框中显示的文字Optiongroup1Value1选中第一项ButtonCount3该组有三个选项按钮Option1Caption红色第一个选项按钮组中的按钮Option2Caption绿色?Option3Caption蓝色?Optiongroup2Value1选中第一项ButtonCount3该组有三个选项按钮Option1Caption黑体第二个选项按钮组中的按钮Option2Caption隶书?Option3Caption仿宋?Command1Caption确定命令按钮上显示的文字Command2Caption退出命令按钮上显示的文字<2>编写command1<即确定按钮>的click事件代码如下:〔3保存该表单为"文本编辑1.scx",并运行验证。4、复选框控件的使用。设计一个表单,界面如下图所示,该程序实现的功能是通过复选框设置编辑框中文字是否加粗、是否倾斜等。〔1参考下图设计表单界面。添加一个编辑框,设置其Value属性;添加三个复选框check1、check2、check3,分别设置其Caption属性。〔2分别编写三个复选框的click事件代码如下:〔3保存该表单为"文本编辑2.scx",并运行验证。实验注意事项1、复制控件会将控件的属性值及事件代码一同复制。2、如果用户为表单添加了数据环境,交互式设置该属性的值时,可以直接在列表中选择字段。思考题当复制控件时,如果在同一个表单中复制,新控件的名字与源控件的名字是否相同?表单参数的传递,一次只能传递一个参量,还是可以同时传递多个参量?实验七报表和标签设计实验目的1、掌握一对多报表和基于一个表的报表设计方法。2、掌握报表设计器中各种控件的用法,并能利用报表控件设计专门报表。实验原理报表设计的基本步骤、创建报表、使用报表设计器、标签。主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤1、用报表向导程序建立一个简单报表,输出学生记录,数据源为表"student.dbf"。<1>选择"文件"菜单项中的"新建"选项,指定文件类型为报表,单击"向导"按钮,然后单击"报表向导"按钮,点击"确定",进入报表向导窗口。<2>选择表"student.dbf"为报表的数据源,并将学号、姓名、性别、出生日期、系科、总分等字段加入到选定字段框中,单击"下一步"。<3>选择报表样式为账务式,单击"下一步"。<4>不改变报表布局的默认设置,单击"下一步"。<5>不指定排序字段,单击"下一步"。<6>在报表标题栏输入"学生基本情况表",选中"保存报表并在报表设计器中修改报表"单选按钮。<7>单击"预览"按钮可浏览报表,单击"完成"按钮,为报表文件指定存储路径并指定报表文件名为"学生报表"。2、根据表"student.dbf、assing.dbf",建立一个一对多的报表,并按"系科"进行分组。<1>单击工具栏中的"新建"按钮,在弹出的"新建"对话框中选择"报表",然后单击"向导"按钮,打开"向导选取"对话框,单击"一对多报表向导"按钮,点击"确定",启动报表向导。<2>从父表选择字段。打开"学生成绩管理"数据库,从列表框中选择父表:student。从"可用字段"列表中选择字段:学号、姓名、性别。将其添加到"选定字段"列表中,单击"下一步"。<3>从子表选择字段。从列表框中选择子表:course。从"可用字段"列表中选择字段:课程号、成绩。将其添加到"选定字段"列表中,单击"下一步"按钮。<4>为表建立关系。如果原数据库中已建立关系,则单击"下一步"按钮。<5>排序记录。选择"学号"字段作为"排序"依据,选取"升序"单选钮。单击"下一步"按钮。<6>选择报表样式。选择"经营式",单击"下一步"按钮。<7>完成。修改报表标题为:学生成绩一览表。选择:保存报表并在"报表设计器"中修改报表。单击"完成"按钮,以"学生成绩报表.frx"为名保存报表布局。进入"报表设计器"。<8>修改报表布局。根据需要调整某些对象的宽度、位置等。<9>在"报表"菜单中选择"数据分组",打开"数据分组"对话框,单击分组表达式框右边的三点按钮,在表达式生成器中输入或选择字段"student.学号"作为分组依据。<10>保存并预览报表。3、建立一个显示课程信息的报表,数据源为"course.dbf"。要求包含课程号、课程名、开课学期、学时数、学分等字段,直接用报表设计器建立。<1>单击工具栏中的"新建"按钮,选中"报表",单击"新建",启动"报表设计器",报表设计器如下图所示,包含页标头、细节、页注脚三个带区。<2>在报表设计器中按右键选择数据环境,打开数据环境设计器,将表course.dbf添加到数据环境中。<3>在页标头处添加三个标签控件,分别输入"课程号"、"课程名"、"学分"。<4>在细节处添加三个域控件,分别用于显示表course的"课程号"字段、"课程名"字段、"学分"字段。<5>保存该报表定义并预览结果。实验注意事项无思考题报表设计的主要任务是什么?报表设计的基本步骤是什么?实验八菜单设计与应用实验目的1.理解菜单的组成以及菜单基本概念<如菜单栏、子菜单、菜单选项等>。理解菜单在数据库应用系统中的作用及设计方法。2.掌握利用菜单设计器设计菜单的方法。3.掌握快捷菜单的特点以及设计方法。实验原理菜单设计与应用主要仪器及耗材PIV以上计算机,安装VisualFoxPro6.0实验内容与步骤1.利用菜单设计器为学生成绩管理系统创建主菜单,菜单的结构如下图所示:<1>选择"文件"菜单项中的"新建"

温馨提示

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

评论

0/150

提交评论