数据库技术应用基础第6章.ppt

上传人:牧羊曲112 文档编号:5985643 上传时间:2023-09-11 格式:PPT 页数:94 大小:561.50KB
返回 下载 相关 举报
数据库技术应用基础第6章.ppt_第1页
第1页 / 共94页
数据库技术应用基础第6章.ppt_第2页
第2页 / 共94页
数据库技术应用基础第6章.ppt_第3页
第3页 / 共94页
数据库技术应用基础第6章.ppt_第4页
第4页 / 共94页
数据库技术应用基础第6章.ppt_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《数据库技术应用基础第6章.ppt》由会员分享,可在线阅读,更多相关《数据库技术应用基础第6章.ppt(94页珍藏版)》请在三一办公上搜索。

1、2023/9/11,1,第六章 数据库程序设计,数据库技术应用基础,清华大学出版社 史九林编著,2023/9/11,2,主要内容,程序设计的基本概念,VFP程序设计语言,VFP结构程序设计,VFP面向对象程序设计,VFP编程工具,应用系统集成和菜单设计,2023/9/11,3,VFP命令序列,对命令的注解,6.1程序和程序设计,2023/9/11,4,1)程序,程序是能在计算机上求解一个问题的一系列指令的有序集合,是计算机科学和技术的专有名词 能在计算机上执行并获得结果 能进行问题求解获得特定问题结果 用一系列指令的有序集合表达求解过程和步骤 所以程序本质上是对计算机执行过程的表述。,什么是程

2、序,2023/9/11,5,必须包括变量定义、数据定义、数据操纵、数据处理或运算、流程控制等语言成分,如何在应用程序中识别和执行DDL、DML、DCL和SQL命令?如何区分和引用程序变量和数据库变量(如字段变量)?如何协调两种方式,程序设计语言,2023/9/11,6,VFP程序的运行过程:,命令读入程序,执行编译,源程序,目标程序,保存程序,运行程序,程序设计概念,2023/9/11,7,程序设计的思想、方法和技巧,传统程序设计技术 结构程序设计技术 面向对象程序设计技术,程序设计技术,2023/9/11,8,VFP程序的输入编辑和运行:,第1步 打开程序编辑窗口 菜单:文件 新建 按钮:项

3、目管理器:代码程序新建 命令:MODIFY COMMAND,打开程序文本编辑器,开始编程,2023/9/11,9,第2步 输入、编辑程序文本 在程序编辑窗口中输入、编辑程序 可以试运行(按钮),只在程序编辑状态下用,VFP程序的输入编辑和运行:,开始编程,2023/9/11,10,第3步 保存程序文件(.prg)菜单“文件 保存”按钮“”组合键“Ctrl+s”或“Ctrl+w”,VFP程序的输入编辑和运行:,开始编程,2023/9/11,11,第4步 运行程序 菜单:程序 运行 命令:DO 程序名 项目管理器:代码程序程序名运行,VFP程序的输入编辑和运行:,开始编程,2023/9/11,12

4、,VFP编程工具,VFP命令,SQL命令,可在命令窗口和程序中使用,只可在程序中使用,可在命令窗口和程序中使用,6.2VFP程序设计语言,2023/9/11,13,程序的命令序列和程序流程,程序的命令序列:命令在程序中的先后排列顺序程序流程:命令在计算机上实际执行的顺序,6.2VFP程序设计语言,2023/9/11,14,1.常量数值常量。如12.5,-108.9 字符常量。如“student”,“南京大学”,“1234567890”日期常量。如04/05/2008,(日期为空)逻辑常量。.T.(真),.F.(假),数据,2023/9/11,15,2.变量简单变量数组变量字段变量,数据,是存储

5、在一个变量中由单个变量名引用的有序数据集合。在 VFP中,一个数组中的数据不必是同一种数据类型。数组元素的标识:通过一个数值下标来引用,如 AA2,AA2,3,2023/9/11,16,运算,1.函数几个常用函数(内建函数),2023/9/11,17,运算,2.表达式数值运算符日期运算符字符串运算符逻辑运算符关系运算符,2023/9/11,18,运算,2.表达式数值运算符,2023/9/11,19,运算,2.表达式日期运算符,2023/9/11,20,运算,2.表达式字符串运算符,2023/9/11,21,运算,2.表达式逻辑运算符,2023/9/11,22,运算,2.表达式关系运算符,202

6、3/9/11,23,6.2.3 常用VFP命令语句,1.变量赋值语句赋值语句有两个:等号赋值语句和存储赋值语句(1)等号赋值语句的格式是,=,简单变量、或数组元素、或字段名,任何表达式,如:nResult=1024cString=“南京今天是阴天。”lClass=.T.dToday=DATE(),2023/9/11,24,6.2.3 常用VFP命令语句,2.存储赋值语句(2)存储赋值语句的格式是,STORE TO,,如:STORE 3.15 TO x,y,z,2023/9/11,25,6.2.3 常用VFP命令语句,2.屏幕显示语句格式是:?或?,表示在屏幕新一行上显示,表示在当前光标位置上显

7、示,如,?3.15?“距奥运会还有125天”?“今天是”?DATE(),2023/9/11,26,6.2.3 常用VFP命令语句,3.键盘输入语句格式是:INPUT TO,如,INPUT“输入a”TO a,2023/9/11,27,6.2.3 常用VFP命令语句,4.屏幕清除语句格式是,CLEAR清除VFP主窗口显示区,2023/9/11,28,VFP程序设计语言是一种结构化语言用基本程序”结构”构造程序的方法基本程序结构有,顺序结构 分支结构 循环结构,流程控制语句,2023/9/11,29,例,X1=(-b+sqrt(d)/(2*a)x2=(-b sqrt(d)/(2*a)?x1=“,x1

8、,x2=“,x2,顺序结构,流程控制语句,2023/9/11,30,例,IF d 0?无实数解 ELSE x1=(-b+sqrt(d)/(2*a)x2=(-b sqrt(d)/(2*a)?x1=“,x1,x2=“,x2ENDIF,分支结构 条件分支结构,流程控制语句,2023/9/11,31,例,INPUT“输入分数:”TO scoreDO CASE CASE score=90 Mark=“优秀”CASE score=80 Mark=“良好”CASE score=60 Mark=“及格”OTHERWISE Mark=“不及格”ENDCASE?mark,分支结构 CASE结构,流程控制语句,20

9、23/9/11,32,例,N=1FOR i=1 TO 10 STEP 1 N=N*iENDFOR?N,循环结构,流程控制语句,2023/9/11,33,一般格式:IF 逻辑表达式命令序列1 ELSE命令序列2 ENDIF,2)VFP程序流程控制命令(1)IF ELSE-ENDIF命令,真值分支,假值分支,流程控制语句,2023/9/11,34,2)VFP程序流程控制命令(1)IF-ELSE-ENDIF命令,例1,y=0 INPUT“输入一个数”TO xIF x 0 y=-1ENDIF?x,y,无假值分支,流程控制语句,2023/9/11,35,2)VFP程序流程控制命令(1)IF-ELSE-E

10、NDIF命令,例2,OPEN DATABASE jxgldbUSE xsLOCATE FOR jg=“北京”IF NOT EOF()?xmELSE?“无记录了”ENDIF,流程控制语句,2023/9/11,36,2)VFP程序流程控制命令(1)IF-ELSE-ENDIF命令,例3,INPUT“输入一个数”TO xIF x 0 y=1 ELSE y=0 ENDIFENDIF,IF命令的嵌套,流程控制语句,2023/9/11,37,一般格式:DO CASE CASE 逻辑表达式1 命令序列1 CASE 逻辑表达式1 命令序列2 OTHERWISE 命令序列n ENDCASE,2)VFP程序流程控制

11、命令(2)DO-CASE 命令,流程控制语句,2023/9/11,38,2)VFP程序流程控制命令(2)DO-CASE 命令,例3,INPUT“输入一个数”TO xIF x 0 y=1 ELSE y=0 ENDIFENDIF,例4,INPUT“输入一个数”TO xDO CASE CASE x 0y=1 OTHERWISEy=0ENDCASE,流程控制语句,2023/9/11,39,一般格式:FOR 变量=始值 TO 终值 STEP 增值 命令序列 ENDFOR,2)VFP程序流程控制命令(3)循环命令之一-FOR命令,循环变量,循环变量的开始值,循环变量的终止值,循环变量的递增值,循环体,循环

12、控制,流程控制语句,2023/9/11,40,2)VFP程序流程控制命令(3)循环命令之一-FOR命令,流程控制语句,2023/9/11,41,2)VFP程序流程控制命令(3)循环命令之一-FOR命令,例5,求10!存储于变量N中,显示结果N的值。N=1FOR i=1 TO 10 STEP 1N=N*iENDFOR?N,因为是 1可以省略,流程控制语句,2023/9/11,42,一般格式:DO WHILE 逻辑表达式 命令序列 ENDDO,2)VFP程序流程控制命令(4)循环命令之二-DO WHILE 命令,循环体,循环控制,流程控制语句,2023/9/11,43,2)VFP程序流程控制命令(

13、4)循环命令之二-DO WHILE 命令,流程控制语句,2023/9/11,44,例6,输入一个正整数到x,求级数的部分和 s=(1/x1)+(1/x2)+(1/x3)+(1/xn)当(1/Xn+1)0.0001时结束。,INPUT TO xs=0p=1DO WHILE 1/xp=0.0001 s=s+1/xp p=p+1ENDDO?s,INPUT TO xs=0t=1/xDO WHILE t=0.0001 s=s+t t=t/xENDDO?s,2)VFP程序流程控制命令(4)循环命令之二-DO WHILE 命令,流程控制语句,2023/9/11,45,2)VFP程序流程控制命令(5)循环命令

14、之三-SCAN 命令,SCAN 范围FOR|WHILE 逻辑表达式命令序列ENDSCAN,循环体,循环控制,流程控制语句,2023/9/11,46,2)VFP程序流程控制命令(5)循环命令之三-SCAN 命令,流程控制语句,2023/9/11,47,2)VFP程序流程控制命令(5)循环命令之三-SCAN 命令,例7,显示xs表中所有学生的学号和姓名.,USE xs in 0 SCAN?xh?xm ENDSCAN,流程控制语句,2023/9/11,48,2)VFP程序流程控制命令(5)循环命令之三-SCAN 命令,例8,显示xs表中所有03号系学生的学号和姓名.,USE xs in 0 SCAN

15、 FOR xdh=“03”?xh?xm ENDSCAN,流程控制语句,2023/9/11,49,2)VFP程序流程控制命令(5)循环命令之三-SCAN 命令,例9,显示xs表中03号系的男生的学号和姓名.,USE xs in 0 SCAN FOR xdh=“03”AND xb=“男”?xh?xm ENDSCAN,流程控制语句,2023/9/11,50,2)VFP程序流程控制命令(5)循环命令之三-SCAN 命令,例10,显示xs表中当前记录以下50个记录中的男生的学号和姓名.,USE xs in 0 GO 20 SCAN NEXT 50 FOR xb=“男”?xh?xm ENDSCAN,流程控

16、制语句,2023/9/11,51,6.3 VFP结构程序设计,用基本程序结构构造程序的方法称为结构化程序设计技术。,第1步 分析问题,设计求解过程(算法)第2步 设计程序的执行流程(路线图)第3步 编写程序(使用某语言工具)第4步 调试程序直至正确(修正错误)第5步 运行程序(多次),2023/9/11,52,求解方法和步骤(公式解法),6.3 VFP结构程序设计,例1,多次求解二次方程程序的设计。,2023/9/11,53,流程图,2023/9/11,54,程序:,INPUT 输入系数 a,b,c:to a,b,cIF a=0?非二次方程 ELSE d=b*b 4*a*c IF d 0?无实

17、数解 ELSEx1=(-b+sqrt(d)/(2*a)x2=(-b sqrt(d)/(2*a)?x1=“,x1,x2=“,x2 ENDIFENDIF,6.3 VFP结构程序设计,2023/9/11,55,例6-10.根据一张学生课程成绩登记表(如图6-5)向数据库人工输入数据。,例2:根据一张学生课程成绩登记表(如图6-5)向数据库人工输入数据。,6.3 VFP结构程序设计,2023/9/11,56,结构化程序设计的本质是功能设计,以功能为主进行设计.方法是自顶向下进行功能分解.开发过程通常是从“做什么”到“如何做”。,1)面向对象程序设计的思想,面向对象的程序设计是通过对类、子类和对象等的设

18、计来体现的。是基于问题的自底向上的功能综合。它从内部结构上模拟客观世界。开发过程是从“用什么做”到“要做什么”。,6.4.1 什么是面向对象程序设计方法,2023/9/11,57,利用对象可以简化程序设计,代码重用,提高程序设计效率。,1)面向对象程序设计的思想,“用什么做”说明,首先要认识应用领域中的对象及其相互关系,形成相应的概念并设计出程序的基本单位类与对象。,“要做什么”说明,面向对象程序设计的后继工作才是具体解决某一应用任务。,6.4.1 什么是面向对象程序设计方法,2023/9/11,58,设计一个表单,根据给定的分数段显示学生成绩表,2)一个面向对象程序设计例,用什么做:用一个表

19、格对象显示学生分数 用两个文本框对象输入分数区段 用一个命令按钮对象退出程序,要做什么:表格对象显示数据库表 CJ 当文本框的分数段改变时显示相 应的分数表 用一个命令按钮退出程序,设计:,问题:,6.4.1 什么是面向对象程序设计方法,2023/9/11,59,2)一个面向对象程序设计例,S1,打开”表单设计器”菜单,按钮,项目管理器,命令等方式S2,添加对象并调整大小、位置、颜色标题等 表格,文本框,标签,命令按钮S3,选择和编制事件程序S4,试运行并调试程序、修改程序,直至正确S5,保存表单程序,设计步骤:,演示,6.4.1 什么是面向对象程序设计方法,2023/9/11,60,1)对象

20、 意义,对象是一个能独立存在并具有完整意义的事物 问题中一个独立的、具有完整意义的存在单位,6.4.2 对象和类,2023/9/11,61,1)对象 表征,描述对象的状态特征,描述对象的操作,描述对象的识别的外界动作,6.4.2 对象和类,2023/9/11,62,1)对象 表征,事件,事件,属性:颜色,半径,边框色,等等方法:滚动,压扁,弹圆等等事件:推动,施压等等,6.4.2 对象和类,2023/9/11,63,2)类 意义,是具有共同特性的对象的集合 是定义对象状态的蓝图 是产生对象的模板 对象的属性、方法和事件都在类中定义 类是面向对象程序设计的核心和基础,6.4.2 对象和类,202

21、3/9/11,64,2)类 意义,例如,“命令按钮”类 是指所有按钮的集合 是定义按钮的蓝图 是产生一个具体按钮的模板,6.4.2 对象和类,2023/9/11,65,2)类 特性,封装性 继承性 多态性 抽象性,隐藏对象内部信息,具有模块性,继承类的特性定义新类,具有重用性,同一对象可执行不同的功能,具有灵活性,只关注对象的整体而不关心其细节,具有自治性,6.4.2 对象和类,2023/9/11,66,2)类 继承性和子类,继承性是面向对象方法的重要特点 实现了程序代码重用和共享能力,类1,类2,类3,类4,类5,父类,子类,父类,子类,6.4.2 对象和类,2023/9/11,67,2)类

22、 子类和父类的继承关系,子类继承父类的所有特征 子类可以有与父类不同的特征 子类可以增加父类没有的特征 当父类的特征发生改变时将同时 改变子类的相应特征,6.4.2 对象和类,2023/9/11,68,3)类和对象的关系,类是定义对象的模板 对象是类的一个具体实例 类是静态的,设计时产生 对象是动态的,在程序运行时产生 类是不变的(除非修改它)对象是可变的,6.4.2 对象和类,2023/9/11,69,3)VFP 类种类,用户自定义类,VFP类,VFP基类,容器类,控件类,系统提供的类,程序设计时用户设计的类,可以包容其他类的类,只能包容在其他类中的类,6.4.2 对象和类,2023/9/1

23、1,70,3)VFP 类基类,VFP系统定义的、固有的类(29个)基类是VFP面向对象程序设计的基础类 基类都用作父类,6.4.2 对象和类,2023/9/11,71,3)VFP 类常用基类,容器类:10个表单(Form)表单集(FormSet)表格(Grid)表格的列(Column)页框(PageFrame)页面(Page)命令按钮组(CommandButtonGroup)工具栏()容器(Container)选项按钮组(OptionGroup),6.4.2 对象和类,2023/9/11,72,控件类:14个文本框(TextBox)编辑框(EditBox)组合框(CombBox)列表框(Lis

24、tBox)复选框(CheckBox)选项按钮(OptionGroup)编码器(Spinner)命令按钮(CommandButton)计时器(Timer)标签(Label)图象(Image)形状(Shape)直线(Line)OLE控件(OleControl),3)VFP 类常用基类,6.4.2 对象和类,2023/9/11,73,用户自定义类保存在命名的类库中 VFP基类保存在系统中,无专门的类库 可以用菜单”工具 类浏览器”浏览类库,4)类的保存类库(.vcx.vct),6.4.2 对象和类,2023/9/11,74,6.4.3 类的运用,面向对象程序设计过程类运用的实质主要是继承,演示,类是

25、程序代码的包装,具有重用意义 缩短应用开发时间,提高开发效率 维护应用程序的一致性,2023/9/11,75,6.4.4 类的设计,自定义类2种设计方法:表单设计器设计类设计器设计,经常使用 统一布局、风格和外观 实用有效 称为”用户自定义类”,2023/9/11,76,1 把表单或控件保存为类 选择表单或表单上的控件 文件 另存为类指定新类的名指定或命名保存新类的类库,6.4.4 类的设计,演示,2023/9/11,77,2 类设计器 进入方法方法1,项目管理器:类卡新建按钮新建类(对话框)方法2,菜单:文件新建类新文件方法3,命令:CREATE CLASS,6.4.4 类的设计,2023/

26、9/11,78,2类设计器 设计类指定新类的类名指定派生的类指定或命名新类保存的类库文件名设计新类保存,6.4.4 类的设计,演示,2023/9/11,79,方法1,从项目管理器的”类”项上拖动到表单上方法2,把类文件注册到”表单控件”工具栏上,在从工具栏上使用类,3 用户自定义类的应用,6.4.4 类的设计,2023/9/11,80,例6-12.设计一个维护系科表(dept.dbf)数据的表单,要能对该数据表的记录进行浏览、查找、追加、修改、删除、打印等操作。,表单向导,演示,2023/9/11,81,例6-13.根据一张学生课程成绩登记表向数据库输入学生成绩数据。要求设计一个表单完成输入操

27、作。用表格展示学生成绩表的数据,分别用下拉列表方式选择课程代号、学期号和学号,用微调控件输入分数。当成绩数据正确后用命令按钮保存到成绩表中并在成绩表格上看到。保存时要保证成绩不能重复。,生成器,演示,2023/9/11,82,例6-14.设计一个成绩统计分析表单,包括详细分数表、90分以上分数表、不及格分数表、学生总分和平均分分数表等的浏览。如图6-26、图6-27(a)(f)所示。要求用一个表格显示不同分数表。用命令按钮生成不同分数表。表格包括的字段是学号、姓名、学期号、课程名称、分数、课程门数、总分、平均分等的不同组合。,表单设计例子,演示,2023/9/11,83,报表向导工具,6.5.

28、4 报表,(1)作用:创建新报表 修改和修饰已设计过的报表(2)启用:菜单,按钮,项目管理器,命令(3)设计工具:报表控件工具 调色板工具 布局工具,2023/9/11,84,报表向导工具,6.5.4 报表,(4)带区:组成报表布局的区域 最少3个带区 最多9个带区,2023/9/11,85,报表向导工具,6.5.4 报表,(5)一般设计过程 快速报表(初步设计,报表菜单命令)数据环境(提供数据源,数据表等)利用报表控件工具向报表中添加控件,2023/9/11,86,第一个任务:收集和统一管理各种相关文件第二个任务:应用程序的集成第三个任务:包装。(就是把所有相关文件打包在一起,并提供一个可执

29、行文件),应用系统集成,2023/9/11,87,菜单的设计步骤,菜单系统规划和设计,创建菜单,指定菜单任务,保存菜单文件,生成菜单程序,测试和运行菜单程序,VFP菜单设计,2023/9/11,88,(1)菜单系统规划,例子,,VFP菜单设计,2023/9/11,89,(1)菜单系统规划,学生信息教师信息课程信息开课信息,成绩录入成绩信息成绩统计学分计算,排课课表查询,班级名单成绩单成绩统计登分表,学生表教师表课程目录表系科表,菜单栏,菜单项,下拉菜单,VFP菜单设计,2023/9/11,90,(1)菜单系统规划,菜单系统目标(位置 方式)菜单系统的组织结构(层次 序列 下拉和级联)菜单项的标

30、题和快捷键(准确 简洁)菜单项的次序(频度 排序)菜单项的分组(原则)菜单显示长度(避免多屏显示或滚动),VFP菜单设计,2023/9/11,91,(2)创建菜单 使用菜单设计器,第1步 打开菜单设计器第2步 菜单项设计 填写菜单名称、访问键 选择结果(指定任务)设置选项:指定快捷键 菜单项启用或废止条件 输入菜单提示信息 输入注解信息,VFP菜单设计,2023/9/11,92,(2)创建菜单 使用菜单设计器,第3步 调试菜单(预览按钮)第4步 保存菜单文件(.mnx.mnt)生成菜单程序(.mpr.mpx),VFP菜单设计,2023/9/11,93,(3)用户菜单与VFP主菜单的关系,用户菜单替代系统菜单独立使用 与系统菜单并立使用 配置操作“显示/常规选项”进入”常规选项”窗口 在窗口中设置两种菜单的协调关系,VFP菜单设计,2023/9/11,94,(4)用户菜单安置在表单上,a)将菜单设置为SDI菜单:菜单设计器显示常规选项 设置“顶层菜单”选钮b)设置表单的 SHOW WINDOWS 属性为 2(为顶层表单)c)表单的INIT事件程序为:DO.MPR WITH THIS,.T.,VFP菜单设计,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号