Visual_FoxPro 60程序设计_第1页
Visual_FoxPro 60程序设计_第2页
Visual_FoxPro 60程序设计_第3页
Visual_FoxPro 60程序设计_第4页
Visual_FoxPro 60程序设计_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

1、Visual FoxPro 6.06.0授课教师:授课教师: 朱金鑫朱金鑫教学安排教学安排总总 课课 时时: 64 : 64 学时学时 理论教学理论教学: 32 : 32 学时学时 上机操作上机操作: 32 : 32 学时学时 为什么学习为什么学习Visual FoxPro? 通过学习它可以了解和通过学习它可以了解和掌握计算机编程和数据库的掌握计算机编程和数据库的基础知识,为今后学习计算基础知识,为今后学习计算机高级编程或其它语言打下机高级编程或其它语言打下基础!基础!Visual FoxPro 6.0 简介简介nVisual FoxPro 简称VFP,是Microsoft公司1995年推出的

2、关系数据库管理系统。nVisual FoxPro 6.0Visual FoxPro 6.0,目前已成为中小型数据库管理系统的杰,目前已成为中小型数据库管理系统的杰出代表。它与其他数据库管理系统软件相比有着独特的特点,出代表。它与其他数据库管理系统软件相比有着独特的特点,主要有:主要有:n易学易用,它提供了各种可视化设计工具,降低了设计难度。易学易用,它提供了各种可视化设计工具,降低了设计难度。n采用了面向对象的程序设计方法,与传统的面向过程的程序设采用了面向对象的程序设计方法,与传统的面向过程的程序设计方法相比,操作界面更加灵活、直观,开发应用软件更加简计方法相比,操作界面更加灵活、直观,开发

3、应用软件更加简便。便。n提供了项目管理器,便于对数据库、菜单、程序代码、文档、提供了项目管理器,便于对数据库、菜单、程序代码、文档、报表等文件进行管理。报表等文件进行管理。n具有较强的网络功能。具有较强的网络功能。Visual FoxPro 6.0特点特点 Visual FoxPro 6.0的启动的启动 1. 1. Visual FoxPro 6.0Visual FoxPro 6.0的启动的启动 操作步骤如下:操作步骤如下:“开始开始” “程序程序” “ Microsoft Visual FoxPro6.0 Microsoft Visual FoxPro6.0” “ Microsoft Vis

4、ual FoxPro 6.0 Microsoft Visual FoxPro 6.0” Visual FoxPro 6.0的集成环境的集成环境标题栏菜单栏工具栏主窗口命令窗口状态栏菜单系统菜单系统 Visual FoxPro 6.0的菜单系统包括以下几个方面: (1)文件菜单 文件菜单是对文件进行操作的命令。例如:创建、打开、保存文件等。 (2)编辑菜单 编辑菜单用于对文档等文件内容进行编辑的命令。例如:“剪切”、“复制”、“粘贴”等。 (3)显示菜单 刚进入系统时显示菜单主要用于显示“工具栏”;在打开数据库或表文件后主要用于显示数据库设计器和表设计器等;随着打开对象的不同该菜单中的菜单项会实

5、时发生变化。 (4)格式菜单 格式菜单用来控制窗口中文本等内容的显示效果。例如:设置字体和大小等。(5)工具菜单 工具菜单列出了系统提供的一些辅助工具。例如:向导、调试器等。(6)程序菜单 程序菜单中列出的是对程序进行操作的一些命令。例如:“运行”菜单命令可以执行程序。(7)窗口菜单 窗口菜单中列出了对窗口进行操作的命令。例如:“命令窗口”菜单命令可以将命令窗口显示出来。(8)帮助菜单 帮助菜单可以得到对各种问题的帮助,可以通过目录查找有关内容,也可以直接搜索某个主题。菜单系统菜单系统Visual FoxPro6.0的退出 怎样才能退出怎样才能退出 VFP 系统呢?可用下列方法之一。系统呢?可

6、用下列方法之一。 方法方法1:在命令窗口中输入:在命令窗口中输入“QUIT”退出命令。退出命令。 方法方法2:选:选“文件文件”菜单菜单 “退出退出”菜单项。菜单项。 方法方法3:单击主窗口右上角的:单击主窗口右上角的“关闭关闭”按钮。按钮。 方法方法4:按下组合键:按下组合键Alt + F4。 方法方法5:双击:双击VFP主窗口左上角的主窗口左上角的“控制控制”菜单按钮。菜单按钮。 方法方法6:单击:单击VFP主窗口左上角的主窗口左上角的“控制控制”菜单菜单选选 “关闭关闭”菜菜单项。单项。数据库的初步认识数据库的初步认识 什么是数据?什么是数据? 什么是数据库?什么是数据库? 数据库技术涉

7、及到许多基本概念,主要包括:数据、数据处理、数据库、数据库管理系统以及数据库系统等。 1.数据数据是指存储在某一种媒体上能够识别的物理符号。数据包括两个方面:其一是描述事物特性的数据内容;其二是存储在某一种媒体上的数据形式。例如某人的出生日期是“1964年2月17日”,当然也可以将该形式改写为“02/17/64”,但其含义并没有改变。数据不仅仅指数字、字母、文字、字符组成的文本形式的数据,而且还包括图形、图像、动画、影像、声音(包括语音、音乐)等多媒体数据。 数据库的基本概念数据库的基本概念2.2.数据处理数据处理数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。目的之

8、一:是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;目的之二:是为了借助计算机科学地保存和管理复杂的、大量的数据,以便人们能够方便而充分地利用这些宝贵的信息资源。3.3.数据库数据库数据库可以直观地理解为存放数据的仓库。例如硬盘就是一种最常见的计算机大容量存储设备。而且数据必须按一定的格式存放,因为它不仅需要存放,而且还要便于查找。所以可以认为数据是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。4.4.数据库管理系统数据库管理系统数据库管理系统(DataBase Management System,简称DBMS)是计算机系统软件,它能有效地

9、组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。数据库管理系统主要功能包括以下几个方面:(1)数据定义功能)数据定义功能用户通过它可以方便地对数据库中的相关内容进行定义。例如,对数据库、表、索引进行定义。(2) 数据操纵功能数据操纵功能用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。(3) 数据库运行控制功能数据库运行控制功能这是DBMS的核心部分,所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性以及多个用户对数据库的并发使用。(4 4)数据库的建立和维护功能)数据库的建立和维护功能 数据库的建立和维护功能包

10、括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重新组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。5.5.数据库系统数据库系统 数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。数据库系统不仅包括数据本身,即实际存储在计算机中的数据,还包括相应的硬件、软件和各类人员。 计算机对数据的管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段。 与其他技术的发展一样,计算机数据管理也经历了由低级到高级的发展过程。计算机数据管理随着计算机硬件、软件技术和计算机应用范围的发展而不断发展

11、,多年来大致经历了如下三个阶段:l 人工管理阶段l 文件系统阶段l 数据库系统阶段 数据管理技术的发展数据管理技术的发展应用程序应用程序A1应用程序应用程序A2应用程序应用程序An数据集数据集S1数据集数据集S2数据集数据集Sn 数据的人工管理数据的人工管理1.1.人工管理阶段人工管理阶段20世纪50年代以前,计算机主要用于数值计算。从当时的硬件看,外存只有纸带、卡片、磁带,没有直接存取设备;从软件看,没有操作系统及管理数据的软件;从数据看,数据量小,数据无结构,由用户直接管理,且数据间缺乏逻辑组织,数据依赖于特定的应用程序,缺乏独立性。 2.2.文件系统阶段文件系统阶段20世纪50年代后期到

12、20世纪60年代中期,出现了磁盘直接存取数据的存储设备。1954年出现了第一台商业数据处理的电子计算机,标志着计算机开始应用于以加工数据为主的事务处理。 这种数据处理系统是把计算机中的数据组织成相互独立的数据文件,系统可以按照文件的名称对其进行访问,对文件中的记录进行存取,并可以实现对文件的修改、插入和删除等。其数据面向特定的应用程序,因此数据共享性、独立性差,且冗余度大,管理和维护的代价也很大。应用程序应用程序A1应用程序应用程序A2应用程序应用程序An数据集数据集S1数据集数据集S2数据集数据集Sn文件文件系统系统 数据的文件系统数据的文件系统3.3.数据库系统阶段数据库系统阶段20世纪6

13、0年代后期,计算机性能得到提高,更重要的是出现了大容量磁盘,存储容量大大增加且价格下降。在此基础上,有可能克服文件系统管理数据时的不足,而去满足和解决实际应用中多个用户,多个应用程序共享数据的要求,这就出现了数据库这样的数据管理技术。数据库的特点是数据不再只针对某一特定应用,而是面向全组织,具有整体的结构性,共享性高,因此冗余度小,具有一定的程序与数据间的独立性,并且实现了对数据进行统一的控制。应用程序应用程序A1应用程序应用程序A2应用程序应用程序An数数据据库库数据库数据库管理系统管理系统 数据的数据库系统数据的数据库系统 数据库系统的组成数据库系统的组成数据库应用系统 数据的数据库系统数

14、据库管理系统操作系统硬件数据库系统由四部分组成:硬件系统、系统软件(包括操作系统和数据库管理系统)、数据库应用系统和各类人员。数据库类型数据库类型人们经常以模型来刻画现实世界中的实际事物。人们也可以用抽象的模型来描述事物及事物运动的规律。这里讨论的数据模型就是这一类模型,它是以实际事物的数据特征的抽象来刻画事物的,描述的是事物数据的表征及其特性。数据库是某个企业或组织所涉及的数据的提取和综合,它不仅反映数据本身,而且反映数据之间的联系,也是事物之间的联系的反映。在数据库中是用数据模型对现实世界进行抽象的,现有的数据库系统均是基于某种数据模型的。因此,了解数据模型的基本概念是学习数据库的基础。数

15、据库中最常见的数据模型有三种,它们是:在关系模型中,数据的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型:(1)每一列中的分量是类型相同的数据;(2)列的顺序可以是任意的;(3)行的顺序可以是任意的;(4)表中的分量是不可再分割的最小数据项,即表中不允许有子表;(5)表中的任意两行不能完全相同。 给出的Student(学生基本情况)表便是一个关系模型。关系模型关系模型关系数据库采用关系模型作为数据的组织方式。关系数据库以其具有严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为是最有前途的一种数据库管理系统。RecNo StudID Name Sex Birthda

16、y Entrancescore 1981101 赵文化 男 2-28-80 500 2981102 徐逸华 男 6-7-81 630 3981103 郭茜茜 女 11-17-82 650 4981201 钱 途 男 5-1-80 380 5981202 高 涵 男 11-06-80 630 6981203 李晓鸣 女 11-17-82 400 Student表表若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下两个条件的数据模型称为层次模型:(1)有且仅有一个结点无父结点,这个结点称为根结点;(2)其他结点有且仅有一个父结点。在层次模型中,结点层次从根开始定义,根为第一层,根的子结点为

17、第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。 层次模型层次模型R1R2R3R4R5 层次模型若用图来表示,网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。(1)允许一个以上的结点无父结点;(2)一个结点可以有多于一个的父结点。 网状模型网状模型R1R2R4R5R3L3L4L5L2L1 网状模型数据库的应用数据库的应用n政府 如:国家税务统计、财政收入等n学校 如:学生基本信息、财务管理等n银行 如:个人账务信息等n国防 如:军队、航空航天重要机密等以上都运用于数据库技术管理 表是存储数据的基本对象。在Visual FoxPr

18、o中,表以两种形态出现,即数据库表和自由表。数据库表和自由表均以独立的.DBF文件形式存在。 在Visual FoxPro中,可以采用种两方式创建一个自由表。 建立自由表建立自由表CREATE D:VFXSCJ.DBF表的基本组成表的基本组成n字段名字段名:表的每一列称为表的每一列称为字段字段,比如学,比如学号、姓名、地址或电话号码。号、姓名、地址或电话号码。n记录号记录号:每一行是一个:每一行是一个记录记录,是一个,是一个由每列中的一个数据组成的组。由每列中的一个数据组成的组。请问表中可以看到几条记录?又可以看到几个字段?举例说明创建表前的准备工作:创建表前的准备工作:n新建保存表的文件夹(

19、D、E、F任意磁盘下)n更改系统的默认存储路径:方法:方法: 工具 选项文件位置默认目录 修改选中使用默认目录复选框点选择自己定义的文件夹确定 n定义表名n字段的参数设定设计表结构创建自由表(结构设计、记录录入)字段名字段类型字段宽度小数位数表结构的设计表结构的设计在表设计中定义表的结构主要涉及字段名称以及字段的数据类型。1.1.字段的命名规则字段的命名规则l 自由表字段名最长为10个字符。l 数据库表字段名最长为128个字符。l 字段名必须以字母或汉字开头。l 字段名可以由字母、汉字、数字和下划线组成 l 字段名中不能包含空格。l 字符型(字符型(C C)当字段存储内容为由中文字符、数字字符

20、、英文字符、空格及其中文字符、数字字符、英文字符、空格及其它特殊字符它特殊字符组成的字符串。字符型字段存储的字符长度最多可达254个字符,如为汉字不超过127个。2.2.字段的数据类型字段的数据类型l 数值型(数值型(N N) 由数字、小数点和负号数字、小数点和负号组成数值型用于表示整数或小数,它的长度在表中最长可达20位,它的表示范围并不确定。例如,当定义数值长度为8,其中小数位为4时,它所表示的最大值为999.9999。小数点要占一位。l 整型(整型(I I) 当对表的存储空间和性能要求严格时,可以使用整型字段保存整数信息。整型字段占用4个字节的空间,并且在表中以二进制存储。因此比其他数据

21、类型占用的内存更少,而且计算的速度也要快一些。l 浮点型(浮点型(F F) 浮点型在功能上等价于数值型,其长度在表中最长可达20位。 l 双精度型(双精度型(B B) 当所存储的数值精度要求很高或要求采用浮点数时,采用双精度型。它所表示的数值范围要比数值型的范围精确一些,最多可精确到小数点后7位。l 货币型(货币型(Y Y)用于保存货币类型的数值。最大宽度不得超过20位数字,小数固定为4位。 l 日期型(日期型(D D)日期型字段用于保存不带时间的日期值,包含年、月、日三项,取值范围从公元零年1月1日至公元9999年12月31日。l 日期时间型(日期时间型(T T)与日期型字段不同的是,日期时

22、间型字段除了包含年、月、日外,还包含了时、分、秒。日期时间值存储在两个四字节整数的8个字节中,第一个四字节整数保存日期,剩下的四字节整数保存时间。时间的最小计时单位为百分之一秒。如果只填入时间值,而未填写日期值时,则日期值为null,即空值;如果未指明时间值,则系统用午夜时间00:00:00AM填入。l 逻辑型(逻辑型(L L)当字段内容只能选取两种值时,可以采用逻辑型,它只含有两个值:真(.T.)和假(.F.)。l 通用型(通用型(G) 通用型字段用于存储电子表格、文档、图片等OLE信息,通用字段大小取决于OLE对象的大小以及OLE对象是以嵌入方式还是链接方式存入该字段。一般来说,通用型字段

23、的实际存储空间只受磁盘空间的限制,可以很大。但通用型字段在表中仅占4个字节。l 备注型(备注型(M M) 备注型用于存储长度难于确定的数据块,它在表中占用4个字节。备注型不同于其他数据类型,它所保存的数据信息是存储在单独的文件中。该文件的大小取决于数据块的大小,如果磁盘容量允许,该文件最大可达2G字节。表记录的要求:表记录的要求:n每个字段不可再分n同一个表中不能有相同的字段名n同一表中不能有内容完全相同的记录n任意两行或两列互换位置,不影响数据的实际含义 例:现有学生10人需要进行入学情况的统计请设计一个表结构。( 学生的学号、姓名、性别、籍贯、生日、系别、成绩、三好生、照片、备注 。 )表

24、的基本操作表的基本操作 n表的打开表的打开n使用USE命令命令格式:USE n“文件”菜单的“打开”n关闭表的常用方式关闭表的常用方式n数据工作期窗口n浏览:nBROWSE LAST表结构的修改表结构的修改表中数据的的不同显示方式表中数据的的不同显示方式表结构的修改:n打开表设计器修改表结构打开表设计器修改表结构n 修改完成后可按修改完成后可按“确定确定”按钮或按按钮或按CtrlW键保存退出,在随后出现的键保存退出,在随后出现的“结构结构更改为永久性更改更改为永久性更改?”询问框选择询问框选择“是是” 。表数据的修改表数据的修改n窗口的调整n调整字段显示宽度n调整记录条的高度n调整字段的位置n

25、窗口分割 n在浏览窗口追加与删除记录记录的追加记录的追加 三种方式:n按 CTRL+Y键;n连续追加记录:选择 显示 追加方式直到按CtrlW退出;n从其它表或文本文件追加一批记录:选择“表”菜单中的“追加记录”命令。其等效命令为APPEND FROM 。 记录的删除记录的删除 n分两步:先打上删除标记,再从磁盘上删除。 DELETE+PACKnZAP命令,可将表中的数据全部删除,只留下表的结构 小结本节内容和要求:n了解表的组成;基本操作命令n掌握表数据的输入n熟练掌握自由表的建立和菜单方式下表的基本操作 常量和变量常量和变量 常量是指在程序运行过程中始终保持不变的数据。 变量是指在命令或程

26、序运行过程中其值可以改变的量。 常量包括备注型和通用型以外的所有数据类型,主要有:1.数值型常量由数字、小数点、正负号组成,数据最大长度为20位,其中小数点占1位。2.字符型常量字符型常量是用定界符界定的一串字符。常用的定界符有单引号、双引号“”、和方括号 等。如果定界符成为常量的组成部分,则应使用另外的定界符。字符型常量最大长度为254位。 常量3.日期型与日期时间型常量 日期型与日期时间型常量是用 括起来的一个包括日期和时间的数据,其有效性取决于格式的设置。空的时间值可用/:表示。4.逻辑型常量 逻辑型常量只有真假两个值。用.T.或.t.、.Y.或.y.表示逻辑值为真,用.F.或.f.、.

27、N.或.n.表示逻辑值为假。字母两边的英文句点不能省略。5.货币型常量 货币型常量用于表示货币值。使用时应加上货币符号。 常量 变量变量 在Visual FoxPro中,常用的变量类型有:内存变量和字段变量。 内存变量是独立于数据库以外,存储在内存中的临时变量。它由英文字母、汉字、数字和下划线组成必须以英文字母或汉字开头,其长度最长可达254个字符。 内存变量的数据类型由它所保存的数据的类型决定。当用户退出Visual FoxPro时,内存变量将自动消失。 需要注意的是:当内存变量与字段变量同名时,若要使用内存变量,那么要在引用的内存变量名称之前添加“M-”。 字段变量是用户在定义表结构时所定

28、义的字段名,它是一种多值变量。使用“=”可以直接为内存变量赋值。【例】 b1=3 将b1赋值3; b2=b1+2 将b1加2后的值赋给b2,此时b2等于5; b2=b2+3 将b2加3后的值再赋给b2,此时b2等于8。说明:一个变量的值可以不断变化,最终结果是它最后一次的赋值。 变量变量函数函数在VF中,函数被用来执行一些特殊的运算,一个函数由函数名、参数和函数值等三个要素组成。(1)函数名即为函数的标识。(2)参数是函数中的自变量,有的函数缺省参数。(3)函数值是函数运算后返回的值,函数值会因函数名和参数的不同而不同。数值型函数数值型函数(1)取整函数格式:INT ()功能:计算数值表达式的

29、值,取整数部分。【例】? INT (-4.68) 结果为:-4(2)取余函数格式:MOD ();被除数%除数功能:取余数【例】? MOD(-33. 4) -33/4=-8-1+4=3 结果为:3(3)平方根函数格式:SQRT ()功能:计算数值表达式的平方根。【例】? SQRT (25*4) 结果为:10(4)四舍五入函数格式:ROUND (,)功能:计算数值表达式的值,根据保留位数进行四舍五入。如果保留小数位数为正数n,则对小数点后n+1位四舍五入,如果保留小数位数为负数n,则对小数点前n 位四舍五入。【例】 ? ROUND (123.34567,3) 结果为:123.346 ? ROUND

30、 (123.34567,-2) 结果为:100数值型函数数值型函数字符型函数字符型函数字符型函数主要对字符型数据进行运算。(1)子串定位函数格式: AT (, )功能:查找字符表达式1在字符表达式2中的起始位置。如果有数值表达式n,则确定字符型表达式1在字符型表达式2中的第n次出现的起始位置;如果未指明数值表达式n,则确定第一次出现的起始位置;如果字符表达式1不在字符表达式2中,则返回值为0。【例】 ? AT (“A”,“BCDE”) ? AT (“A”,“ABADE”) ? AT (“A”,“ABCADE”,2) (2)取子串函数格式: SUBSTR (, )功能:从指定的起始位置开始,在字

31、符表达式中截取指定长度的字符串。结果为:0结果为:1结果为:4说明:假设起始位置为m,长度为n。若省略n,则从m开始截取以后的所有字符串; 若n大于从m开始的字符串长度,则从m开始截取以后的所有字符串;若m大于字符表达式的长度,则截取的字符串为空白字符串。【例】 ? SUBSTR (“HARDWORK”,3,4) ? SUBSTR (“HARDWORK”,2 ? SUBSTR (“HARDWORK”,3,9) ? SUBSTR (“HARDWORK”,9,5) (3)取子串长度函数格式:LEN (,)功能:测定长度的字符串。【例】? LEN (“HARD WORK” ) 结果为:9字符型函数字

32、符型函数结果为:“RDWO”结果为:“ARDWORK” 结果为:“RDWORK”结果为:“ ”(4)生成空字符串函数 格式:SPACE ()功能:生成指定空格数的空字符串。【例】? SPACE (3) 结果为:“ ”(5)删除字符串尾部空格函数格式:TRIM ()功能: 删除字符串尾部空格【例】? TRIM (“how are you ”) 结果为: how are you 字符型函数字符型函数日期函数日期函数(1)系统时间函数格式:TIME ( ) 功能:输出系统当前时间。时间格式为HH:MM:SS【例】? TIME ( )(2)系统日期时间格式:DATE ( ) 功能:输出系统当前日期。系

33、统默认格式为MDY,可以使用SET DATE命令自行设定日期输出格式。【例】 SET DATE TO YMD ? DATE ( ) 假设当前日期为2013/3/17,那么结果为: 13/03/17(3)年函数格式:YEAR () 功能:输出日期型表达式的年份。【例】? YEAR (DATE( ) 假设当前日期为2013/3/17,那么结果为 2013(4)月函数格式:MONTH () 功能:输出日期型表达式的月份。【例】? MONTH (DATE( ) 假设当前日期为2013/3/17,那么结果为3(5)日函数格式:DAY ()功能:输出日期型表达式的日。【例】? DAY (DATE( ) 假

34、设当前日期为2013/3/17,那么结果为 17日期函数日期函数转换函数转换函数数据的运算要求符合数据类型一致的原则,因此,若要对不同类型的数据进行运算,那么必须通过转换函数将其转换为一致的数据类型。(1)数值型转换为字符型函数格式:STR (,) 功能:将数值表达式按设定的长度和小数位数转换成字符型数据。说明:为转换后的字符串位数,若的设定值大于实际数值,则转换后的字符串前补“空格”,若的设定值小于实际数值,则用*代替;若的设定值大于实际数值,则转换后的字符串后补0,若的设定值小于实际数值,则对小数四舍五入。小数点和负号均占有1位。【例】 ? STR (123.4567,6,2) 结果为:1

35、23.46 ? STR (123.4567,9,2) 结果为: 123.46 ? STR (123.4567,6,3) 结果为:123.46(2)字符型转换为数值型函数格式:VAL ()功能:将数字字符串转换为数值。说明:转换时遇到非数字字符时停止;若第一个字符就不是数字,则值为0.00【例】VAL (“123.45AB”) VAL (“A123.45AB”)(3)字符转换为ASCII函数格式:ASC () 功能:返回字符表达式第一个字符的ASCII码值。【例】ASC (“abc”) (4)ASCII码转换为字符函数格式:CHR () 功能:将ASCII码转化为相应的字符。【例】CHR (65

36、)(5)日期型转换为字符型函数格式: DTOC ( ,1 )结果为:123.45结果为:0.00结果为:97结果为:A功能:将日期型表达式转换为字符串。说明:若使用选项,1,则转换为年月日的形式。【例】? DTOC (DATE( ) 假设当前日期为2013/3/17,那么结果为:03/17/13 ? DTOC (DATE( ), 1) 假设当前日期为2013/3/17,那么结果为:20130317(6)字符型转换为日期型函数格式:CTOD ()功能:将字符型表达式转换为日期值。【例】? CTOD (“03/17/13”) 结果为:03/17/13(7)大写字母转换为小写字母函数格式:LOWER

37、 ()功能:将字符型表达式中的大写字母转换为小写字母。【例】? LOWER (“AaBbCc”) 结果为:aabbcc(8)小写字母转换为大写字母函数格式:UPPER ()功能:将字符型表达式中的小写字母转换为大写字母。【例】? UPPER (“AaBbCc”) 结果为:AABBCC表达式与运算符表达式与运算符n表达式是指用运算符将常量、变量、字段或函数连接起来的有意义的式子。n其类型由表达式最终计算结果的数据类型决定,主要有:数值型、字符型、日期型、关系型、逻辑型。n运算符包括:算术运算符、字符运算符、关系运算符、逻辑运算符。n不同表达式使用的运算符不同,但运算符两边的数据类型必须相同,否则

38、将导致因数据类型不匹配而出错。数值表达式数值表达式数值表达式是由算术运算符将常量、变量、字段或函数连接起来的式子,其结果仍为数值型数据。算术运算符有:+、-、*、/、* 或 、优先级为:*()、*、/、+、-同一优先级的按从左到右计算。【例】?(3*4+SQRT(25)/5)*4 结果为:52【例】?(33+(-27%5)*4 结果为:120字符表达式字符表达式字符表达式是由字符运算符将常量、变量、字段或函数连接起来的式子,其结果仍为字符型数据。在字符运算符两边的数据必须是字符型数据。字符运算符有“+”和“-”两种。(1)直接连接 (+)即用“+”将两个或多个字符串首尾连接形成一个新的字符串。

39、(2)去空连接 (-)即用“-”将两个或多个字符串相连接。如果前一个字符串尾部有空格,则将此空格移到后一个字符串的尾部。【例】 ? “ABC ”+“DEF” =“ABC DEF” ? “ABC ”- “DEF”=“ABCDEF ” 日期表达式日期表达式日期表达式是由、运算符将日期连接起来的表达式,其结果仍为日期型数据。【例】 ? 04/03/99+20 结果为:04/23/99 ? 04/03/99- 20 结果为:03/14/99 ? 04/03/99- 03/14/99 结果为:20(两日期相距的天数)需要注意的是:两个日期值相加是无意义的。关系表达式关系表达式关系表达式是由关系运算符将数

40、值表达式、字符表达式、日期表达式连接起来的表达式,结果为逻辑真和逻辑假,分别用.T.和.F.表示。关系运算符有:、 =、 = 、(!=、#)、=、 = =、$说明:(1) =与= =不完全相同。前者称为普通比较,后者称为精确比较。比较时,使用右字符串去比较左字符串。当右字符串比较完,则比较结束。如果此时的比较结果相同,则=比较的值为.T.,而不管左字符串是否结束;相反,= =则要求左右必须完全一致,结果才为.T. 。【例】 ?“abcde” = “abc” 当设置了SET EXACT OFF时,上述关系表达式结果为.T. 当设置了SET EXACT ON时,上述关系表达式结果为.F.(2)比较

41、大小时,日期早的日期型数据小于日期晚的日期型数据;字符型数据从左到右依次按其ASCII码值比较。(3)字符串包含运算符“$”用于比较左字符串是否存在于右字符串中。 如果存在,则为.T.,反之为.F.。【例】 ? “王”$“王红” 结果为.T.关系表达式关系表达式 逻辑表达式逻辑表达式逻辑表达式是由逻辑运算符将关系表达式连接起来的表达式,结果为逻辑真和逻辑假。逻辑运算符有:.NOT.、.AND.和.OR.。运算规则为:使用.NOT.运算的表达式为假,则逻辑表达式的值为真。使用.AND.连接的两个表达式的值同时为真,逻辑表达式的值为真;使用.OR.连接的两个表达式的值,只要有一个为真,则逻辑表达式

42、的值为真。【例】已知某28岁女职工工资为600元 ? NOT. ( 性别=“女”) 结果为:.F. ? 性别=“女”.AND.年龄=28 结果为:.T. ? 性别=“女”.OR.年龄28 结果为:.T.小小 结结n了解VF中常用数据类型n理解数学运算函数n掌握表达式的各种运算创建数据库 数据库是一个独立的文件,其扩展名为.dbc。 表可以依附一个指定于的数据库,这种表称为数据库表;也可以不依附于任何数据库,这种表称为自由表。数据库表依附于所在的数据库,支持长表名、长字段名,可以在数据库表中设置规则、触发器等;自由表不具备数据库表的上述特点。在在Visual FoxPro中,可以采用两种方式创建

43、一个数据库。中,可以采用两种方式创建一个数据库。1.使用“文件”菜单中的“新建”命令创建数据库2.使用CREATE DATABASE命令创建数据库命令格式CREATE DATABASE DatabaseName | ? 如: CREATE DATABASE d:vfdata2.dbc 命令功能该命令用于在命令窗口或程序中直接创建一个数据库。命令说明(1)DatabaseName参数用于指定要创建的数据库名称。(2)?参数用于在执行该命令时打开“创建”对话框以输入要创建的数据库名称。 打开与关闭数据库对于一个已创建好的数据库,若要使用它,应首先将其打开。使用完毕以后,应将其关闭。1.打开数据库命

44、令格式OPEN DATABASE FileName | ? EXCLUSIVEMODIFY DATABASE如:OPEN DATABASE d:vfdata2.dbc EXCLUSIVEMODIFY DATABASE该命令用于在命令窗口或程序中直接打开指定的数据库。2.关闭数据库命令格式CLOSE DATABASES ALL命令功能该命令用于在命令窗口或程序中直接关闭打开的数据库。命令说明ALL参数用于关闭所有打开的数据库及其数据库表、自由表和索引等。建立数据库表n在Visual FoxPro中,也可以采用创建自由表的两种方式创建数据库表,并且操作方法也是基本相同的。但需要注意的是:无论采用哪

45、一种方式创建数据库表,都要首先打开指定的数据库。否则,创建的仍只是一个自由表。另外,数据库表与自由表在结构上也存在着差异。 设置字段属性在数据库表的“表设计器”窗口的“字段”选项卡中,增加了在“显示”字段属性组中,包含有三个字段属性,分别是:“格式”:指定字段在浏览窗口、表单和报表中显示数据的格式,例如:是否将英文字母大写或小写、是否添加货币符号等等。 格式控制符 说 明 A 只能输入字母 D 使用系统设定的日期格式 L显示数字的前导零 T 禁止在字符串前后输入空格 ! 将小写字母转换为大写 “输入掩码”:指定字段输入数据的格式。例如,电话号码的格式为:(999)9999-9999。其中9表示

46、数字。 输入掩码控制符 说 明 X 允许输入任何字符 9 允许输入数字和正负符号 允许输入数字、空格和正负符号 $ 显示当前货币符号。由SET CURRENCY命令指定 $ 显示的货币符号与数值连在一起 * 在数值的左侧填充“*”号 . 小数点 , 千位分隔符 “标题”:在浏览窗口、表单和报表中,利用“标题”字段属性值代替字段名的显示。在“字段有效性”字段属性组中,包含有三个字段属性,分别是:“规则”:指定实施数据字段级有效性检查的规则。这是字段避免输入错误内容的一个重要措施。当字段输入完成以后,系统将调用这个过程进行检查,如果违反规则,系统将不接受刚才的输入。例如,在学生成绩中,单科成绩不能

47、大于100,我们就可以设置一个规则,该字段不得大于100,大于100的数字,系统将不予接受。“信息”:指定当输入违反字段级有效性规则时,显示的错误信息。如按上述规则,可以输入“学生单科成绩不能超过100”,一旦输入了大于100的数,系统将提示“学生单科成绩不能超过100”信息。“默认值”:是指字段在没有输入数据的情况下,系统给定的值。例如,在保存成绩的字段中,可以设定默认值为0,即当增加了一条新记录时,如果对没有保存成绩的字段输入数值,系统自动在该字段中填入0。“显示库显示库”:指定类库的路径和文件名,它是一个:指定类库的路径和文件名,它是一个扩展名为扩展名为“.VCX”的文件。如果不指定,系

48、统使用默的文件。如果不指定,系统使用默认的类库。认的类库。“显示类显示类”:指定字段的默认控件类。如果不指定,:指定字段的默认控件类。如果不指定,使用默认的控件。使用默认的控件。“字段注释字段注释”:提供对字段的注解,供用户做说明:提供对字段的注解,供用户做说明或备忘。或备忘。索引和排序n索引(INDEX)可以对表中的记录进行逻辑排序。n排序(SORT)可以对表中的记录进行物理排序。 了解索引索引可以按照一定的规则重新排列表中的记录,并将排序结果形成索引文件。编号学号姓名性别出生年月 总分1981101 赵文化 男 1984-09-16 500 2981102 徐逸华 男 1985-08-14

49、 460 3981103 郭茜茜 女 1986-04-11 580 4981201 钱 途 男 1984-02-01 3805981202 高 涵 男 1985-07-21 6806981203 李晓鸣 女 1984-08-18 400根据总分字段建立的索引文件关键字(总分)值 记录的物理位置 68055803 5001 460240063804注意:索引并未改变表中记录的物理位置。我们通常将索引称为对表的逻辑排序。但是,当用户将建立好的索引文件打开以后,记录的显示顺序或读取处理记录的顺序将会按照索引文件排列的记录顺序进行。特别是由于索引的作用,大大提高了记录的检索速度。 索引类型n主索引:主

50、索引:要求索引表达式必须是表的主关键字段,该字段的值在表中是惟一的、确定的,且表允许有空值。主索引仅用于数据库表,且一个表只能创建一个主索引。n候选索引:候选索引:要求同主索引。数据库表和自由表都可以建立候选索引,一个表可以建立多个候选索引。n唯一索引:唯一索引:相同索引值的记录只留下一条。等同于命令中的UNIQUE选项。如果按性别建立索引,并选择“唯一索引”,则索引表中只有2条记录。数据库表和自由表都可以建立唯一索引。n普通索引:普通索引:没有限制。索引表中记录数同原表文件。数据库表和自由表都可以建立普通索引。 建立表之间的关系建立表之间的关系n一个数据库中可以包含多个数据表,这些数据表之间

51、不是孤立的,而是存在各种联系。通过这些联系,可以将数据库中的数据表在逻辑上形成一个整体。n1、打开数据库文件,进入“数据库设计器”。n2、确定父表和子表, 用表设计器把父表与子表同名的字段定义为主索引字段,在子表中定义为候选索引字段。n3、把父表中主索引字段拖到字表对应的索引字段。n设置关系后,可看到连接两个数据表的一条线。设置记录的有效性规则及触发器要实现记录验证功能,在记录有效性的“规则”中输入验证的表达式即可。规则实际上是一个返回逻辑值的语句或过程。触发器是一个记录级的事件代码,在操作记录(例如,对记录进行增、删、改操作)时激活,调用要执行的语句或过程。在Visual FoxPro中,设

52、置有三种类型的触发器,分别是:插入触发器:指定一个规则,每次向表中插入或追加记录时,触发该规则。更新触发器:指定一个规则,每次更新表中记录时,触发该规则。删除触发器:指定一个规则,每次从表中删除记录时,触发该规则。 例如,在Student.dbf表中,我们规定每一个学号必须对应一个学生的姓名。因此,学号和姓名都必须输入,不能为空。为此设置一个记录有效性“规则”:.NOT.EMPTY(学号).AND.NOT.EMPTY(姓名)同时在“信息”文本框中输入验证出错时的消息:“学号和姓名都必须输入!”复制表结构命令格式COPY STRUCTURE TO TableName该命令用于把当前表的表结构复制成为另一个表的表结构

温馨提示

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

评论

0/150

提交评论