Visual FoxPro程序设计基础第4章表的基本操作
Visual Foxpro程序设计第四章第8讲 用户自定义函数和过程

中国矿业大学计算机学院 李向群
10
用户自定义函数
中国矿业大学计算机学院 李向群
例2:创建一个用户自定义函数CCDOW()。功能是: 返回一个日期是星期几,如:CCDOW({^1999/3/1}) 的返回值是“星期一”。
CLEAR
cx={} @4,20 SAY "请输入一个字符型日期: " GET cx
FUNCTION CCDOW(cx)
dx = DOW(cx)
DO CASE
CASE dx=1
title1 = "星期日"
CASE dx=2
title1 = "星期一"
……
CASE dx=7
title1 = "星期六"
ENDCASE
RETURN (title1)
ENDFUNC
15
过程
中国矿业大学计算机学院 李向群
中国矿业大学计算机学院 李向群
第四章 Visual FoxPro程序设计基础 第8讲 用户自定义函数和过程
1
中国矿业大学计算机学院 李向群
用户自定义函数和过程
在程序设计中,经常把完成一个特定功 能的程序编写成一个函数或过程,作为一个 独立的模块,以便在其他程序使用该功能时 调用此模块。
这种用以完成一个特定功能的程序,称 为用户自定义函数或过程。
……
CASE dx=7
title1 = "星期六"
ENDCASE
RETURN (title1)
ENDFUNC
12
中国矿业大学计算机学院 李向群
用户自定义函数举例(二)
Visual FoxPro第四篇 VFP9PPT教学课件

2020/12/09
8
2.6 本章小结
本章简单介绍了面向对象的程序设计方法, 也并不是它的全部。但是涉及到的关于类、对象、 事件的概念、作用作了介绍。本章的主要内容: 1.面向对象的程序设计的概念、术语; 2.以一个例题小结面向对象的程序设计的步骤; 3.VFP9.0的类与事件模型等。
2020/12/09
2020/12/09
5
第2章 面向对象的程序设计
2.1 面向对象程序设计的概念 2.2 面向对象程序设计中的术语 2.3 面向对象的程序设计实现步骤
2.3.1 示例 2.3.2 实现步骤小结 2.4 Visual FoxPro的类 2.4.1 类的概念 2.4.2 使用类的好处 2.4.3 Visual FoxPro 类的类型
本章介绍了程序设计的基础知识以及Visual FoxPro9.0的特点,为用户学习使用Visual FoxPro9.0提供的编程技术的应用打下了一 个基础。
本章内容要点:
1.程序设计的基础知识,例如什么叫程序设 计,程序设计的实现方法有2个方法,即面 向对象与面向过程的程序设计方法。
2.熟悉FoxPro9.0的编程环境,程序的运行 方法。
(3)SET CONSOLE ON/OFF 输出时是否在屏幕上显示,常用来设置密码。
(4)SET DELETE ON/OFF 统计时对有逻辑删除标记的纪录是否有效
(5)SET CENTURY ON/OFF 设置年是否为4位
3.2.2 多态控制参量命令
命令格式: SET <控制参量> TO <文件名> /<表达式>/<设备名>
如果用户要掌握编程技术,又想使数据库应用度更深一些,即 要学习此篇内容,学了之后,能使用编程技术完成一个中、
《Visual Foxpro 6.0程序设计基础教程》教学课件 VF第4单元

Visual FoxPro 6.0 程序设计根底教程
第4单元
第4单元 数据库的根本操作
学习任务 数据库的根本操作 数据库的使用
程序设计基础教程
第4单元 数据库的根本操作
任务安排 任务4.1 掌握数据库的根本操作 任务4.2 掌握数据库的使用方法
程序设计基础教程
任务4.1 掌握数据库的根本操作
该命令的格式、功能和说明如下:
SORT TO <表文件名> ON <字段名1>[/A/D][/C][,<字段名2> /A/D] [/C] …][ASCENDING / DESCENDING] [<范围>] [FOR <条件>] [WHILE < 条件>][FIELDS <字段名表>]
命令使用本卷须知:
程序设计基础教程
ON后字段的类型不能是备注型和通用型。
/A:升序;/D:降序;/C:不区分大小写。/C可以和/A或/D同时使用, 可以写成/AC或/DC。 ON后有多个字段时,第一字段为主排序字段,第二字段为次排序字段, 依次类推。 假设每个字段都按升序或降序排列,可用ASCENDING〔升序〕或 DESCENDING〔降序〕,但/A或/D的优先级高于它们。
删除数据库:
程序设计基础教程
要删除数据库,主要有两种方法,一是使用DELETE DATABASE命令, 一是使用工程管理器。
〔1〕使用命令删除数据库
DELETE DATABASE <数据库文件名> | ? [DELETETABLES] [RECYCLE]
指定要删除的数据库。
在删除数据库文件的 同时,也删除数据库中 的表文件。默认情况下, 不删除表文件。
FOXPRO数据库操作

方法二:命令格式:MODIFY STRUCTURE
另外Visual FoxPro中显示表结构的命令是: LIST | DISPLAY STRUCTURE [TO PRINT]
数据的显示和修改方式
在 Visual FoxPro系统环境下,当表建立完成后,表 的数据和结构已基本确定,用户可以通过表设计器显 示表结构;并且采用表“浏览”和表“编辑”两种操 作方式对表中的数据进行显示和修改。
VFP提供了以下三种数据输入方式:浏览方式、 编辑方式和追加方式。 也可以使用命令: APPEND [BLANK]追加记录 相当于选择[表]|[追加新纪录]命令的功能 APPEND FROM < 文 件 名 >[FIELDS < 字 段 表 名 >][FOR <条件>] 在当前表末追加一批记录,这些记录来自于另 一个文件。
创建数据库表
标题名 歌手编号 姓名 性别 籍贯 生日 星座 成名曲 字段名 GSBH XM XB JG SR XZ CMQ 字段类型 字符型 字符型 字符型 字符型 日期型 字符型 字符型 6 20 字段宽度 3 8 2 10 小数点 索引否 主索引 普通索引
国籍
档案 照片
GJ
DA ZP
字符型
备注型 通用型
8
创建数据表
建立数据库表的最简单和直接使用数据库设计器:
方法一:在“数据库”菜单中选择“新建表”或 右击数据库设计器中的任一空白区域,从弹出的快捷 菜单中选择“新建表”,再选择“新建表”(或“表 向导”);在“创建”窗口,输入要建立的表的名字; 然后在打开的“表设计器”窗口,逐一地定义表中所 有字段的名字、类型、宽度和是否建立索引,完成对 数据表结构的建立。
VF第四章

功能:该命令用于在指定的工作区打开指定的表。
说明:其中NOUPDATE指定以只读方式打开表,EXCLUSIVE指 定以独占方式打开表,SHARED指定以共享方式打开表, 是系统默认方式。 (2). 菜单方式
2. 关闭表
1. 命令方式 命令格式: USE 命令功能:该命令用于关闭当前工 作区中的表。 2.菜单方式: 使用“数据工作期”窗口。
备注型字段的替换
4.2.4 表记录指针的定位
1.记录指针
对于表文件来说,记录指针是一个重要的概念,每个打 开的表文件均有一惟一的记录指针。
2.记录定位命令
(1)指针绝对定位
命令格式:[GO[TO]]<记录号>|TOP|BOTTOM
功能: 将一个已打开的表文件指针移到指定的记录处。选 用TOP时,指针定位到首记录;选用BOTTOM时,指针定位到 末记录上。
[LAST]:把当前浏览窗口的外部特征保存起来,下一次再 调用浏览窗口时,就可以避免重新输入有关设置浏览窗 口的参数。
(2)REPLACE命令
格式:REPLACE [<范围>] [FOR|WHILE <条件>]
<字段名1> [,<字段名2> WITH <表达式1>[ADDITIVE] WITH <表达式2> [ADDITIVE]]
话框, 可查看。
2.BROWSE 命令格式: BROWSE [FIELDS<字段名1>[<参数>][,<字段名2>[< 参数>]]…] [<范围>][FOR|WHILE <条件>]
[FREEZE <字段名>][LAST][LOCK<字段数>]
第4章 数据表的基本操作

双精度型:占8个字节,具有更高的精度
字符型(二进制):用于存储当代码页改变时字符内容不 变的字符数据。 代码页:用于计算机内正确解释并显示数据的字符集 备注型(二进制):用于存储当代码页改变时内容不变的 备注型数据。
2. 打开数据表命令
格式:USE [<表文件名>]
功能:打开指定的数据表或关闭当前打开的表
说明:1)当选择了表文件名时为打开表
2)若只有命令:
USE
则为关闭当前工作区中打开的表
除了使用USE命令可以关闭当前工作区中打开的 数据表外,还可以使用如下命令关闭数据表。
3.关闭数据表命令
格式1:CLOSE DATABASE
3.插入记录命令
格式:insert [blank][before]
功能:在当前表的指定位臵上插入一条新记录
说明:缺省后面选项时在当前记录后插入一个 记录并弹出编辑窗口 blank:插入一个空记录 before:在当前记录前插入
例4-7 在zgda表的第5条记录前插入一个记录 use zgda go 5 insert before 例4-8在zgda表的第7条记录后插入一个空记录 use zgda go 7 insert blank
格式1:LIST STRUCTURE
格式2:DISPLAY STRUCTURE
功能:在主窗口中显示当前打开的数据表结构
说明:格式1用于连续显示表结构,格式2用于 分屏显示表结构。 例4-2显示表ZGDA的结构
USE ZGDA
LIST STRUCTURE
5.修改表结构
格式:MODIFY STRUCTURE
vfp基本操作
visual foxpro基本操作2.1VisualFoxPro系统主界面介绍2.1.1VisualFoxPro的启动:启动VisualFoxPro有多种方法,主要有以下三种方式:1.从“开始”菜单启动2.从资源管理器中启动3.从“运行”对话框中启动2.1.2.VisualFoxPro6.0的退出:1.点击关闭按钮2.‘文件’下拉菜单中选择‘退出’3.按下Alt+F44.键入Quit命令2.1.3.VisualFoxPro6.0主界面启动VisualFoxPro6.0以后,即可看到它的主窗口。
主窗口由菜单栏、工具栏以及命令窗口等组成。
VisualFoxPro6.0可使用不同类型的窗口以便完成各种不同的任务。
在VisualFoxPro6.0的各种平台上,除菜单外的所有部件都是窗口,包括工具栏在内。
用户可以同时打开多个窗口。
可以使用Windows下的窗口操作方法对VisualFoxPro6.0的窗口进行操作(如移动、改变大小等)。
(1)菜单栏菜单栏位于屏幕的第二行,它包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单选项。
当单击其中一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择其中一个子菜单选项时,就可以执行一个操作。
(2)命令窗口命令窗口是主界面上重要的一个窗口,通过他可直接键入VFP 的各种命令,可实现VFP 全部功能命令窗口位于菜单栏和状态栏之间,是Visual FoxPro 系统命令执行、编辑的窗口。
在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。
在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口;选择“命令窗口”,可以弹出命令窗口。
(3)项目管理器窗口利用该窗口可以有效的管理各种类型的文件、表单、报表、图像等(4)工具栏工具栏是单击后可以执行常用任务的一组按钮。
vf第四章
4.2 SQL的定义
4.2.1表的定义
1、定义表结构语句
格式: CREATE TABLE|DBF <表名> [FREE] (<字段名1> <字段类型> [(宽度[,小数位数])][<字段有效性规则>] (<字段名2> <字段类型> [(宽度[,小数位数])][<字段有效性规则>]„) |FROM ARRAY <数组名>
12
功能:修改<表名>所指定的表结构。可以添加(ADD)指 定的新字段,或修改(ALTER)指定的已存在字段的字段 类型、宽度、有效性规则、错误信息,定义主关键字和联 系等属性。该格式不能用来修改字段名,不能用来删除字 段,也不能用来删除已定义的规则。
13
例4.3 在命令窗口中执行以下命令: ALTER TABLE 学生 ALTER 姓名 C(8) ALTER 性别 C(2) DEFAULT “女” CHECK 性别=“男”; OR 性别="女" ALTER TABLE 学生 ADD 联系电话 C(11)
28
例4.10用UPDATE命令将“选修”表中学号为 “09010001”学生的“C001”号课程的成绩调整为 95分。
UPDATE 选修 SET 成绩=95 WHERE 学号 ="09010001" AND 课程号="C001" Replace all 成绩 with 95 for 学号="09010001" AND 课程号="C001"
29
4.3.2 删除数据
格式: DELETE FROM TableName [WHERE Condition] 说明: FROM 指定从哪个表中删除数据, WHERE指定被删除记录所满足的条件,若不是 用WHERE子句,则删除该表中的全部记录 例如: delete from 职工 where 仓库号= "WH7" 或 USE 职工 delete for 仓库号= "WH7"
VFP第4章 索引、排序与多表操作
教案讲稿第 4 章索引、排序与多表操作[旧课复习]:复习内容:以互动方式了解学生对vfp表的创建、编辑与维护命令的掌握程度复习目的:了解学生对vfp数据库表操作命令的掌握程度及层次情况复习时长:大约5分钟[新课导入]:导入方式:解读数据库应用已普及到社会的方方面面,数据库表的操作是数据库使用的最基本方法。
导入目的:增强学生学习掌握数据库的基本操作,数据库的使用方法的积极性导入时长:大约5分钟[新课讲授]:重点:索引的分类、建立、使用及查询;数据完整性;数据库表与自由表难点:数据库表的临时关联和永久关系的建立。
方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
*4.1 排序4.2 索引1. 索引的概念与排序相比,索引是一种逻辑排序方法,它不改变记录的物理上的排序顺序,而是建立一个与原文件箱对于的索引文件,索引文件中存储了一组记录指针,它指向原文件的记录。
2. 索引的分类四种索引:普通索引,唯一索引,候选索引,主索引普通索引和唯一索引允许索引关键字在表中的记录有重复的值,但唯一索引只记录重复的第一条记录。
主索引、候选索引不允许重复值,候选索引作为主索引的候选。
在自由表或数据库表中可以建立多个普有通索引、唯一索引、候选索引。
主索引只能在数据库表中建立,且一个数据库表只能建立一个主索引。
主索引主要用来在永久关系中建立参照完整性设置。
3.索引文件的种类–打开索引文件并不–对记录的操作顺序产生影响,–当设置主控索引之后,–才影响操作顺序。
4.索引的建立(1)命令方式●建立索引文件格式:INDEX ON 索引表达式TAG索引标识名[OF CDX文件名] | TO 索引文件名[FOR 条件] [ASCENDING | DESCENDING][UNIQE | CANDIDA TE]其中ON 索引表达式:指定索引关键字。
TAG索引标识名:指定索引标识名。
选OF CDX文件名,表示创建非结构化复合索引,OF后指定的是存放该索引的文件名。
VF课件4章
2、数据的显示和修改方式
1)用编辑方式显示和修改数据 在表“编辑”窗口,可以采用“编辑” 方式显示和修改表中的数据。 2)用浏览方式显示和修改数据 在表“浏览”窗口,可以采用“浏览” 方式显示和修改表中的数据。
3)用Browse命令命令浏览数据
Browse [<范围>] [Fields <字段名表>] [For <条件表达式>] [……] 说明:FIELDS 字段名表项指定浏览窗口中出现字段 名表。字段名之间用“,”分隔。
3 表的打开与关闭
打开:Use [<数据库文件名>!]; [ <表名>.dbf ][ In <工作区号>/<别名>] ; [Again][Alias <别名>][Exclusive] / [Shared] 关闭: Close All
• • • • • • • • 说明: 若数据表文件不在当前数据库中,要在表文件名前面加上 “<数据库文件名>!” In<工作区号>:指定数据表所在的工作区号。 Alias<别名>:打开数据表的同时定义它的别名。 Again:在不同工作区打开同一个数据表。 Exclusive:以独占方式打开数据表。 Shared:以共享方式打开数据表。 Noupdate:以只读方式打开数据表。 省略Use命令中的所有可选项,则关闭当前打开的数据表。
(3) 在命令窗口中打入“CREATE 表名” 用命令打开表设计器创建表。 打开表设计器后,在表设计器中交互输入表结构 。
表设计器包含“字段”、“索引”和“表”三页。
2. 表结构的创建
2)命令方式 Create /Create Table <表名>([<字段名1>] 类型 (长度) [, [<字段名2>] 类型 (长度)……]) 功能:打开“表设计器”,创建一个新表。 例:用命令建立图书信息表TS.DBF 格式如下:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)字段宽度。
• 字段宽度表示字段中可以存放数据的 最大字符数。
(4)小数位数。
• 数值型字段、双精度型字段、浮点型 字段和货币型字段都应在需要时规定小数 位,否则可以省略。
(5)是否允许为空。
• • • 表示是否允许字段接受空值(NULL)。 空值指不确定的值。 参照上述规定,设计教师表的结构如表 4.1所示。
4.1.2
•
建立表结构
1.菜单方式建立表结构
创建步骤如下。
(1)选择“文件”/“新建”命令, 系统会弹出如图4.1所示的对话框。
图4.1 “新建”对话框
(2)在对话框中选择“表”文件类型, 然后选择“新建文件”或“向导”来建立 文件。
•
由于用表向导建立表结构很繁琐,所 以此处介绍选择“新建文件”建立表。
Visual FoxPuo 程序设计基础
第 4章 表的基本操作
4.1
4.2
表的创建 表的基本操作
4.3 4.4
表的查询、统计与计算 表的排序与索引
4.1 表 的 创 建
• 在关系数据库中,一个关系的逻辑结 构就是一个二维表。
将一个二维表以文件形式存储在计算机 中就是一个表文件,扩展名为.dbf。表是组 织数据、建立关系数据库的基本元素。 在Visual FoxPro中,可创建自由表和 数据库表两种表。
•
命令格式2:
•
命令各子句的含义如下。
(1)若选择OFF不显示记录号,否则显 示记录号。 (2)若选择<范围>,则范围为ALL、 RECORD(N)、NEXT n、REST中的某一个。
(3)若省略FIELDS则显示当前表中的 所有字段,否则只显示指定的字段。
•
如果备注字段名出现在<字段名表列> 中,则它的内容按50个字符列宽显示。
•
•
•
【例4.1】 打开课程表,然后将其关闭。 USE 课程 USE 打开表时,应该注意以下问题。
•
(1)打开表时若表含有备注型字段, 则.FPT文件也同时被打开,且记录指针 默认指向第一条记录。
(2)在任一时刻,每个工作区最多 允许打开一个表。
•
如果指定工作区已有表打开,在打 开新的表时,系统总是先自动关闭原先 已打开的表。
•
在“新建”对话框中选择“新建文 件”,会出现“创建”对话框,如图4.2 所示。
图4.2 “创建”对话框
•
在其中输入表名,选择保存位置,然 后单击“保存”按钮,此时就会出现如图 4.3所示的“表设计器”对话框。
图4.3 “表设计器”对话框
(3)在“表设计器”对话框中输入各字 段名,同时设置好各字段的数据类型、宽度 及小数位数。
•
打开表的浏览窗口还有以下几种方式。
(1)打开表文件后,在“命令”窗口 中执行BROWSE或BROWSE LAST命令。 (2)在“项目管理器”对话框中选定 表后,单击“浏览”按钮。 (3)在“数据工作期”窗口中选定表 后,单击“浏览”按钮。
4.2.4
•
显示表记录
命令格式1:
LIST [OFF] [FIELDS <字段名列表>] [<范围>] [FOR <条件>][WHILE <条件>] [TO PRINTER [PROMPT] |TO FILE <文件名>]
(4)FOR子句指定的范围内按条件逐 个检查所有记录,即从<范围>内的第一 个记录开始,满足条件时,执行相应的 命令,不满足的就跳过去继续查找,直 到该范围内的最后一条记录为止。
•
单击“确定”按钮结束表结构的建立。
2.命令方式建立表结构
• 命令格式是:CREATE [<表文件名>|?]
•
在建立表结构时,还需要注意以下问题。
(1)不指定文件扩展名时,默认扩展名 为.DBF。 (2)若定义了备注型字段,则会同时建 立一个.FPT为扩展名的表备注文件。
(3)若在文件名前指定了驱动器标识 符,则文件建立在指定的驱动器上,否则 将建立在当前驱动器上。
•
修改表结构
1.表设计器方式修改表结构
通过表设计器修改表式。 (2)命令方式。
• 命令格式:
MODIFY STRUCTURE
2.编程方式修改表结构
4.2 表的基本操作
4.2.1 打开和关闭表 1.菜单方式
• 通过以下几种菜单方式都可以打开表。
•
•
4.1.1
•
设计表结构
Visual FoxPro用二维表来表示数据之 间的联系。
一个二维表是由两部分组成:表的框 架和表中的数据。 一个表文件则由表结构和记录数据两 部分组成。
•
•
(1)字段名。
• 字段名又称为字段变量,是表中每个 字段的名字。
(2)字段类型。
• 段类型表示该字段中存放的数据的类型。
•
若磁盘上存在这个文件或文件重名, 系统将显示一个警告对话框,提示是否要 改写表。
(4)使用命令和菜单建立的表都是自 由表。
4.1.3
•
显示表结构
命令格式:
LIST STRUCTURE [IN <工作区号>|<别名>] DISPLAY STRUCTURE [IN <工作区号>|<别名>]
4.1.4
(3)若表是属于某一个数据库的数据 表,在打开表前还必须打开这个数据库。
4.2.2
•
向表中输入记录
通常有两种方法向表中输入记录:在 建立表结构时录入数据;在建立表结构并 保存,关闭“表设计器”对话框之后,利 用命令向表中追加记录。
1.追加记录命令
• 命令格式:
APPEND [BLANK]
• 【例4.2】 在课表末记录后增加一个记录。 • USE 课程 • APPEND
(1)选择“文件”/“打开”命令。 (2)单击常用工具栏的“打开”按钮。 (3)选择“窗口”/“数据工作期”命 令,打开如图4.4所示的对话框,单击“打 开”按钮。
图4.4 “数据工作期”对话框
2.命令方式
•
也可以在命令窗口中使用USE命令打 开表。 命令格式:
USE [<表文件名>] [ NOUPDATE] [EXCLUSIVE | SHARED] [ALIAS<别名>]
2.插入记录命令
• 命令格式:
INSERT [BEFORE] [BLANK]
•
【例4.3】 在课程表中第六条记录前增 加一个记录。 USE 课程 GO 6 INSTERT BEFORE
4.2.3
•
•
浏览表记录
查看表内容的最快方法是使用“浏览”窗口。
若要浏览一个表,可进行如下操作。
(1)选择“文件”/“打开”命令,选 定想要查看的表名,如“课程表”。 (2)选择“显示”/“浏览”命令,即 可查看课程表的所有记录。