数据库技术应用基础第6章.ppt_第1页
数据库技术应用基础第6章.ppt_第2页
数据库技术应用基础第6章.ppt_第3页
数据库技术应用基础第6章.ppt_第4页
数据库技术应用基础第6章.ppt_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

2019年11月22日星期五,1,第六章数据库程序设计,数据库技术应用基础,清华大学出版社史九林编著,2019年11月22日星期五,2,主要内容,程序设计的基本概念,VFP程序设计语言,VFP结构程序设计,VFP面向对象程序设计,VFP编程工具,应用系统集成和菜单设计,2019年11月22日星期五,3,VFP命令序列,对命令的注解,6.1程序和程序设计,2019年11月22日星期五,4,1)程序,程序是能在计算机上求解一个问题的一系列指令的有序集合,是计算机科学和技术的专有名词能在计算机上执行并获得结果能进行问题求解获得特定问题结果用一系列指令的有序集合表达求解过程和步骤所以程序本质上是对计算机执行过程的表述。,6.1.1什么是程序,2019年11月22日星期五,5,必须包括变量定义、数据定义、数据操纵、数据处理或运算、流程控制等语言成分,如何在应用程序中识别和执行DDL、DML、DCL和SQL命令?如何区分和引用程序变量和数据库变量(如字段变量)?如何协调两种方式,6.1.2程序设计语言,2019年11月22日星期五,6,VFP程序的运行过程:,命令读入程序,执行编译,源程序,目标程序,保存程序,运行程序,6.1.2程序设计概念,2019年11月22日星期五,7,程序设计的思想、方法和技巧,传统程序设计技术结构程序设计技术面向对象程序设计技术,6.1.3程序设计技术,2019年11月22日星期五,8,VFP程序的输入编辑和运行:,第1步打开程序编辑窗口菜单:文件新建按钮:项目管理器:代码程序新建命令:MODIFYCOMMAND,打开程序文本编辑器,6.1.4开始编程,2019年11月22日星期五,9,第2步输入、编辑程序文本在程序编辑窗口中输入、编辑程序可以试运行(按钮),只在程序编辑状态下用,VFP程序的输入编辑和运行:,6.1.4开始编程,2019年11月22日星期五,10,第3步保存程序文件(.prg)菜单“文件保存”按钮“”组合键“Ctrl+s”或“Ctrl+w”,VFP程序的输入编辑和运行:,6.1.4开始编程,2019年11月22日星期五,11,第4步运行程序菜单:程序运行命令:DO程序名项目管理器:代码程序程序名运行,VFP程序的输入编辑和运行:,6.1.4开始编程,2019年11月22日星期五,12,VFP编程工具,VFP命令,SQL命令,可在命令窗口和程序中使用,只可在程序中使用,可在命令窗口和程序中使用,6.2VFP程序设计语言,2019年11月22日星期五,13,程序的命令序列和程序流程,程序的命令序列:命令在程序中的先后排列顺序程序流程:命令在计算机上实际执行的顺序,6.2VFP程序设计语言,2019年11月22日星期五,14,1.常量数值常量。如12.5,-108.9字符常量。如“student”,“南京大学”,“1234567890”日期常量。如04/05/2008,(日期为空)逻辑常量。.T.(真),.F.(假),6.2.1VFP数据,2019年11月22日星期五,15,2.变量简单变量数组变量字段变量,6.2.1VFP数据,是存储在一个变量中由单个变量名引用的有序数据集合。在VFP中,一个数组中的数据不必是同一种数据类型。数组元素的标识:通过一个数值下标来引用,如AA2,AA2,3,2019年11月22日星期五,16,6.2.2VFP运算,1.函数几个常用函数(内建函数),2019年11月22日星期五,17,6.2.2VFP运算,2.表达式数值运算符日期运算符字符串运算符逻辑运算符关系运算符,2019年11月22日星期五,18,6.2.2VFP运算,2.表达式数值运算符,2019年11月22日星期五,19,6.2.2VFP运算,2.表达式日期运算符,2019年11月22日星期五,20,6.2.2VFP运算,2.表达式字符串运算符,2019年11月22日星期五,21,6.2.2VFP运算,2.表达式逻辑运算符,2019年11月22日星期五,22,6.2.2VFP运算,2.表达式关系运算符,2019年11月22日星期五,23,6.2.3常用VFP命令语句,1.变量赋值语句赋值语句有两个:等号赋值语句和存储赋值语句(1)等号赋值语句的格式是,=,简单变量、或数组元素、或字段名,任何表达式,如:nResult=1024cString=“南京今天是阴天。”lClass=.T.dToday=DATE(),2019年11月22日星期五,24,6.2.3常用VFP命令语句,2.存储赋值语句(2)存储赋值语句的格式是,STORETO,,如:STORE3.15TOx,y,z,2019年11月22日星期五,25,6.2.3常用VFP命令语句,2.屏幕显示语句格式是:?或?,表示在屏幕新一行上显示,表示在当前光标位置上显示,如,?3.15?“距奥运会还有125天”?“今天是”?DATE(),2019年11月22日星期五,26,6.2.3常用VFP命令语句,3.键盘输入语句格式是:INPUTTO,如,INPUT“输入a”TOa,2019年11月22日星期五,27,6.2.3常用VFP命令语句,4.屏幕清除语句格式是,CLEAR清除VFP主窗口显示区,2019年11月22日星期五,28,VFP程序设计语言是一种结构化语言用基本程序”结构”构造程序的方法基本程序结构有,顺序结构分支结构循环结构,6.2.4VFP流程控制语句,2019年11月22日星期五,29,例,X1=(-b+sqrt(d)/(2*a)x2=(-bsqrt(d)/(2*a)?x1=“,x1,x2=“,x2,顺序结构,6.2.4VFP流程控制语句,2019年11月22日星期五,30,例,IFd=90Mark=“优秀”CASEscore=80Mark=“良好”CASEscore=60Mark=“及格”OTHERWISEMark=“不及格”ENDCASE?mark,分支结构CASE结构,6.2.4VFP流程控制语句,2019年11月22日星期五,32,例,N=1FORi=1TO10STEP1N=N*iENDFOR?N,循环结构,6.2.4VFP流程控制语句,2019年11月22日星期五,33,一般格式:IF逻辑表达式命令序列1ELSE命令序列2ENDIF,2)VFP程序流程控制命令(1)IFELSE-ENDIF命令,真值分支,假值分支,6.2.4VFP流程控制语句,2019年11月22日星期五,34,2)VFP程序流程控制命令(1)IF-ELSE-ENDIF命令,例1,y=0INPUT“输入一个数”TOxIFx=0.0001s=s+tt=t/xENDDO?s,2)VFP程序流程控制命令(4)循环命令之二-DOWHILE命令,6.2.4VFP流程控制语句,2019年11月22日星期五,45,2)VFP程序流程控制命令(5)循环命令之三-SCAN命令,SCAN范围FOR|WHILE逻辑表达式命令序列ENDSCAN,循环体,循环控制,6.2.4VFP流程控制语句,2019年11月22日星期五,46,2)VFP程序流程控制命令(5)循环命令之三-SCAN命令,6.2.4VFP流程控制语句,2019年11月22日星期五,47,2)VFP程序流程控制命令(5)循环命令之三-SCAN命令,例7,显示xs表中所有学生的学号和姓名.,USExsin0SCAN?xh?xmENDSCAN,6.2.4VFP流程控制语句,2019年11月22日星期五,48,2)VFP程序流程控制命令(5)循环命令之三-SCAN命令,例8,显示xs表中所有03号系学生的学号和姓名.,USExsin0SCANFORxdh=“03”?xh?xmENDSCAN,6.2.4VFP流程控制语句,2019年11月22日星期五,49,2)VFP程序流程控制命令(5)循环命令之三-SCAN命令,例9,显示xs表中03号系的男生的学号和姓名.,USExsin0SCANFORxdh=“03”ANDxb=“男”?xh?xmENDSCAN,6.2.4VFP流程控制语句,2019年11月22日星期五,50,2)VFP程序流程控制命令(5)循环命令之三-SCAN命令,例10,显示xs表中当前记录以下50个记录中的男生的学号和姓名.,USExsin0GO20SCANNEXT50FORxb=“男”?xh?xmENDSCAN,6.2.4VFP流程控制语句,2019年11月22日星期五,51,6.3VFP结构程序设计,用基本程序结构构造程序的方法称为结构化程序设计技术。,第1步分析问题,设计求解过程(算法)第2步设计程序的执行流程(路线图)第3步编写程序(使用某语言工具)第4步调试程序直至正确(修正错误)第5步运行程序(多次),2019年11月22日星期五,52,求解方法和步骤(公式解法),6.3VFP结构程序设计,例1,多次求解二次方程程序的设计。,2019年11月22日星期五,53,流程图,2019年11月22日星期五,54,程序:,INPUT输入系数a,b,c:toa,b,cIFa=0?非二次方程ELSEd=b*b4*a*cIFd0?无实数解ELSEx1=(-b+sqrt(d)/(2*a)x2=(-bsqrt(d)/(2*a)?x1=“,x1,x2=“,x2ENDIFENDIF,6.3VFP结构程序设计,2019年11月22日星期五,55,例6-10.根据一张学生课程成绩登记表(如图6-5)向数据库人工输入数据。,例2:根据一张学生课程成绩登记表(如图6-5)向数据库人工输入数据。,6.3VFP结构程序设计,2019年11月22日星期五,56,结构化程序设计的本质是功能设计,以功能为主进行设计.方法是自顶向下进行功能分解.开发过程通常是从“做什么”到“如何做”。,1)面向对象程序设计的思想,面向对象的程序设计是通过对类、子类和对象等的设计来体现的。是基于问题的自底向上的功能综合。它从内部结构上模拟客观世界。开发过程是从“用什么做”到“要做什么”。,6.4.1什么是面向对象程序设计方法,2019年11月22日星期五,57,利用对象可以简化程序设计,代码重用,提高程序设计效率。,1)面向对象程序设计的思想,“用什么做”说明,首先要认识应用领域中的对象及其相互关系,形成相应的概念并设计出程序的基本单位类与对象。,“要做什么”说明,面向对象程序设计的后继工作才是具体解决某一应用任务。,6.4.1什么是面向对象程序设计方法,2019年11月22日星期五,58,设计一个表单,根据给定的分数段显示学生成绩表,2)一个面向对象程序设计例,用什么做:用一个表格对象显示学生分数用两个文本框对象输入分数区段用一个命令按钮对象退出程序,要做什么:表格对象显示数据库表CJ当文本框的分数段改变时显示相应的分数表用一个命令按钮退出程序,设计:,问题:,6.4.1什么是面向对象程序设计方法,2019年11月22日星期五,59,2)一个面向对象程序设计例,S1,打开”表单设计器”菜单,按钮,项目管理器,命令等方式S2,添加对象并调整大小、位置、颜色标题等表格,文本框,标签,命令按钮S3,选择和编制事件程序S4,试运行并调试程序、修改程序,直至正确S5,保存表单程序,设计步骤:,演示,6.4.1什么是面向对象程序设计方法,2019年11月22日星期五,60,1)对象意义,对象是一个能独立存在并具有完整意义的事物问题中一个独立的、具有完整意义的存在单位,6.4.2对象和类,2019年11月22日星期五,61,1)对象表征,描述对象的状态特征,描述对象的操作,描述对象的识别的外界动作,6.4.2对象和类,2019年11月22日星期五,62,1)对象表征,事件,事件,属性:颜色,半径,边框色,等等方法:滚动,压扁,弹圆等等事件:推动,施压等等,6.4.2对象和类,2019年11月22日星期五,63,2)类意义,是具有共同特性的对象的集合是定义对象状态的蓝图是产生对象的模板对象的属性、方法和事件都在类中定义类是面向对象程序设计的核心和基础,6.4.2对象和类,2019年11月22日星期五,64,2)类意义,例如,“命令按钮”类是指所有按钮的集合是定义按钮的蓝图是产生一个具体按钮的模板,6.4.2对象和类,2019年11月22日星期五,65,2)类特性,封装性继承性多态性抽象性,隐藏对象内部信息,具有模块性,继承类的特性定义新类,具有重用性,同一对象可执行不同的功能,具有灵活性,只关注对象的整体而不关心其细节,具有自治性,6.4.2对象和类,2019年11月22日星期五,66,2)类继承性和子类,继承性是面向对象方法的重要特点实现了程序代码重用和共享能力,类1,类2,类3,类4,类5,父类,子类,父类,子类,6.4.2对象和类,2019年11月22日星期五,67,2)类子类和父类的继承关系,子类继承父类的所有特征子类可以有与父类不同的特征子类可以增加父类没有的特征当父类的特征发生改变时将同时改变子类的相应特征,6.4.2对象和类,2019年11月22日星期五,68,3)类和对象的关系,类是定义对象的模板对象是类的一个具体实例类是静态的,设计时产生对象是动态的,在程序运行时产生类是不变的(除非修改它)对象是可变的,6.4.2对象和类,2019年11月22日星期五,69,3)VFP类种类,用户自定义类,VFP类,VFP基类,容器类,控件类,系统提供的类,程序设计时用户设计的类,可以包容其他类的类,只能包容在其他类中的类,6.4.2对象和类,2019年11月22日星期五,70,3)VFP类基类,VFP系统定义的、固有的类(29个)基类是VFP面向对象程序设计的基础类基类都用作父类,6.4.2对象和类,2019年11月22日星期五,71,3)VFP类常用基类,容器类:10个表单(Form)表单集(FormSet)表格(Grid)表格的列(Column)页框(PageFrame)页面(Page)命令按钮组(CommandButtonGroup)工具栏()容器(Container)选项按钮组(OptionGroup),6.4.2对象和类,2019年11月22日星期五,72,控件类:14个文本框(TextBox)编辑框(EditBox)组合框(CombBox)列表框(ListBox)复选框(CheckBox)选项按钮(OptionGroup)编码器(Spinner)命令按钮(CommandButton)计时器(Timer)标签(Label)图象(Image)形状(Shape)直线(Line)OLE控件(OleControl),3)VFP类常用基类,6.4.2对象和类,2019年11月22日星期五,73,用户自定义类保存在命名的类库中VFP基类保存在系统中,无专门的类库可以用菜单”工具类浏览器”浏览类库,4)类的保存类库(.vcx.vct),6.4.2对象和类,2019年11月22日星期五,74,6.4.3类的运用,面向对象程序设计过程类运用的实质主要是继承,演示,类是程序代码的包装,具有重用意义缩短应用开发时间,提高开发效率维护应用程序的一致性,2019年11月22日星期五,75,6.4.4类的设计,自定义类2种设计方法:表单设计器设计类设计器设计,经常使用统一布局、风格和外观实用有效称为”用户自定义类”,2019年11月22日星期五,76,1把表单或控件保存为类选择表单或表单上的控件文件另存为类指定新类的名指定或命名保存新类的类库,6.4.4类的设计,演示,2019年11月22日星期五,77,2类设计器进入方法方法1,项目管理器:类卡新建按钮新建类(对话框)方法2,菜单:文件新建类新文件方法3,命令:CREATECLASS,6.4.4类的设计,2019年11月22日星期五,78,2类设计器设计类指定新类的类名指定派生的类指定或命名新类保存的类库文件名设计新类保存,6.4.4类的设计,演示,2019年11月22日星期五,79,方法1,从项目管理器的”类”项上拖动到表单上方法2,把类文件注册到”表单控件”工具栏上,在从工具栏上使用类,3用户自定义类的应用,6.4.4类的设计,2019年11月22日星期五,80,例6-12.设计一个维护系科表(dept.dbf)数据的表单,要能对该数据表的记录进行浏览、查找、追加、修改、删除、打印等操作。,6.5.1表单向导,演示,2019年11月22日星期五,81,例6-13.根据一张学生课程成绩登记表向数据库输入学生成绩数据。要求设计一个表单完成输入操作。用表格展示学生成绩表的数据,分别用下拉列表方式选择课程代号、学期号和学号,用微调控件输入分数。当成绩数据正确后用命令按钮保存到成绩表中并在成绩表格上看到。保存时要保证成绩不能重复。,6.5.2生成器,演示,2019年11月22日星期五,82,例6-14.设计一个成绩统计分析表单,包括详细分数表、90分以上分数表、不及格分数表、学生总分和平均分分数表等的浏览。如图6-26、图6-27(a)(f)所示。要求用一个表格显示不同分数表。用命令按钮生成不同分数表。表格包括的字段是学号、姓名、学期号、课程名称、分数、课程门数、总分、平均分等的不同组合。,6.5.3表单设计例子,演示,2019年11月22日星期五,83,报表向导工具,6.5.4报表,(1)作用:创建新报表修改和修饰已设计过的报表(2)启用:菜单,按钮,项目管理器,命令(3)设计工具:报表控件工具调色板工具布局工具,2019年11月22日星期五,84,报表向导工具,6.5.4报表,(4)带区:组成报表布局的区域最少3个带区最多9个带区,2019年11月22日星期五,85,报表向导工具,6.5.4报表,(5)一般设计过程快速报表(初步设计,报表菜单命令)数据环境(提供数据源,数据表等)利用报表控件工具向报表中添加控件,2019年11月22日星期五,86,第一个任务:收集和统一管理各种相关文件第二个任务:应用程序的集成第三个任务:包装。(就是把所有相关文件打包在一起,并提供一个可执行文件),6.6.1应用系统集成,2019年11月22日星期五,87,菜

温馨提示

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

评论

0/150

提交评论