nullVFP6.0程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
教程VFP6.0程序设计教程专业:市场营销
主讲:周小兰第一章 数据库系统基础知识第一章 数据库系统基础知识1.1 数据库系统概述
1.1 数据库系统概述
1. 数据处理
数据:
是对事实、概念或指令的一种特殊表达形式,可以用人工的方式或自动化的装置进行通信、
翻译
阿房宫赋翻译下载德汉翻译pdf阿房宫赋翻译下载阿房宫赋翻译下载翻译理论.doc
转换或者进行加工处理。 它包括两类:一类是能参与数字运算的数值型数据;一类是不能参与数字运算的非数值型数据,如文字、图画、声音、活动图象等。
数据处理:
是对各种类型的数据进行收集、存储、分类、计算、加工、检索与传输的过程。
包括:收集原始数据、编码转换、数据输入、数据处理、数据输 1.1 数据库系统概述1.1 数据库系统概述2. 数据库系统
(1) 数据库(DataBase)
定义:是以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。
特点: 具有最小的冗余度、具有数据独立性、实现数据共享、安全可靠、保密性能好
(2)数据库管理系统(DataBase Management System)
定义: 是操纵和管理数据库的系统软件。Visual FoxPro 属于一种关系型数据库管理系统。
数据语言:
数据定义语言(DDL): 用来建立所需的数据库。
数据操作语言(DML): 用来对数据库进行查询和维护操作。
关系型数据库使用的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
语言是结构化查询语言(Structured Query Language, SQL)。
1.1 数据库系统概述1.1 数据库系统概述(3)数据库系统(DataBase System)
定义: 是以数据库应用为基础的计算机系统。
组成:
数据库
硬件(计算机硬件设备)
软件(数据库管理系统 、操作系统)
用户(应用程序设计员、终端用户、数据库管理员 )
分类:层次型数据库、网状型数据库、关系型数据库
分代:第一代 非关系型数据库系统,60年代末问世,包括层次型和网状型。
第二代 关系型数据库系统(RDBS),70年代中期问世。
第三代 对象-关系数据库系统(ORDBS 、OOBDS),80年代中期至今。
上述三个概念之间的联系:在数据库系统中通过数据库管理系统来建立和使用数据库。 1.1 数据库系统概述1.1 数据库系统概述3.关系模型
三个领域: 现实世界→事物(对象、性质)
观念世界→实体(对象、属性)
数据世界→数据(
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
、字段)
实体模型:即反映事物联系的实体。
数据模型:即描述实体模型的数据。
数据模型的分类: 层次模型(采用树型结构)
网络模型(采用无向图型结构)
关系模型(采用二维表结构)
关系模型的性质:
二维表的记录数随数据的增加而改变,但其字段数是相对固定的;二维表中的每一列均有唯一的字段名;二维表中不允许出现完全相同的两行二维表中行的顺序、列的顺序均可以任意交换。
二维表的主关键字: 超关键字: 能唯一确定记录的一列或几列的组合
候选关键字:最简练的超关键字
主关键字: 候选关键字中的一个
外部关键字:当A表的主关键字被包含到B表中时,则称A表的主关键字为B表的外部关键字。null4. 微机关系型数据库系统的发展
关系型数据库: 即根据表、记录和字段之间的关系进行组织和访问的一种数据库。 1.2 Visual FoxPro 6.0概述1.2 Visual FoxPro 6.0概述1. VFP6.0的特点
完善了关系型数据库的概念,采用了Rushmore技术,引入了SQL命令;支持多种数据交换格式;采用了可视化的面向对象的程序设计方式;提供了功能完善的集成环境和丰富的开发工具。
2. VFP6.0的用户界面 [图例]
界面基本组成:标题栏、主菜单栏、工具栏、主窗口、命令窗口、状态栏null系统工具一览表
1.2 Visual FoxPro 6.0概述1.2 Visual FoxPro 6.0概述3. VFP 6.0的工作方式
(1) 菜单操作方式
根据所需的操作从菜单中选择相应的命令(与WORD类似)。每执行一次菜单命令,命令窗口中一般都会显示出与菜单对应的命令内容。
利用工具菜单中的向导可以很方便地完成常规任务。
(2) 命令交互方式
根据所要进行的各项操作,采用人机对话方式在命令窗口中按格式要求逐条输入所需命令,按回车后,机器逐条执行。
(3) 程序执行方式
先在程序编辑窗口中编完程序,再从程序菜单中选择执行,或从命令窗口中输入DO 命令,让机器执行。4. VFP 6.0常用文件类型 4. VFP 6.0常用文件类型 1.2 Visual FoxPro 6.0概述1.2 Visual FoxPro 6.0概述5. 创建文件
新建各种类型的文件时,可以利用系统提供的相应工具,以提高工作效率。新建文件时可用的设计器和向导。 1.3 项目管理器1.3 项目管理器1. 项目管理器简介
项目:
是一种文件,用于跟踪创建应用系统所需要的所有程序、表单、菜单、库、报表、标签、查询和一些其他类型的文件。
项目管理器:[图例]
是开发VFP应用系统的一个工具,它生成一个项目文件,项目文件的扩展名为 .PJX,项目备注的扩展名为:.PJT。
项目管理器窗口的组成:
由6大类数据项(全部、数据、文档、类、代码、其他)和10个命令按钮(新建、添加、修改、浏览、关闭、打开、预览、运行、移去、连编)组成。
注:粗斜体表示的命令按纽根据用户选择的不同对象相应地出现。
项目菜单的组成:13个子菜单(其中一部分与项目管理器中的命令按钮功能相同)。
项目管理器的功能:组织和管理所有与应用系统有关的各种类型的文件。1.3 项目管理器1.3 项目管理器2. 创建项目文件
用菜单方式:
打开文件菜单 → 新建 → 项目→ 新文件 → 给出合适的项目文件名及保存位置 → 进入项目管理器 → 开发应用系统 → 完成后关闭窗口退出。
用命令方式:
语法:CREATE PROJECT <项目文件名>
功能:打开项目管理器窗口进行应用系统的开发。1.3 项目管理器1.3 项目管理器3. 修改项目文件
用菜单方式:
打开文件菜单 → 打开 → 找到所需的项目文件并确定之 → 进入项目管理器→ 修改应用系统 → 完成后关闭窗口退出。
用命令方式:
语法:MODIFY PROJECT <项目文件名>
功能:打开项目管理器窗口进行应用系统的修改。1.3 项目管理器1.3 项目管理器4. 项目管理器的使用
可以利用项目管理器来创建、打开、浏览、修改所有VFP文件并运行其中的表单、报表、标签、菜单、程序等。特别是可以利用它来连编项目(追踪这些文件的变化情况,包括它们之间的相关性、引用和连接等,确保引用的完整,并加入自上次连编之后更新了的一些组件)、应用程序(扩展名为.APP,在VFP环境下执行)和可执行文件(扩展名为.EXE,能脱离VFP环境执行)。 1.4 VFP 6.0 的一些规则1.4 VFP 6.0 的一些规则1. VFP6.0 的命名规则:
· 只能使用字母、下划线和数字。
· 使用字母或下划线作为名称的开头。
· 名称可以是 1 至 128 个字符,但自由表的字段名和索引标识最多只能有 10 个字符。
· 避免使用 Visual FoxPro 的保留字。
· 文件的命名遵循操作系统的约定。1.4 VFP 6.0 的一些规则1.4 VFP 6.0 的一些规则2. 命令和子句的书写规则
(1) 以命令动词开始;
(2) 各部分之间要用空格隔开;
(3) 命令、子句、函数名都可简写为前4个字符,大、小写等效;
(4) 一行只能写一条命令,总长度不超过8192个字符,超过屏幕宽度时用续行符“;”;
(5) 变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发生混乱。
(6) 命令格式中的符号约定:
命令中的[ ] 、| 、…、< > 符号都不是命令本身的语法成分,使用时不能照原样输入,
其中:[ ] 表示可选项,根据具体情况决定是否选用
| 表示两边的部分只能选用其中的一个
… 表示可以有任意个类似参数,各参数间用逗号隔开
< > 表示其中内容要以实际名称或参数代入1.4 VFP 6.0 的一些规则1.4 VFP 6.0 的一些规则3. 命令工作方式中的常见错误
(1) 命令动词写错
(2) 格式不符合要求
· 标点符号不对(一定要用英文标点符号)
· 缺少必需的空格或添加了不该有的空格
· 数据类型不一致,要注意字符型、数值型、日期型、逻辑型数据的书写格式
(3) 打不开所需文件:没有正确输入盘符和路径或文件名输错第二章 表的创建和使用第二章 表的创建和使用2.1 VFP6.0表2.1 VFP6.0表1. 表的概念
表(数据表):
是指存放在磁盘文件中的一张二维表。(相当FoxPro 2.x 版本中的数据库)
自由表:不属于任何数据库的表。
数据库表:包含在一个数据库中的表。
表文件名:
表名可以由字母、数字或下划线组成,系统自动给出的扩展名为 .DBF。
备注文件名:
当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。
表结构:存储表记录的公共结构。(就是指一张表的表头结构,即字段的属性)。
记录:表中的一行。它是多个字段的集合,同一张表的每个记录都有相同的字段。
字段:表中的一列。它规定了数据的特征。
关系型数据表的特点:
(1)每一个字段不可再分解,也不能有名字相同的字段;
(2)每一列中的数据都有相同的数据类型;
(3)表中没有内容完全相同的行(记录)。2.1 VFP6.0表2.1 VFP6.0表2. 字段的基本属性
字段的属性:
包括:字段名、数据类型、字段宽度、小数位数、空值支持
字段名:
即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截短成 10 个字符。
VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。
数据类型:指该字段的数据特征。
字段宽度:指该字段所能容纳数据的的最大字节数。
小数位数:指数值型数据将保留几位小数。此时的字段宽度 = 整数位数+1+小数位数。
NULL 值(空值):
无明确的值。NULL 值不等同于零或空格。一个 NULL 值不能认为比某个值(包括另一个 NULL 值)大或小,相等或不同。null2.1 VFP6.0表2.1 VFP6.0表3. 表的基本操作
表的创建:设计表名和表结构、输入记录、建立索引
数据维护:增加记录、修改记录、删除记录
创建表的主要步骤: 设计表结构 → 输入记录 → 建立索引 → 数据维护2.1 VFP6.0表2.1 VFP6.0表4.关于表操作的几个基本命令
2.2 表结构的创建和修改2.2 表结构的创建和修改1. 表结构的创建
创建表结构其实就是设计字段的基本属性。可以使用表设计器、表向导或SQL命令来创建表结构。
(1)使用表设计器创建表 [图例]
步骤:
从文件菜单中单击新建 → 在新建对话框中选择表并单击新文件 → 在创建对话框中给出文件名并确定所需的保存位置 → 在表设计器对话框中逐个输入所需字段(用↓或鼠标换行),全部字段输入完成后单击确定。2.2 表结构的创建和修改2.2 表结构的创建和修改(2)使用表向导创建表
步骤:
从文件菜单中单击新建 → 在新建对话框中选择表并单击向导→在表向导中做第1步:选取字段,完成后单击下一步 → 在表向导中做第1a步:选择数据库,完成后单击下一步 → 在表向导中做第2步:修改字段设置,完成后单击下一步 → 在表向导中做第3步:为表建索引,完成后单击下一步 → 在表向导中做第4步:完成,选择表的保存方法,完成后单击完成 → 在另存为对话框中给出文件名并确定所需的保存位置。
注意:
先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。2.2 表结构的创建和修改2.2 表结构的创建和修改(3) 使用 CREATE TABLE - SQL命令
该命令的一般格式为:
CREATE TABLE |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]……)
例:CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),;cj n(5,1),ksrq d)2.2 表结构的创建和修改2.2 表结构的创建和修改2. 表结构的修改
(1)用表设计器修改
用菜单调出表设计器:
打开所需的表文件 → 单击显示菜单中的表设计器 → 在表设计器对话框中对字段进行修改 → 修改完毕单击确定并在消息框中选择是。
用命令调出表设计器:
USE <表文件名>
MODIFY STRUCTURE 2.2 表结构的创建和修改2.2 表结构的创建和修改(2) 使用 ALTER TABLE - SQL命令 2) 使用 ALTER TABLE - SQL命令
2.3 表记录的处理 2.3 表记录的处理 1. 记录的输入
(1) 立即输入方式:
设计好表的结构后,系统会提示是否直接进入数据输入状态。若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。需输入备注型或通用型字段的数据时,双击“memo” 或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口 ,此时字段中的“memo” 或“gen”变成“Memo” 或“Gen”。
(2) 追加方式:
若设计好表的结构后并没有及时输入数据,则可以用追加方式:
从文件菜单中(或从命令窗口中输入:USE 表文件名) 打开所需表文件 → 从显示菜单中选择浏览 → 再从显示菜单中选择追加方式 → 在浏览窗口中输入所需记录。 2.3 表记录的处理 2.3 表记录的处理 2.3 表记录的处理 2.3 表记录的处理 (3) 使用INSERT-SQL命令
该命令的一般格式为:
INSERT INTO <表名>[(字段名1[,字段名2 …])] VALUES (表达式1[,表达式2 …])
例:INSERT INTO xscj(xh,xm,cj) VALUES ("81991001", "张良", 85.5)2.3 表记录的处理2.3 表记录的处理2. 记录的浏览
(1) 通过浏览窗口
(2) 通过BROWSE 命令
BROWSE命令用来打开表的浏览窗口,可通过不同的子句来实现对特定记录的浏览。 2.3 表记录的处理2.3 表记录的处理VFP命令中的常用子句
1) 范围子句2.3 表记录的处理2.3 表记录的处理VFP命令中的常用子句
2) FOR子句
用于指明进行操作的条件。
格式: FOR <条件>
指明只对指定范围中那些符合给定条件的进行当前操作。
例如: list NEXT 6 FOR cj < 852.3 表记录的处理2.3 表记录的处理VFP命令中的常用子句
3) WHILE 子句
也用于指明进行操作的条件。
格式: WHILE <条件>
例如: list NEXT 6 WHILE cj < 852.3 表记录的处理2.3 表记录的处理VFP命令中的常用子句
4) FIELDS 子句
用于指明当前的操作涉及到表文件的哪些字段。
格式:BROWSE [ FIELDS 字段名1,字段名2……]
例如:BROWSE FIELDS xh,xm,cj
2.3 表记录的处理2.3 表记录的处理3. 记录的定位
(1) 系统对记录的三个控制标志
记录开始标志:位于第一个记录之前。其值用函数BOF()进行测试。
记录指针标志:指向当前记录。其值用函数RECNO()进行测试。
记录结束标志:位于最后一个记录之后。其值用函数EOF()进行测试。
记录指针可以理解为保存当前记录号的变量,它的初始值总是1,不可能为0或负数,最大值是表中记录总数+1。2.3 表记录的处理2.3 表记录的处理3. 记录的定位
刚打开表时记录指针的情况2.3 表记录的处理2.3 表记录的处理3. 记录的定位
(2)记录的定位方式
绝对定位:是指把指针移到指定的位置。
相对定位:
是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。
条件定位:
是指按一定的条件在整张表或表的某个指定范围中查找符合该条件的记录。
通过菜单进行定位
从表菜单中选择转到记录:记录号——实现绝对定位
定位… ——实现条件定位2.3 表记录的处理2.3 表记录的处理3. 记录的定位
通过命令进行定位
2.3 表记录的处理2.3 表记录的处理4. 记录的修改和删除
一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其记录进行编辑、修改和删除。 2.3 表记录的处理2.3 表记录的处理4. 记录的修改和删除
(1) 菜单方式
修改记录:
从表菜单中选择替换字段… → 在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件 → 替换。
删除记录:
从表菜单中选择删除记录 → 在删除对话框中选择删除范围和删除条件 → 单击删除按钮 → 从表菜单中选择彻底删除 → 在消息框中单击是。
删除记录包括两步: 标记要删除的记录 和 彻底删除带删除标记的记录
恢复带删除标记的记录:
从表菜单中选择恢复记录 → 在恢复记录对话框中选择作用范围和条件 → 单击恢复记录按钮。2.3 表记录的处理2.3 表记录的处理4. 记录的修改和删除
(2) SQL命令方式 (表事先可以不打开,适用于编程工作方式)
修改记录: 用 UPDATE-SQL 命令。
命令格式: UPDATE <表名> SET 字段1 = 表达式1 [,字段2 = 表达式2 …];
WHERE 条件表达式
例: UPDATE xscj SET cj = cj*1.05 WHERE cj>80
删除记录: 用 DELETE-SQL 命令。
命令格式: DELETE FROM <表名> [WHERE 条件表达式]
例: DELETE FROM xscj WHERE cj<602.3 表记录的处理2.3 表记录的处理4. 记录的修改和删除
(3) 在命令窗口中用VFP命令:nullnull2.3 表记录的处理2.3 表记录的处理 5. 筛选记录和字段
(1) 用菜单方式
从表菜单中选择属性 → 在工作区属性对话框中单击数据过滤器框后的按钮 → 在表达式生成器对话框中构造所需的条件表达式并确定 → 单击字段筛选…按钮 →在字段筛选器中选择所需字段并确定 → 单击选项按钮:字段筛选指定的字段 → 确定。2.3 表记录的处理2.3 表记录的处理5. 筛选记录和字段
(2)用命令方式
命令格式: SET FILTER TO 条件表达式
例: SET FILTER TO xb ='男'
注意:SQL命令对记录的访问不受此筛选命令的限制。 2.4 表的使用2.4 表的使用1. 工作区
工作区:
指用来标识一张打开的表的区域。一个工作区在某一时刻只能打开一张表,但可以同时在多个工作区打开多张表,一张可以在多个工作区中多次被打开。每个工作区都有一个编号。
表的别名:
在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a 、_b…。
自定义别名的格式: USE <表名> ALIAS <别名>2.4 表的使用2.4 表的使用当前工作区:
正在使用的工作区。可以通过“数据工作期窗口”或用 SELECT命令把任何一个工作区设置为当前工作区。
SELECT 命令格式: SELECT <工作区号>|<别名>
要操作非当前工作区中的表,可以把其它工作区选为当前工作区,或在命令中强行指定工作区。
命令格式: IN <工作区号>|<别名>
ALIAS([工作区号])函数:
测试指定工作区中的表的别名,无参数时指当前工作区表的别名。
SELECT([别名])函数:
测试指定别名的表所在的工作区号,无参数时指当前工作区的区号。2.4 表的使用2.4 表的使用2. 表的打开和关闭2.4 表的使用2.4 表的使用3. 表的独占与共享使用
独占使用: 一张表只能被一个用户打开。VFP6.0在默认状态以独占方式打开。
共享使用: 一张表可以被多个用户同时打开。
系统的默认打开方式可以通过工具菜单中的选项…来设置,或 用命令:
SET EXCLUSIVE OFF && 默认打开方式为共享
SET EXCLUSIVE ON && 默认打开方式为独占
或强行打开:USE cj SHARED && 以共享方式打开cj表
USE cj EXCLUSIVE && 以独占方式打开cj表2.4 表的使用2.4 表的使用4. 利用缓冲访问表中的数据
数据缓冲:
先将对表记录的修改存放在缓冲区中,用户决定是否用缓冲区中的数据更新表文件。它是VFP6.0在多用户环境下用来保护对表记录所做的数据更新和数据维护操作的一种技术。
数据缓冲的类型:
记录缓冲:
当记录指针移动或关闭表时,缓冲区自动更新表中的相应记录。
表缓冲:当发出更新表的命令或关闭表时更新表。
缓冲锁定方式:有两种:开放式 和 保守式。 2.5 表的索引2.5 表的索引1. 基本概念
记录的顺序 :
物理顺序:即表中记录的存储顺序。用记录号表示。
逻辑顺序:表打开后被使用时记录的处理顺序。
索 引:
指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序。表文件中的记录被修改或删除时,索引文件可自动更新。
索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。
注意:1)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;
2)不同类型字段构成一个表达式时,必须转换数据类型。 2.5 表的索引2.5 表的索引1. 基本概念
索引标识(索引名):
即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过10个字。
索引类型:主索引、候选索引、普通索引、唯一索引。
主索引:
组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。
候选索引:
在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个表建立多个候选索引。
普通索引:
也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。
唯一索引:
参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。2.5 表的索引2.5 表的索引2. 索引的作用2.5 表的索引2.5 表的索引3.索引文件的种类 2.5 表的索引2.5 表的索引4. 创建结构复合索引
VFP中创建索引文件有两种方式:表设计器方式和命令方式。
(1)表设计器方式
打开表文件 →从显示菜单中选择表设计器 → 在表设计器中单击索引 → 输入索引名并选择索引类型 → 选择索引的方向(按升序或降序排列记录) → 在表达式框中输入作为排序依据的索引关键字 → 在筛选框中输入筛选表达式 → 单击确定,完毕。2.5 表的索引2.5 表的索引4. 创建结构复合索引
(2) 命令方式2.5 表的索引2.5 表的索引注意:1)备注型字段和通用型字段不能作为索引关键字段;
2)不要建立无用的索引,以免降低系统性能;
3)及时清理已无用索引标识,提高系统效率。
4)在复合索引的多个索引中,某一时刻只有一个索引对表起作用。2.5 表的索引2.5 表的索引5. 索引的修改和删除
修改: 打开表设计器,在索引对话框中进行所需修改;
或 用命令重新建立一个相同标识名而索引表达式不同的索引。
删除: 打开表设计器,在索引对话框中删除不需要的索引标识即可;
或 用命令: DELETE TAG ALL | 索引标识1 [, 索引标识2 ] …
删除不需要的索引标识,ALL表示全部标识。2.5 表的索引2.5 表的索引6. 索引的使用第三章 数据库的创建和使用第三章 数据库的创建和使用3.1 VFP数据库3.1 VFP数据库1. 数据库的基本组成
数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。
视图(view):
一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟表,可以是本地的、远程的或带参数的。
存储过程(stored procedure):
是保存在数据库中的一个过程。该过程能包含一个用户自定义函数中的任何命令和函数。
创建数据库时系统自动生成3个文件:
数据库文件: 扩展名为 .DBC
数据库备注文件: 扩展名为 .DCT
数据库索引文件: 扩展名为 .DCX 3.1 VFP数据库3.1 VFP数据库2. 数据库的设计过程
1)明确建立数据库的目的和使用方式
2)设计所需的数据表(包括表结构和表记录)
3)建立表之间的关系
4)改进设计3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]1. 数据库的创建过程
数据库的创建过程中一般会涉及下面一些常用操作:
1)创建新表 → 用表设计器 (设置字段属性和表属性)
2)添加表 → 用数据库设计器按钮或数据库菜单
3)创建视图 → 用视图向导、视图设计器
4)建立关系 → 用鼠标将父表的索引拖到子表的相关索引上
5)编辑关系 → 用数据库菜单或快捷菜单 → 参照完整性生成器
6)移去关系 → 用快捷菜单或按delete键
7)修改表 → 用表设计器
8)删除表或视图 → 用数据库设计器按钮或数据库菜单3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]2. 数据库的新建、打开、关闭
(1)新建数据库:
从文件菜单中单击新建 → 在新建对话框中选择数据库并单击新文件 → 在创建对话框中给出库文件名和保存位置 → 在数据库设计器中建立所需的数据库。
或 从命令窗口中输入命令: create database 数据库名
(2)打开数据库:
从文件菜单中单击打开 → 在打开对话框中给出库文件名和保存位置并确定之。
或 从命令窗口中输入命令: open database 数据库名3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]2. 数据库的新建、打开、关闭
(3)关闭数据库:
从命令窗口中输入命令:
close database && 关闭当前数据库
或 close all && 关闭所有被打开的数据库
注意:1) 关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭;
2) 用鼠标关闭了数据库设计器窗口并不能代表关闭数据库 3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]3. 用数据库设计器设计数据库
(1) 调出表设计器,建立一个新数据表[图例]
方法1:从数据库菜单中选择新表。
方法2:右击数据库设计器窗口,从快捷菜单中选择新表。
方法3:单击数据库设计器工具栏的新表按钮。
方法4:从文件菜单中单击新建,在对话框中选择表。
注意:
数据库表的表设计器中内容比自由表的多,增加了字段属性和表属性的设置。设置验证规则目的是为了使输入的数据符合要求,在有矛盾时发出错误提示信息。3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]3. 用数据库设计器设计数据库
(2) 数据库表的高级属性3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]3. 用数据库设计器设计数据库3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]3. 用数据库设计器设计数据库
字段级规则:
一种与字段相关的有效性规则,在插入或修改字段值时被激活,多用于数据输入正确性的检验。
为字段设置验证规则的方法:
.在表设计器中选定要建立规则的字段名。 .在“规则”方框旁边选择“…”按钮。 .在表达式生成器中设置有效性表达式,并选择“确定”。 .在“信息”框中,键入用引号括起的错误信息。 .在“默认值”框中,键入合理的初值。 .注意不同类型数据的表示方法。 .选择“确定”
记录级规则:
一种与记录相关的有效性规则,当插入或修改记录时激活,常用来检验数据输入和正确性。记录被删除时不使用有效性规则。记录级规则在字段级规则之后和触发器之前激活,在缓冲更新时工作。 3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]3. 用数据库设计器设计数据库
触发器:
在一个插入、更新或删除操作之后运行的记录级事件代码。不同的事件可以对应不同的动作。它们常用于交叉表的完整性。
(3) 在数据库中添加表
方法1:从数据库菜单中选择添加表,从打开对话框中选择所需的表并确定之。
方法2:右击数据库设计器窗口,从快捷菜单中选择添加表。
方法3:单击数据库设计器工具栏的添加按钮。
注意:
一个数据表在同一时间内只能属于一个数据库,已隶属于其它数据库的表不能直接被添加进来,需先将其移出数据库还原成自由表。3.2 数据库的创建 [图例]3.2 数据库的创建 [图例]3. 用数据库设计器设计数据库
(4) 创建并添加视图
视图用于显示一个或多个表中的记录,并能够更新源表中的数据,视图只有在数据库中才能存在。
方法1:从数据库菜单中选择新远程视图或新本地视图
方法2:右击数据库设计器窗口,从快捷菜单中选择新远程视图或新本地视图
方法3:单击数据库设计器工具栏的新远程视图或新本地视图按钮 3.2 数据库的创建3.2 数据库的创建3. 用数据库设计器设计数据库
(5) 在数据库中操作表和视图
可以利用数据库设计器工具栏很方便地进行下列操作:
浏览: 在浏览窗口中显示表或视图的内容。
修改: 调出表设计器或视图设计器对表或视图进行修改。
移去:使表从数据库中还原成自由表。对视图移去相当于删除。
删除:从磁盘上彻底删除数据表和视图,并且无法回收。3.2 数据库的创建3.2 数据库的创建3. 用数据库设计器设计数据库
(6) 在表之间建立永久性关系
永久关系:
是数据库表之间的一种关系,不仅运行时存在,而且一直保留。表之间的永久关系是通过索引建立的。
一对多关系:
表之间的一种关系,在这种关系中,主表中的每一个记录与相关表中的多个记录相关联(每一个主关键字值在相关表中可出现多次)。
一对一关系:
表之间的一种关系,在这种关系中,主表中的每一个记录只与相关表中的一个记录相关联。 3.2 数据库的创建3.2 数据库的创建3. 用数据库设计器设计数据库
(6) 在表之间建立永久性关系
创建表间的永久关系:
在数据库设计器中,选择想要关联的索引名,然后把它拖到相关表的索引名上,所拖动的父表索引必须是一个主索引或候选索引。建立好关系后,这种关系在数据库设计器中会显示为一条连接两个表的直线。
注意:需先建立索引然后才能建立关系。
删除表间的永久关系:
在数据库设计器中,单击两表间的关系线。关系线变粗,表明已选择了该关系,按下 delete 键。
编辑关系:
单击所需关系线,右击鼠标,从快捷菜单中选择编辑关系,在编辑关系对话框中改选其它相关表索引名或修改参照完整性规则。
参照完整性(RI):
控制数据一致性,尤其是不同表的主关键字和外部关键字之间关系的规则。Visual FoxPro 使用用户自定义的字段级和记录级规则完成参照完成性规则。 3.2 数据库的创建3.2 数据库的创建3. 用数据库设计器设计数据库
(7) 在表之间建立临时关系
临时关系:
是在打开的数据表之间用 set relation命令建立的临时关系,或是在数据工作期窗口建立。建立了临时关系后,子表的指针会随主表记录指针的移动。表被关闭后,关系自动解除。
临时关系与永久关系的联系与区别:
联系:
(1)都必须明确建立关系的两张表之间确实在客观上存在着一种关系(一对多或一对一关系)。
(2)永久关系在许多场合可以作为默认的临时关系。
区别:
(1)临时关系是用来在打开的两张表之间控制相关表之间记录的访问;而永久关系主要是用来存储相关表之间的参照完整性,附带地可以作为默认的临时关系或查询中默认的联接条件。
(2)临时关系在表打开之后使用set relation命令建立,随表的关闭而解除;永久关系永久地保存在数据库中而不必在每次使用表时重新创建。
(3)临时关系可以在自由表之间、库表之间或自由表与库表之间建立,而永久关系只能在库表之间建立。
(4)临时关系中一张表不能有两张主表(除非这两张主表是通过子表的同一个主控索引建立的临时关系),永久关系则不然。3.2 数据库的创建3.2 数据库的创建4. 用命令方式操作数据库
常用命令一览表3.2 数据库的创建3.2 数据库的创建4. 用命令方式操作数据库
常用命令一览表3.2 数据库的创建3.2 数据库的创建5. 用CREATE TABLE-SQL 命令创建数据库表
命令一般格式:
Create table 表名1 [free] ( 字段名1 字段类型代号 [ (字段宽度[,小数位数 ] ) ][null | not null] [check 字段规则1 [error “信息1” ] ] [default 默认值][primary key | unique] [references 表名2 [tag 索引标识1 ] ][ , 字段名2 字段类型代号 [ (字段宽度 [, 小数位数]) ] [null | not null] ][check 字段规则2 [error “信息2” ] ] [default 默认值 ] ) | from array 数组名 3.2 数据库的创建3.2 数据库的创建5. 用CREATE TABLE-SQL 命令创建数据库表
使用示例:
creat data xscjgl && 创建学生成绩管理数据库3.2 数据库的创建3.2 数据库的创建5. 用CREATE TABLE-SQL 命令创建数据库表
使用示例:
create table xs (;
xh c(4) default "1201" primary key,;
xm c(6), ;
xb c(2) check xb="男" or xb="女" error"性别只能是男或女" default "女",;
nl n(2) null;
) && 创建学生表3.2 数据库的创建3.2 数据库的创建5. 用CREATE TABLE-SQL 命令创建数据库表
使用示例:
create table kc (;
kch c(3) unique, ;
kcm c(10),;
xf n(3,1),;
bxk l;
) && 创建课程表3.2 数据库的创建3.2 数据库的创建5. 用CREATE TABLE-SQL 命令创建数据库表
使用示例:
create table cj(;
xh c(4) default "1201" reference xs tag xh, ;
kch c(8),;
ksrq d,;
cj n(5,1);
) && 创建成绩表3.2 数据库的创建3.2 数据库的创建5. 用CREATE TABLE-SQL 命令创建数据库表
使用示例:
modi data
alter table cj add primary key xh+kch+str(cj,4,1) tag dh && 为成绩表添加一个主索引
第五章 VFP语言基础 第五章 VFP语言基础5.1 数据与数据储存方式5.1 数据与数据储存方式1.数据类型
VFP 包含下列数据类型: 5.1 数据与数据储存方式5.1 数据与数据储存方式2. 数据容器
VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。
(1) 常量(constants):
一个在操作过程中保持不变的数值或字符串。 常用的常量类型
5.1 数据与数据储存方式5.1 数据与数据储存方式2. 数据容器
(2)变量(variables):
是内存中的一个存储
单元
初级会计实务单元训练题天津单元检测卷六年级下册数学单元教学设计框架单元教学设计的基本步骤主题单元教学设计
的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。
变量的命名习惯: 类型变量代号
如:cStud 、nCj 、dCsrq ——
分别代表一个字符型、数值型、日期型的变量名
变量的赋值方式: 1) 用 STORE 命令 如:STORE "王兰" TO cStud
2) 用赋值操作符 = 如:cStud = "王兰" 5.1 数据与数据储存方式5.1 数据与数据储存方式2. 数据容器
变量的作用域: 即变量起使用的有效范围 5.1 数据与数据储存方式5.1 数据与数据储存方式2. 数据容器
(2)变量(variables):
变量的访问:
当变量和字段同名时,字段有优先被访问权。要在变量名前加 m. 或 m -> 以示区别,如 m.cStud 5.1 数据与数据储存方式5.1 数据与数据储存方式2. 数据容器
(3)数组(array):
是存储在一个变量中由单个变量名引用的有序数据集合。在 VFP中,一个数组中的数据不必是同一种数据类型。常用的有一维数组,二维数组。
数组元素的标识:通过一个数值下标来引用,如 AA[2],AA[2,3]
数组类型的声明:
私有数组 ——用DECLARE 或 DIMENSION定义
全局数组 ——用PUBLIC命定义
局部数组 ——用LOCAL定义5.1 数据与数据储存方式5.1 数据与数据储存方式2. 数据容器
(3)数组(array):
数组元素的赋值:
用赋值语句: 如 AA=45
用SCATTER从当前记录中取特定字段的值赋给数组:
如: scatter fields xh, xm, xb to aa
(数组长度、类型自动与所给字段相同)
用 COPY TO ARRAY从当前记录中取所有字段的值赋给数组:
如: copy to array aa
(数组长度、类型自动与表中全部字段相同)
把数组中的数据传给当前表中的当前记录:
gather from 数组名 [fields 字段名表]
用数组向当前表添加记录:
append from array 数组名 [for 条件] [[fields 字段名表]
(用二维数组可以同时添加多条记录)5.1 数据与数据储存方式5.1 数据与数据储存方式2. 数据容器
(4) 记录:
表中的一行,由字段组成。
(5) 对象:
对象是类的一个实例,类是对拥有数据和一定行为特征的对象集合的描述。VFP对象可以是表单、表单集、控件。 5.2 VFP 6.0的语言成分5.2 VFP 6.0的语言成分1. 命令
即:由用户发出的、指示VFP进行某种操作的指令。
如 USE aaa & 打开 一个名为 aaa.dbf的数据表
2. 函数
即:一个预先编制好的模块,可由VFP程序在任何地方调用。
函数的使用方法:名称、功能、参数、返回值5.2 VFP 6.0的语言成分5.2 VFP 6.0的语言成分2. 函数
常用函数
5.2 VFP 6.0的语言成分5.2 VFP 6.0的语言成分2. 函数
常用函数5.2 VFP 6.0的语言成分5.2 VFP 6.0的语言成分2. 函数
常用函数5.2 VFP 6.0的语言成分5.2 VFP 6.0的语言成分3. 表达式
即:变量、操作符、常量、函数、字段名、控制以及属性的组合,求值结果为单个值。
表达式的类型:
算术表达式:由算术操作符和数值型数据构成的表达式。
字符表达式:由字符操作符和字符型数据构成的表达式。
日期表达式:由日期操作符和日期、时间型数据构成的表达式。
逻辑表达式:由逻辑操作符和逻辑型数据构成的表达式。5.2 VFP 6.0的语言成分5.2 VFP 6.0的语言成分4. 操作符第六章 程序设计基础第六章 程序设计基础6.1 程序设计概述6.1 程序设计概述1. 程序设计方法简介6.1 程序设计概述6.1 程序设计概述2. 基本概念
程 序:为解决某一问题而设计的一系列指令。
主程序:通常被用户直接执行的程序。
子程序:在程序中被调用的程序。
源程序: 由人用源语言编写的计算机程序,必须翻译成机器语言后才能被执行。
目标程序: 是源程序经过编译后所产生的机器语言程序。6.1 程序设计概述6.1 程序设计概述2. 基本概念
可执行程序:
源程序被编译后产生的可被机器直接执行的程序,具有 .EXE 扩展名。在VFP中是指由项目管理器连编生成的、可脱离VFP环境运行的程序。
应用程序:
指为完成专门工作而设计的一组相互联系的例行程序和子程序。在VFP中是指一组 Visual FoxPro 程序、表单、菜单和其他文件经项目管理器连编后形成的单个程序,不能脱离VFP环境运行,扩展名为.APP。
例行程序:
按某种顺序排列的、使计算机能执行某种任务的指令集合,可以是一种专用的程序或作为程序的一部分。它可由若干个子程序组成。6.1 程序设计概述6.1 程序设计概述2. 程序控制
(1) 顺序语句
即按程序中的语句顺序依次执行。6.1 程序设计概述6.1 程序设计概述2. 程序控制
(2) 分支语句6.1 程序设计概述6.1 程序设计概述2. 程序控制
(3). 循环语句6.1 程序设计概述6.1 程序设计概述2. 程序控制
(3). 循环语句
循环结构中的LOOP命令和EXIT命令:
LOOP是短路语句,表示从此开始下一次循环;
EXIT是退出语句,表示跳出循环。 6.1 程序设计概述6.1 程序设计概述4. 子程序
子程序的的形式可以是一个程序文件,也可以是一个过程或自定义函数。null6.2 程序设计6.2 程序设计1. 创建应用程序
方法一:
在命令窗口中输入: MODIFY COMMAND 程序名
方法二:
单击文件菜单 → 新建 → 程序 → 新文件 → 在编辑窗口中编辑程序 → 完成后关闭 → 给出合适的程序名及保存位置 。 6.2 程序设计6.2 程序设计1. 创建应用程序
程序的注释: 方法1: * | NOTE <注释内容> 可出现在程序中的任何地方
方法2: && <注释内容> 一般用于命令的尾部
给程序加注释的目的是为了提高程序的可读性。
面向过程的程序设计三步曲: 输入 → 处理 → 输出。 6.2 程序设计6.2 程序设计2. 修改应用程序
方法一:
在命令窗口中输入: MODIFY COMMAND 程序名 | ?
注: ? 表示不知道程序名,要从打开对话框中选定。
方法 二:
单击文件菜单 → 打开 → 选择所需程序并打开 → 在编辑窗口中对程序进行修改 → 完成后关闭退出。6.2 程序设计6.2 程序设计3. 执行应用程序
方法一: 在命令窗口中输入: DO 程序名 | ?
方法二:从程序菜单中选择执行→从打开对话框中选择所需程序并执行之。6.2 程序设计6.2 程序设计4. 程序设计的基本步骤
(1)对问题进行说明
(2)分解问题
(3)编制各模块
(4)测试并完善各模块
(5)组装全部模块
(6)整体测试第七章 创建查询和视图第七章 创建查询和视图7.1 创建查询7.1 创建查询1. 查询的概念
查询:就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。
查询文件:
即保存实现查询的SELECT-SQL命令的文件。查询文件保存时,系统自动给出扩展名 .qpr;查询被运行后,系统还会生成一个编译后的查询文件,扩展名为 .qpx。
查询结果:
通过运行查询文件得到的一个基于表和视图的动态的数据集合。查询结果可以用不同的形式来保存。查询中的数据是只读的。7.2 创建视图7.2 创建视图1. 视图的特点
1) 视图是存在于数据库中的一个虚表,不以独立的文件形式保存;
2) 视图中的数据是可以更改的,它不仅具有查询的功能,且可以把更新结果反映到源数据表中;
3) 视图打开时,其基表自动打开,但视图关闭时,其基表并不随之自动关闭;
4) 视图的数据源可以是自由表、数据库表或另一个视图。第八章 表单设计第八章 表单设计8.1 基本概念8.1 基本概念1.名词解释
表单:
即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改。该界面可以自行设计和定义,是一种容器类,可包括多个控件(或称对象)。
表单集:
可包含一张或多张表单的容器。
数据环境:
在打开或修改一个表单或报表时需要打开的全部表、视图和关系。它以窗口形式(类似于数据库设计器)反映出与表单有关的表、视图、表之间关系等内容。可以用数据环境设计器来创建和修改表单的数据环境。8.2 创建表单8.2 创建表单可以用表单向导、表单设计器、表单生成器、编程四种方法创建表单。
1. 利用向导创建表单
(1) 创建单张表的表单:
打开文件菜单 → 新建 → 表单 → 向导 [或从常用工具栏上选择表单(F)] → 选择表单向导 → 选取字段 → 选择样式 → 选择排序记录 → 选择保存方式 → 给出合适的文件名和保存位置。8.3 向表单中添加控件8.3 向表单中添加控件1. 常用控件的作用
标 签: 用于保存不希望用户改动的文本,常用来为添加的控件写标。
文本框: 用于输入或编辑表中的非备注型字段,框中一般是单行的文本。
编辑框: 用于输入或编辑长字段或备注字段,框中可以有多行并有垂直滚动条。
列表框: 用于显示一组预定的、供用户选择的值,可以是一列或多列,可通过滚动条浏览列表信息。
组合框: 一种下拉式的列表框,可以从中选择一项或人工输入一个值,兼有列表框和文本框的功能8.4 修改表单布局 8.4 修改表单布局 打开表单,进入表单设计器,用表单设计器工具栏或显示菜单中的各命令修改表单。
1. 选择、移动和缩放控件
选择: 用鼠标单击所需控件
移动: 选定控件,用鼠标拖动到新位置或从编辑菜单中选择剪切再在新位置粘贴
缩放: 选定控件,用鼠标拖动尺寸柄直至所需大小松开8.5 定制表单8.5 定制表单1. 改变文本的字体和大小
打开表单,进入表单设计器 → 选择要修改的控件 → 打开属性窗口 → 设置字体大小和字形,如 FontName 、FontSize、FontBold。
2.向表单中添加线条和形状
选择工具栏上的线条或形状按钮,在表单中所需位置拖动鼠标,画出线条或图形,图形界于正方形和圆形、长方形和椭圆形之间(属性窗口中的 Curvature 值从 0~99 )。线条和形状的颜色可以在属性窗口中设定。8.6 设计自定义表单的一般方法8.6 设计自定义表单的一般方法1. 与数据表绑定型表单
(1) 生成基本表单:
新建 → 表单 → 新文件 → 进入表单设计器 → 表单菜单 → 快速表单 → 选定数据库(表) → 选定输出字段 → 选定样式 → 确定。
(2) 修改基本表单:
1) 用鼠标拖动来调整各字段的布局(排列位置、大小、对齐等);
2) 在属性窗口中设置表单中各对象的属性:第九章 报表与标签设计第九章 报表与标签设计9.1 基本概念9.1 基本概念1. 报表:
是通过打印机将所需的记录用书面形式输出来的一种方式。
报表保存后系统会产生 两个 文件:
报表定义文件: 扩展名为 .FRX
报表备注文件: 扩展名为 .FRT9.2 创建报表 9.2 创建报表 1.用报表向导创建
用来创建简单的单表或多表报表。方法如下:
打开文件菜单 → 新建 → 报表 → 向导 (或从常用工具栏上选报表(R))→ 选择向导类型 → 选