1、第第1章章 数据库基础和数据库基础和Visual FoxPro6.0编程环境编程环境 数据库数据库是数据管理的最新技术。随着人类社会是数据管理的最新技术。随着人类社会进入信息时代,人们对数据处理的要求越来越高,进入信息时代,人们对数据处理的要求越来越高,这就导致了数据库技术的产生与发展。数据库技这就导致了数据库技术的产生与发展。数据库技术主要研究如何存储、使用和管理数据,它已成术主要研究如何存储、使用和管理数据,它已成为计算机领域中最重要的技术之一,是软件学科为计算机领域中最重要的技术之一,是软件学科的一个独立分支,人们利用数据库技术已经开发的一个独立分支,人们利用数据库技术已经开发出许多应用
2、软件和管理软件,如工资管理、财务出许多应用软件和管理软件,如工资管理、财务管理、图书管理、人事档案管理等,凡是牵涉有管理、图书管理、人事档案管理等,凡是牵涉有数据处理的领域,都是数据库大显身手的地方。数据处理的领域,都是数据库大显身手的地方。数据库是数据库应用的核心。数据库是数据库应用的核心。一、一、基本概念基本概念1、数据、数据:存储在某一媒体上的符号记录。存储在某一媒体上的符号记录。2、信息信息:人脑对现实世界的描述和反映。人脑对现实世界的描述和反映。现实世界现实世界信息世界信息世界数据世界数据世界3、数据处理、数据处理:数据转换成信息的过程。对各种形式的数数据转换成信息的过程。对各种形式
3、的数据进行汇集、传输、分组、排序、据进行汇集、传输、分组、排序、存储、检索、计算等一存储、检索、计算等一系列操作称为数据处理。系列操作称为数据处理。4 4、数据管理技术发展的、数据管理技术发展的3 3个阶段个阶段 第一阶段第一阶段(50年代中期年代中期):人工管理阶段:人工管理阶段(数据包含在程序中数据包含在程序中)第二阶段第二阶段(50年代后期至年代后期至60年代中期年代中期):文件系统阶段:文件系统阶段(数据与程序存数据与程序存在各自的文件中,但由程序来管理数据在各自的文件中,但由程序来管理数据)第三阶段第三阶段(60年代后期以来年代后期以来):数据库系统阶段:数据库系统阶段(数据与程序独
4、立,由数据与程序独立,由数据库管理系统管理数据数据库管理系统管理数据)(1 1)人工管理阶段)人工管理阶段 这是计算机数据处理的初级阶段。这是计算机数据处理的初级阶段。应用程序应用程序1应用程序应用程序2应用程序应用程序n数据组数据组1数据组数据组2数据组数据组n(2 2)文件管理阶段)文件管理阶段所谓文件所谓文件,即有名字的一组相关信息的集合。即有名字的一组相关信息的集合。文件管理方式文件管理方式是将待加工的数据组织成数据文件,在程序是将待加工的数据组织成数据文件,在程序中可以通过文件名逻辑性地存取文件中的数据。中可以通过文件名逻辑性地存取文件中的数据。文件管理方式的文件管理方式的主要特点主
5、要特点是将数据与程序分离,数据是将数据与程序分离,数据是独立于程序而存在的。是独立于程序而存在的。程序程序2程序程序1程序程序3文文件件管管理理系系统统数据文件数据文件1数据文件数据文件3数据文件数据文件2数据文件数据文件1(3 3)数据库管理阶段)数据库管理阶段 与文件管理方式最大的区别是与文件管理方式最大的区别是:数据库管理方式是面向系统的。它将各:数据库管理方式是面向系统的。它将各应用程序中需要使用的数据汇集在一起,形成一个具有一定数据结构的集成应用程序中需要使用的数据汇集在一起,形成一个具有一定数据结构的集成化的数据集合,也即化的数据集合,也即数据库数据库。在数据库管理方式下,数据和程
6、序是完全分离。在数据库管理方式下,数据和程序是完全分离的,不再存在依存的关系。因此当数据改动时,程序不受任何影响。的,不再存在依存的关系。因此当数据改动时,程序不受任何影响。DBMS应用程序应用程序1应用程序应用程序2数据库数据库数据库的主要特征数据库的主要特征(1)数据共享及最小的数据冗数据共享及最小的数据冗余度(统一存贮、集中管理)余度(统一存贮、集中管理)(2)数据的完整性(正确性、数据的完整性(正确性、一致性)一致性)(3)数据的安全性(检验身份、数据的安全性(检验身份、权限不被非法利用和破坏)权限不被非法利用和破坏)(4)数据的独立性(数据数据的独立性(数据 独立独立于于 程序)程序
7、)5 5、数据库概念数据库概念(1)数据库数据库(DB)数据库数据库(Database,简称简称DB)是长期储存在是长期储存在计算机内计算机内、有、有组织组织的的、可、可共享共享的大量数据的集合。的大量数据的集合。(2)数据库管理系统数据库管理系统(DBMS)建立、使用和维护数据库的软件建立、使用和维护数据库的软件(数据库系统的核心数据库系统的核心)主要功能主要功能:数据库定义、数据库操作、数据运行管理、数据库维护、:数据库定义、数据库操作、数据运行管理、数据库维护、通信管理通信管理用途:用途:科学地组织和存储数据、高效地获取和维护数据科学地组织和存储数据、高效地获取和维护数据(3)数据库系统
8、)数据库系统(DBS)在计算机系统中引入数据库后的系统构成在计算机系统中引入数据库后的系统构成 数据库数据库 数据库管理系统(及其开发工具)数据库管理系统(及其开发工具)应用系统和数据库管理员应用系统和数据库管理员 数据库数据库 应用系统应用系统应用开发工具 操作系统 数据库管理系数据库管理系统统 数据库管理员数据库管理员用户用户用户 数据库系统数据库系统(4)数据库系统的特点)数据库系统的特点 数据的结构化数据的结构化 数据的共享数据的共享 数据的独立性数据的独立性 数据的完整性与安全性数据的完整性与安全性 减少数据冗余度减少数据冗余度(1)实体(实体(Entity)客观存在并可相互区别的事
9、物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。可以是具体的人、事、物或抽象的概念。(2)实体集(实体集(Entity Set)同一类型实体的集合称为实体集同一类型实体的集合称为实体集(3)属性(属性(Attribute)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(4)联系(联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系。中反映为实体内部的联系和实体之间的联系。
10、6、数据模型数据模型联系:联系:一对一一对一一对多一对多多对多多对多对现实世界中的事物及其联系的描述对现实世界中的事物及其联系的描述层次模型(一对多)广西大学广西大学商学院商学院农学院农学院林学院林学院办公室办公室林学教研室林学教研室园林教研室园林教研室生态教研室生态教研室7、数据库的数据模型分类、数据库的数据模型分类 1)层次模型层次模型 用树状数据结构形式来表示事物及其之间的关用树状数据结构形式来表示事物及其之间的关系。系。网络模型(多对多)2)网络模型)网络模型 用有向图的数据结构形式来表示事物及其之间的关系。用有向图的数据结构形式来表示事物及其之间的关系。南方商场南方商场彩电彩电银河商
11、场银河商场洗衣机洗衣机民生商场民生商场电冰箱电冰箱关系模型学号姓名性别出生年月9602001黄丽萍女1978.01.049602002王百灵男1979.05.069602003王少颂男1977.06.089602004杨韵峰男1979.05.039602005康 敏男1976.01.23记录字段(属性)字段值)关系模型)关系模型用二维表格形式来表示事物及其之间的关系。用二维表格形式来表示事物及其之间的关系。每个二维表格称为一个每个二维表格称为一个“关系关系”表的每一行称为一条表的每一行称为一条记录记录表的每表的每一列称为一个一列称为一个字段字段(属性属性),列不列不能再折分。能再折分。8、关系
12、型数据库的三种运算、关系型数据库的三种运算选择投影合并(联结)从一个关系从一个关系(表表)中按照一定的条件选中按照一定的条件选出若干记录出若干记录(行行)生成一个新的关系生成一个新的关系(表表)。从一个关系从一个关系(表表)中选出若干列生成中选出若干列生成一个新的关系一个新的关系(表表)。将两个同类关系将两个同类关系(表表)按照按照一定的条件进行记录重组生一定的条件进行记录重组生成一新关系成一新关系(表表)学号姓名性别出生年月9602001黄丽萍女1978.01.049602002王百灵男1979.05.069602003王少颂男1977.06.089602004杨韵峰男1979.05.039
13、602005康 敏男1976.01.23二、二、VisualVisual FoxProFoxPro启动与退出启动与退出 p11p112 2、启动启动常规方法常规方法快捷方式快捷方式 双击双击WindowsWindows桌面上桌面上的的FoxProFoxPro图标图标(红色红色狐狸头标志狐狸头标志)3 3、退出退出 在命令窗口输入在命令窗口输入 QUIT 或按主窗口的关闭按钮或按主窗口的关闭按钮 1、Visual FoxPro6.0的特点的特点1)简单、易学、易用)简单、易学、易用2)功能强大)功能强大4、Visual FoxPro窗口组成5、VFP工作方式工作方式 p18 命令方式命令方式 菜
14、单方式菜单方式 程序方式程序方式6、命令、命令格式格式 命令动词命令动词 子句子句和和参数参数命令动词不分大小写,命令动词不分大小写,可用前可用前4 个字符来简写(个字符来简写(半角英标半角英标状态状态)例:例:displaydisp?显示输出命令显示输出命令clear清屏命令清屏命令?3+3?“计算机考试”clearquit2.1 数据数据按存在形式(常量和变量)按存在形式(常量和变量)数值型(数值型(N)字符型(字符型(C)按类型分按类型分 日期型(日期型(D)月)月/日日/年年(10多种)多种)逻辑型(逻辑型(L)备注型(备注型(M)通用型通用型 货币型货币型第第2 2章章 Visual
15、 FoxPro6.0 编程基础编程基础一、数据类型一、数据类型2.2 2.2 常量与变量常量与变量数值型数值型 如:如:3900、12.6、字符型字符型 如:如:“ABC”、“213”“张三张三”(用定界符引起来的数用定界符引起来的数据据)日期型日期型 如:如:mm/dd/yy如如08/11/11 或或 yyyy-mm-dd如如1978-12-30逻辑型逻辑型 如:如:.T.And.F.(2)变量变量 字段变量字段变量(字段名)多值变量、存于表中(字段名)多值变量、存于表中 内存变量内存变量 单值变量度存于内存中单值变量度存于内存中 变量的命名:变量的命名:p23 变量显示用?变量显示用?例:
16、例:?X(1)常量()常量(N、C、L、D)(3)变量的赋值变量的赋值 1)赋值语句赋值语句 STORE 表达式表达式 TO 内存变量内存变量 STORE 3*2-1 TO X,Y,Z2)赋值号)赋值号 “=”变量变量=表达式表达式 例:例:x=5.3 s=“asd”xm=“张三张三”w=s (不等同不等同 s=w)2.3、运算符和表达式:、运算符和表达式:p26(1)表达式)表达式 数值型表达式数值型表达式 字符字符 日期日期 关系关系.逻辑逻辑.(2)字符型表达式的运算)字符型表达式的运算 +连接连接 去尾空连接去尾空连接例:例:A=ABCD B=1234,?A+B?A-B ABCD 12
17、34ABCD1234算术运算符:+、*、/、字符型 运算符:+、关系运算符:、=、逻辑运算符:AND、OR、NOT(3)日期运算)日期运算 日期相减日期相减得天数得天数 一个日期加(减)一个天数一个日期加(减)一个天数日期日期例;例;2011/08/20-2011/08/10 2011/08/20+312天天CTOD(05/16/99)(4)关系和逻辑运算)关系和逻辑运算结果是逻辑值(结果是逻辑值(.T.F.)X=3,Y=6,Z=9?XZ .OR.YZ .AND.X-Y+Z=6?.NOT.X+Y=ZTFF、函数、函数 p29(1)取整函数)取整函数INT(X)例:?例:?INT(3.99)3?
18、INT(8/3)2(2)取子串函数取子串函数SUBSTR(S,I,N)在在S中从中从I位置起截位置起截N个字符函数个字符函数值为值为C例例:SUBSTR(COMPUTRE,4,3)PUT(4)转换函数)转换函数a、NC STR(R,L,D)b、CN VAL(S)c、CD CTOD(“MM/DD/YY”)(3)求字符串出现的位置求字符串出现的位置 AT(C1,C2)?at(计算机计算机,全国计算机等级考试全国计算机等级考试)表表是是FoxPro 数据库的基本元素数据库的基本元素。11.1 创建表创建表 1、表的概念、表的概念 一个具体的二维表就是一个一个具体的二维表就是一个VFP的数据表(扩展名
19、的数据表(扩展名为为 .DBF)第第11章章 数据表和索引数据表和索引 p193表的栏目表的栏目(表结构表结构)表中一行称为记录表中一行称为记录,记录是数据库的基本记录是数据库的基本(操作操作)单位单位 表中一列称为字段表中一列称为字段,字段是数据库的最小逻辑单位字段是数据库的最小逻辑单位 n个个 n个个 n个及辅助文件个及辅助文件 字段字段记录记录表表数据库数据库 2 2、表文件结构的建立(建立表头)、表文件结构的建立(建立表头)(1 1)方法)方法 1 1)文件文件 新建新建 表表 新建文件新建文件 输入表名输入表名 保存保存 2)2)用命令:用命令:CREATE CREATE (2)在表
20、设计器中输入字段名、类型、宽度、和小)在表设计器中输入字段名、类型、宽度、和小数(数(建立表结构的实质建立表结构的实质)注:注:输入时不能按回车键,已输入的各字段的次序可以输入时不能按回车键,已输入的各字段的次序可以调整,调整,(3)输完后按)输完后按确定确定(4)结构的修改)结构的修改 方法方法 MODI STRU (可以对表结构的字段进行增、删、改,注意宽度的修改)可以对表结构的字段进行增、删、改,注意宽度的修改)二、二、表的数据输入表的数据输入 1、直接方式(建新表)、直接方式(建新表)2、追加方式、追加方式 命令格式:命令格式:APPEND(APPE)菜单方式:菜单方式:P197 存盘
21、:存盘:单击编辑窗口上的单击编辑窗口上的 3、备注字段输入:移鼠标到该字段,双击、备注字段输入:移鼠标到该字段,双击 或用或用+/注意:注意:表头有备注字段,就自动生成同名的备表头有备注字段,就自动生成同名的备注文件(注文件(.fpt)4、通用字段输入:、通用字段输入:三、表的打开和关闭三、表的打开和关闭1、设置默认目录的命令格式为:设置默认目录的命令格式为:SET DEFAULT TOSET DEFAULT TO 2 2、表的打开表的打开(一个工作区只能打开一个表一个工作区只能打开一个表)(1)命令:命令:USE CREA 建新表建新表 USE 打开旧表打开旧表2、表的关闭、表的关闭命令:命
22、令:USE 关闭当前的表文件关闭当前的表文件 例:例:USE RSDA (打开(打开RSDA表)表)USE AA (打开(打开AA表,关闭表,关闭RSDA)注意:注意:打开后,用打开后,用BROW命令浏览命令浏览(2)菜单:工具栏的打开图标菜单:工具栏的打开图标上机操作一:上机操作一:1、建立、建立p193页的页的“学生情况表学生情况表”2、表结构在、表结构在p194(参考参考)(注意各字段的类型、宽度)(注意各字段的类型、宽度)3、修改表结构:、修改表结构:modi stru 增加一个增加一个“婚否婚否”字段字段hf4、在表未追加一个记录(自己)、在表未追加一个记录(自己)5节3.4 表记录
23、的操作显示表记录的操作显示 p581、“浏览浏览”与与“编辑编辑”表表 命令:命令:BROW2、集中显示命令、集中显示命令 LIST (P91)11.2、表的基本操作表的基本操作 P199菜单方式和菜单方式和命令方式命令方式LIST 范围范围 FIEL 字段表字段表 FOR 条件条件 多字段用多字段用逗号逗号分分隔隔 格式:格式:FOR 字段名字段名 =具体内容具体内容 =注:注:表达式左、右表达式左、右数据类型数据类型相一致相一致 多个条件用多个条件用 AND 和和OR 连接连接 常量常量变量变量例例1:显示刘刚的记录显示刘刚的记录 LIST for xm=”刘刚刘刚”例例2:显示显示入学总
24、分入学总分大于等于大于等于500元的姓名元的姓名 LIST for zxf=500 fiel xm例例3:显示专业为显示专业为“计算机应用计算机应用”的女学生的女学生 LIST for xb=“女女”and zy=”计算机应用计算机应用”例例4:显示已婚的姓名显示已婚的姓名 LIST for hf=.T.fiel 姓名姓名3、分屏显示命令分屏显示命令:DISPLAYDISP 范围 FIEL 字段表 FOR 条件 范围和条件缺省时,表示当前记录范围和条件缺省时,表示当前记录例:例:USE xs DISP (显示第显示第 1 号记录号记录)DISP ALL (分屏全部显示)分屏全部显示)DISP
25、ALL和和LIST 的区别的区别 用于测试指针位置的函数有三个用于测试指针位置的函数有三个 测试文件头函数测试文件头函数 BOF()测试文件尾函数测试文件尾函数 EOF()注意:用注意:用USE命令打开表后,记录指针总命令打开表后,记录指针总是指向第一个记录,用是指向第一个记录,用LIST命令后记录指命令后记录指针总是指向最后一个记录后面。针总是指向最后一个记录后面。4、表记录的定位、表记录的定位(1)绝对定位绝对定位:GO GO 8 /8 (作用一样作用一样)GO TOP (指向顶记录)(指向顶记录)GO BOTTOM(指向尾记录)(指向尾记录)(2)相对定位相对定位 格式:格式:SKIP
26、+/-n 例:例:5 绝对定位到第绝对定位到第 5 号记录号记录 SKIP 指针指向第指针指向第 6 号记录号记录 SKIP -2 指针指向第指针指向第4号记录号记录(3)条件定位:条件定位:LOCA 范围范围 FOR 条件条件 功能:把记录指针定位到满足条件的第一个记录,继续找功能:把记录指针定位到满足条件的第一个记录,继续找用用CONT命令命令 例:查找女学生的记录例:查找女学生的记录 LOCA FOR xb=“女女”Disp Cont Disp5、表记录的删除、表记录的删除 逻辑逻辑 删删 除、物理除、物理 删删 除、全部除、全部 删删 除除(1)逻辑删除:逻辑删除:DELETE格式:格
27、式:DELE 范围范围 FOR 条件条件功能:打删除标志功能:打删除标志 例;逻辑男学生的记录例;逻辑男学生的记录 DELE FOR xb=“男男”两者缺省时,删当前记录两者缺省时,删当前记录*(3)物理删除物理删除 PACK功能:把已打有标志功能:把已打有标志*的记录真正删除的记录真正删除注注:这种删除这种删除不能不能恢复恢复真正删除一个记录真正删除一个记录 先先 用用 DELE 打标志打标志 后用后用 PACK真正删除真正删除例例:删除刘刚的记录删除刘刚的记录PACK FOR 姓名姓名=张三才张三才DELE FOR xm=“刘刚刘刚”PACK(2)逻辑删除的恢复逻辑删除的恢复 格式:格式:
28、RECALL 范围范围 FOR 条件条件(4)、全部删除、全部删除 格式:格式:ZAP功能:删除所有记录,只保留表结构功能:删除所有记录,只保留表结构无需打删除标志无需打删除标志上机操作二:上机操作二:1、打开学生表、打开学生表xs.dbf2、用窗口显示命令显示全部记录。、用窗口显示命令显示全部记录。brow3、列表显示总学分大于、列表显示总学分大于550的记录。的记录。list4、列表显示、列表显示82年以后出生的记录。年以后出生的记录。List5、列表显示班号为、列表显示班号为“012202”的记录。的记录。list6、定位到第、定位到第5条记录,定位到未记录。(并显示)条记录,定位到未记
29、录。(并显示)go n disp7、相对往前定位一个记录并显示。、相对往前定位一个记录并显示。Skip8、查找姓名为、查找姓名为“张丽萍张丽萍”loca 9、逻辑删除未婚记录并恢复删除。、逻辑删除未婚记录并恢复删除。Dele,recall 10、删除刘刚的记录。、删除刘刚的记录。pack5节1、索引文件(、索引文件(.IDX)(逻辑顺序)(逻辑顺序)建立索引文件,实际上建立索引文件,实际上不是移动原文件的任何记录不是移动原文件的任何记录,而,而是建立一个是建立一个索引表索引表(只有索引字段名和记录号两字段)(只有索引字段名和记录号两字段)供检索、查找使用供检索、查找使用,记录号就是用指针指向逻
30、辑顺序。,记录号就是用指针指向逻辑顺序。2、主索引、主索引11.6、数据表的索引数据表的索引 p2213、用表设计器建立索引、用表设计器建立索引方法:在方法:在“表设计器表设计器”的的“索引索引”选卡中选取选卡中选取索引名及类型索引名及类型4、并用命令、并用命令“set order to 索引名索引名”显示各排序好的记录。显示各排序好的记录。第第12章章 多表操作及数据库多表操作及数据库数据库的表和自由表的区别数据库的表和自由表的区别:(扩展名都是(扩展名都是.dbf)表文件表文件 自由表自由表 数据库中的表(数据库的一部分)数据库中的表(数据库的一部分)注意注意:一个表只能属于一个库:一个表
31、只能属于一个库 第第12章章 多表操作及数据库多表操作及数据库一、创建数据库文件(一、创建数据库文件(.dbc)1、创建新数据库、创建新数据库方法一:方法一:文件文件/新建新建/数据库数据库/新建文新建文件件/输入文件名及路径输入文件名及路径/保存保存例:创建例:创建“学生学生”数据库存数据库存xb.DBC 2、往数据库添加表往数据库添加表(自由表)(自由表)打开数据库:打开数据库:文件文件/打开打开/选数据库名选数据库名/确定确定注:注:(自由表)只能属于一个数据库(自由表)只能属于一个数据库例如:添加例如:添加xb.dbf3、移去数据库中的表、移去数据库中的表方法:打开数据库方法:打开数据
32、库/数据库数据库/移去表移去表4、新建数据库表、新建数据库表方法:打开数据库方法:打开数据库/数据库数据库/新建表新建表5、建立表间的关系建立表间的关系前题:有前题:有相同相同的字段,且都要以此字段的字段,且都要以此字段建立索引建立索引,主,主表(主索引),从表(主索引或普通索引)表(主索引),从表(主索引或普通索引)方法:用鼠标指向主表的主索引方法:用鼠标指向主表的主索引 拖到从表拖到从表 的普通索引。的普通索引。(2)设置字段有效性)设置字段有效性默认值默认值(字段中出现最多的值)(字段中出现最多的值)方法方法:表设计器表设计器/默认值默认值框输入相应内容框输入相应内容例:设例:设xs.d
33、bf表中表中性别性别字段的默认值设为字段的默认值设为“男男”(3)规则规则:(限制字段的录入数据):(限制字段的录入数据)方法方法:表设计器表设计器/规则规则框输入相应内容框输入相应内容例:设例:设总学分总学分字段的输入字段的输入规则规则为为总学分总学分=450二、二、输入输出格式设置输入输出格式设置 (自由表没有这个功能自由表没有这个功能)(1)设置字段标题(在浏览)设置字段标题(在浏览)方法:在方法:在表设计器表设计器的的标题标题中键入内容中键入内容例:把例:把xs.dbf表的表的xh的标题是的标题是学号学号上机操作三:上机操作三:1、打开学生表、打开学生表xs.dbf2、定制一个只有女性
34、记录的表。、定制一个只有女性记录的表。Set filt to 条件(恢条件(恢复原表复原表set filt to)3、在表设置器中分别建立姓名、性别、专业、出生日、在表设置器中分别建立姓名、性别、专业、出生日期、总学分的索引文件。并用命令期、总学分的索引文件。并用命令“set order to 索索引名引名”显示各排序好的记录。显示各排序好的记录。4、建立一、建立一“学生学生”数据库,并把数据库,并把“xs.dbf”添加到该库,添加到该库,设置学生情况表的设置学生情况表的“学号学号”为主索引。为各字段设置为主索引。为各字段设置中文标题。中文标题。5节第第3章章 VFP可视化编程可视化编程VFP
35、采用采用面向对象面向对象、事件驱动事件驱动的编程方法的编程方法一、面向对象的基本概念一、面向对象的基本概念 P341、对象、对象(是面向对象编程的基本元素)(是面向对象编程的基本元素)对象定义:是对一事物对象定义:是对一事物属性属性及及行为特征行为特征的描述。的描述。属性是描述对象静态特征的数据项。属性是描述对象静态特征的数据项。方法是描述对象动态特征的操作序列方法是描述对象动态特征的操作序列。对象是一个具有属性(数据)和方法(行为方式)对象是一个具有属性(数据)和方法(行为方式)的实体。的实体。常见的对象常见的对象 容器类对象容器类对象:表单、表格等表单、表格等 控件类对象:命令按钮、标签、
36、复选框等)控件类对象:命令按钮、标签、复选框等)最具特征的对象是最具特征的对象是表单和表单和控件控件2 2、对象的事件:是定义好的能被对象识别的动作。、对象的事件:是定义好的能被对象识别的动作。如:单击事件(如:单击事件(clickclick),),双击事件(双击事件(DblclickDblclick)装入事件装入事件(load)load)事件过程事件过程:响应某个事件后所执行程序代码。:响应某个事件后所执行程序代码。3、对象方法:是对象的内部函数,用于完成某一特定的功、对象方法:是对象的内部函数,用于完成某一特定的功能而为一定响应某一事件。能而为一定响应某一事件。4、事件过程与方法的区别:、
37、事件过程与方法的区别:事件过程:激发事件事件过程:激发事件 方法:程序调用方法:程序调用 5、控件控件:是某种图形构件的统称。:是某种图形构件的统称。6、表单表单(form):应用程序的用户界面。应用程序的用户界面。(窗口窗口)7、对象的引用:、对象的引用:描述对象的容器层次的关系描述对象的容器层次的关系表单名表单名.对象名对象名.属性名属性名=属性值属性值 二、二、VFP编程的步骤编程的步骤 P41 1、步骤步骤(1)建立应用程序界面建立应用程序界面(表单表单)(2)在表单上安排所需的对象在表单上安排所需的对象(由控件创建由控件创建)(3)设置各对象的属性设置各对象的属性(4)编写事件过程代
38、码及方法编写事件过程代码及方法 2、建立表单(建立表单(.scx)(1)方法:方法:文件文件/新建新建/表单表单/新建文件新建文件 用命令方式:用命令方式:CREA FORM 表单名表单名.scx(2)打开表单或修改表单(打开表单或修改表单(文件文件/打开打开菜单)菜单)(3)运行表单:工具栏上的运行按钮运行表单:工具栏上的运行按钮 用命令操作:用命令操作:DO FORM 表单表单!三、各控件的介绍三、各控件的介绍 1、应用程序的界面(应用程序的界面(表单)表单)2、输入与输出、输入与输出(1)标签)标签 标签是标签是VFP中最常用的显示文本信息的工具,其所中最常用的显示文本信息的工具,其所显
39、示的内容由显示的内容由Caption属性控制。属性控制。(2)文本框)文本框 文本框是进行文本数据输入输出的,文本框中显示文本框是进行文本数据输入输出的,文本框中显示的文本是受的文本是受Value属性控制的属性控制的 3、命令按钮、命令按钮 Caption 标题标题 常用事件:常用事件:click(单击单击)四:表单设计器四:表单设计器 属性窗口、表单控件工具、代码窗口属性窗口、表单控件工具、代码窗口1、各对象的设计、各对象的设计(1)表单的属性表单的属性 P164Caption 标题标题常用方法:常用方法:refresh刷新表单刷新表单 release释放表单释放表单(2)标签对象属性)标签
40、对象属性 Caption 及大小,颜色等。及大小,颜色等。(3)文本框对象属性)文本框对象属性 Value 值值 Password密码字符密码字符(4)命令按钮对象属性)命令按钮对象属性 Caption 标题标题 buttoncount 命令按钮数命令按钮数 常用事件:常用事件:click(单击单击)上机操作四:设计一个登录表单 步骤:步骤:(1)新建表单(登录)新建表单(登录.scx)(2)建立应用程序用户界面:()建立应用程序用户界面:(2个标签,一个个标签,一个文本框,文本框,2个命令按钮)个命令按钮)(3)设置各对象属性)设置各对象属性(4)编写事件代码()编写事件代码()第第4章:顺
41、序结构程序设计章:顺序结构程序设计(略略)第第5章:选择结构程序设计章:选择结构程序设计 在在VFP中实行分支的语句:中实行分支的语句:1单条件选择结构单条件选择结构IF 条件条件 语句组语句组1ENDIFIF 条件条件 语句组语句组1ELSE 语句组语句组2ENDIF 例例1:购物在购物在200元以上元以上,优惠优惠9折折.A=VAL(THISFORM.TEXT1.VALUE)IF A200 Y=A*0.9ELSE Y=AENDIFTHISFORM.TEXT2.VALUE=Y补充完成登录表单:补充完成登录表单:实现功能实现功能:在文本框中输入密码,若密码为“123456”则显示“登陆成功!”
42、否则显示为“密码错误!”登陆代码:登陆代码:Pas=thisform.text1.valueif pas=123456 thisform.label2.caption=登陆成功!else thisform.label2.caption=密码错误!endif取消代码:取消代码:thisform.release 5节2、多分支条件结构、多分支条件结构:DO CASE CASE 条件条件1 语句组语句组1 CASE 条件条件2 语句组语句组2 OTHER 其它语句组其它语句组ENDCASE功能说明:功能说明:1、当型循环命令:、当型循环命令:DO WHILE 条件条件 循环语句组循环语句组 ENDD
43、O 功能说明:功能说明:P95在循环体中的两个特殊的语句:在循环体中的两个特殊的语句:LOOP:返回本循环开始返回本循环开始DO WHILE处。处。EXIT:跳出循环,执行跳出循环,执行ENDDO后的语句。后的语句。第第6章:循环结构程序设计章:循环结构程序设计例例1 t=abcdefg i=1 do whil i=30 x=.f.endif enddo运行结果:运行结果:510152025305节 第第11章章 在表单上操作表的记录在表单上操作表的记录:p205上机操作五:设计一个操作数据表的表单,使之具上机操作五:设计一个操作数据表的表单,使之具有按记录浏览、查询退出等功能。有按记录浏览、
44、查询退出等功能。步骤:步骤:(1)新建表单)新建表单(2)创建)创建“数据环境数据环境”单击单击“显示显示”菜单下的菜单下的“数据环境数据环境”,选,选xb.dbf表表(3)建立应用程序用户界面及设置对象属性)建立应用程序用户界面及设置对象属性(4)增加一个标题标签和一个命令按钮组)增加一个标题标签和一个命令按钮组(5)编写事件代码)编写事件代码 go top Thisform.refresh)N=THIS.VALUE DO CASE CASE N=1 GO TOP CASE N=2 SKIP 1 CASE N=3 SKIP -1 CASE N=4 GO BOTTOMcase n=5 appe
45、 blan case n=6 dele use xs packCase n=7 quitENDCASEthisform.refresh (更新表单)(更新表单)确定是按哪个按钮确定是按哪个按钮多条件分支语句(多条件分支语句(do case _end case 指向首记录指向首记录下一个记录下一个记录上一个记录上一个记录未记录未记录添加记录添加记录退出系统退出系统按学号或姓名查询的代码:按学号或姓名查询的代码:按学号查询的按学号查询的click代码代码a=thisform.text1.valueloca for xh=attl(a)thisform.refresh按姓名查询的按姓名查询的clic
46、k代码代码a=thisform.text2.valueloca for xm=attl(a)thisform.refresh第第14章章 报表报表 报表文件的扩展名为报表文件的扩展名为.FRX,用于存储报表的规,用于存储报表的规范说明,其自身并非存储每个数据字段的值。范说明,其自身并非存储每个数据字段的值。一、建立报表一、建立报表 1、用、用报表报表向导向导 方法:方法:文件文件/新建新建/报表报表/报表向导报表向导。在报表向导中,确定数据库和表和可选字段在报表向导中,确定数据库和表和可选字段/确确定样式定样式/确定报表布局确定报表布局/确定表中数据的输出顺序。确定表中数据的输出顺序。2、预览报表命令:、预览报表命令:repo form xs.frx prev例例1:把把xs表作简单报表和按班级分组输出表作简单报表和按班级分组输出5节