您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Visual FoxPro程序设计 第1章
高等学校教材VisualFoxPro6.0及其程序设计西安电子科技大学出版社郭盈发张红娟赵伟华第一章VisualFoxPro基础知识第二章VisualFoxPro应用基础第三章表的维护及基本应用第四章使用VFP的系统菜单第五章VisualFoxPro程序设计入门第六章使用查询和视图操作数据第七章创建报表和标签第八章数据库和表的高级应用目录第九章使用表单设计用户界面第十章面向对象程序设计基础第十一章进一步设计表单第十二章菜单设计第十三章使用项目管理器开发第十四章多用户共享数据第十五章VFP与其它系统的数据共享1.1数据库系统简介1.2VFP数据文件——表(Table)1.3VFP的安装第一章VisualFoxPro基础知识返回主目录第一章VisualFoxPro基础知识1.1数据库系统简介据统计,全世界80%以上的计算机主要从事事务处理工作。在进行事务处理时,不要求复杂的科学计算,主要是要求从大量有关数据中提取信息。为了有效地使用存放在计算机系统中的大量有关数据,必须采用一整套严密合理的方法,对数据进行组织、存储、维护和使用等工作,这就是数据管理。数据管理工作是不断发展的,目前都采用数据库技术。数据库系统产生于20世纪70年代初,至今仍在发展。它的出现,标志着数据管理达到了一个全新的高级阶段。数据库系统也是当代计算机系统的重要组成部分。1.1.1数据库系统的组成数据库系统与图书馆系统十分相似。图书馆系统由书库、图书馆管理系统、图书馆管理员及用户组成,书库是有组织的图书的集合。图书馆管理系统十分复杂,简单地说,它包含管理图书馆的一套规则和工具以及借还图书的一套规则和工具,管理人员按规则维护书库,读者按规则查找、借还图书。1.数据库系统(DBS:DATABASESYSTEM)通常所说的数据库系统是指引入了数据库后的计算机系统,除计算机硬件和操作系统外,主要由数据库、数据库管理系统以及用户组成。2.数据库(DB:DATABASE)数据库是存储在计算机系统内的有结构的数据集合。通俗地讲,这些数据是被数据库管理系统按一定的组织形式存放在各个数据文件中的。也就是说,数据库是由很多数据文件以及若干辅助文件组成的。存放在数据库中的数据可以被所有合法用户使用。3.数据库管理系统(DBMS:DATABASEMANAGEMENTSYSTEM)数据库管理系统是数据库系统中对数据进行管理的软件。它是在操作系统支持下进行工作的,为管理和使用数据提供了一整套命令。利用这些命令,用户可以建立数据文件及各种辅助操作文件,可以定义数据,并对数据进行各种操作,如增删、更新、查找、统计、输出等。总之,一切操作都是通过数据库管理系统进行的。4.用户用户利用数据库管理系统提供的命令访问数据库中的数据,进行各种操作。基本的数据库管理系统有3种:层次型DBMS、网状型DBMS和关系型DBMS。目前使用的几乎都是关系型数据库管理系统。VisualFoxPro是继DBASE、FoxBASE、FoxPro后推出的关系型数据库管理系统,它功能丰富、使用方便,因而深受用户欢迎。1.l.2VisualFoxPro美国Fox软件公司于1984年开始先后推出FoxBASE、FoxPro 1.0、FoxPro 2.0。1992年Microsoft公司收购了Fox软件公司后,先后推出了FoxPro 2.5、2.6。1995年开始,Microsoft公司先后推出了适用于Windows环境的VisualFoxPro 3.0(简称VFP 3.0)、VFP 5.0、VFP 6.0,其中VFP 5.0和VFP 6.0既适用于Windows95/ 98操作系统环境,又适用于WindowsNT 3.5/4.0操作系统环境。本书的内容是基于Windows95/98环境下的VFP 6.0中文版。VFP本身是一个庞大的系统软件,包含有大量的文件,称为VFP系统文件。对于VFP6.0来说,其最基本的系统文件为Vfp6.exe、Vfp6run.exe。使用VFP前,必须把整个VFP的系统文件全部安装到硬盘上,然后才能工作。用户利用VFP可以建立多种类型的用户文件,从而构成用户的数据库应用系统。1.l.3VFP文件名的一般形式用户利用VFP建立的各类文件都是磁盘文件,需要时才调入内存使用。VFP根据用户提供的文件名,对指定磁盘上的指定文件进行各种操作。VFP是在操作系统支持下对文件进行管理的,因此,对文件名的规定与操作系统相同。在VFP中,一个文件名由两部分组成,即文件名本身和扩展名(也称后缀)。其一般形式为:文件名.扩展名。扩展名是文件名不可分割的一部分。如果两个文件的扩展名不同,不管文件名部分是否相同,它们都是两个不同的文件。扩展名部分最多由3个字符组成。它不仅是文件名的一部分,而且用来区分文件的类型。1.2VFP数据文件——表(Table)1.2.1数据库表和自由表包含在某一数据库中的表称为数据库表,否则为自由表。数据库表和自由表可以相互转换,自由表一旦加入到数据库中成为数据库表,将失去原有的自由特性,同时将受到数据库的制约而获得新的特性(如触发器、缺省值、表关系等)。但它们的基本属性和操作是相同的。表1–1是计算机输出的一个实际表,它的文件名为“职工 .1.2.2表的文件名表文件名的格式为:文件名.DBF。其中“.DBF”是系统默认的表文件的扩展名,是表的标志。表1–1“职工 .DBF”职工号姓名性别出生日期婚否工资职称简历部门1002胡一民男01/30/70.T.575.00助工Memo技术科1004王爱民男10/05/49.T.628.34技师Memo车间1005张小华女10/12/68.F.612.27工程师Memo设计所1010宋文彬男12/14/73.F.586.94技术员Memo技术科1011胡一民男11/27/55.T.645.26工程师Memo技术科1015黄小英女03/15/59.F.612.27工程师Memo车间1022李红卫女08/17/58.T.623.45工程师Memo设计所1031丁卫国男04/12/59.T.612.27工程师Memo设计所1.2.3记录、字段、字段变量和字段值1.字段、字段名、字段值简介表1–1由9列组成,每一列都称为一个字段。在每一列的第一行上显示了该字段的字段名,如表中“职工号”、“姓名”等。每列其它各行上的内容都是该字段的一个具体值。2.记录表1–1中除第一行外,每行内容构成一个记录。每个记录在各字段上的内容为该记录在该字段上取得的字段值,也称为数据值、数据。实际上表中每条记录为一个职工的信息。3.字段变量、字段变量名和字段变量值在表中,字段值是经常变化的,因此,字段也称为字段变量。相应地,字段名也称为字段变量名,字段值也称为字段变量值。4.字段名VFP中,字段变量名是由英文字母或汉字开头的字符串,且最多由255个字符组成。字符串中可以有英文字母、汉字、十进制数符和下划线。定义字段变量名时,不论输入的是大写还是小写英文字母,系统均将其转为小写,以小写字母存储。显示时,只将第一个字母大写显示。“ABCD”和“abcd”是同一个字段变量名,以“abcd”存储,以“Abcd”显示。“职工号”、“NA_34”、“工程师A5”等都是合法字段名,而“5x”、“X*y3”则不是。5.字段宽度字段宽度不等于字段名宽度。一个字段的字段宽度是指在该字段上各字段值的宽度。字段宽度由用户在定义表结构时确定。在同一个表中,各记录对应于同一个字段所取得的字段值虽然可以不同,但同一字段上所有字段值的宽度都是相同的,都等于字段宽度,不足部分用空格填满。以“姓名”字段为例,如果给定的宽度为8,那么第一行记录的姓名字段值就不是“胡一民”,而是“胡一民”(以后,用代表一个空格)。表1–1中的简历字段比较特殊,每个记录在该字段上都显示为“Memo”。这是一种特殊的字段,称为备注型字段,我们将在下一节介绍它的性质。表1–2是计算机实际显示的“职工 .DBF”表中备注型字段“简历”及部分其它字段的实际内容。6.记录号在表1–2中,各记录在“记录号”这一列上都取得了一个具体值,分别为1, 2, …, 8。这是系统增设的一个显示项目,不是表内容,更不是一个字段。系统在显示打印表时,根据各记录在表中的实际物理次序给出此值,称其为记录号。如物理次序第一位的记录,其记录号为1,依次类推。在表1–2中,记录是以记录号的顺序(物理顺序)显示的。以后我们会学到,在显示表内容时,各记录也可按其它次序显示,但是,各记录的记录号不因显示方式而变化。1.2.4字段类型在定义一字段时,不仅要明确规定它的字段名和宽度,而且还必须规定它的类型。一个字段的类型是指其字段值的类型。不同类型的数据在存储器中的存储方法是不同的,而且不同类型的数据所能进行的运算也是不同的。事先定义好各字段的类型,不仅方便了VFP对数据的管理,而且能增加系统的可靠性。例如,系统可拒绝一些不正确的操作。VFP有13种字段类型,它们是字符型、货币型、数值型、浮动型、日期型、日期时间型、双精度型、整型、逻辑型、备注型、通用型、字符型(二进制)、备注型(二进制)。1.字符型(Character)字符型字段的数据值是字符串。字符串中既可有可打印的ASCII码字符,也可有汉字库中的汉字和非汉字图形符号(包括俄文字母、日文假名、制表符号等)。一个汉字的宽度为两个字节,其它字符为一个字节。一个字符型字段的最大宽度是254(个字节)(以后在讲到宽度时,将省略其单位“字节”)。表1–1中,“姓名”、“性别”、“职称”和“部门”等字段都是字符型字段。2.数值型字段(Numeric)数值型字段的数据值只能是可以进行十进制算术运算的数值,由数字0~9、小数点和正负号组成。数值型字段的长度介于1~20个字节之间,精度为16位,包括符号位和小数点,在内存中占用8个字节。其值介于- 0.9999999999E+19~+0.9999999999E+20之间。3.浮点型(Float)对于用户来说,浮点型字段是等同于数值型字段的。该类型字段只能存储可进行十进制算术运算的数值。最大宽度也是20个字节。但由于浮点型字段的内部结构与数值型字段不同,因此运算速度也不同。4.日期型字段(Date)这种字段用以存储日期数据。通常采用美国格式“mm/dd/yyyy”,也可用VFP的命令改成其它设置,其中yyyy表示年号,占4个字节;mm表示月份,占两个字节;dd表示日期,占两个字节。在表1–1中,“出生日期”字段就是日期型字段。日期型字段取值介于{1/1/100}到{12/31/9999}之间。对日期型数据可以进行两种运算:一个日期型数据加上或减去一个十进制整数得到一个新的日期型数据,两个日期型数据相减得到一个十进制整数(两日期间相差的天数)。在日期型数据的运算中,系统自动地正确执行从日向月的4种进位法(28天进位、29天进位、30天进位和31天进位)。从月向年的进位是十二进制。5.日期时间型(DateTime)日期时间数据用于存储日期和时间值,存储格式为“mm/dd/yyyyhh:mm:ssAm/Pm”,其中mm/dd/yyyy表示日期,含义同日期型数据;hh:mm:ss表示时间,hh为时间中的小时(占两个字节),mm表示分钟(占两个字节),ss表示秒(占两个字节),Am或Pm分别表示上午或下午。如果日期时间型数值中只包含日期,系统自动添上午夜零点(12:00:00Am),如果缺省日期,系统会提示“无效的日期/时间”。6.逻辑型(Logical)逻辑型字段的宽度固定为1个字节,用户无权更改。这种字段只能取两种值 .T.(逻辑真)或者 .F.(逻辑假)。在输入时,可以用T、t、Y或y来输入逻辑真(.T.),用F、f、N或n来输入逻辑假(.F.)。系统一律转变成 .T. 和 .F. 存储及显示。7.整型(Integer)整型数据用于存取不包含小数部分的数值。整型字段占4个字节,取值介于- 2 147 483 647~2 147 483 646之间。8.双精度型(Double)双精度型数据用
本文标题:Visual FoxPro程序设计 第1章
链接地址:https://www.777doc.com/doc-5373642 .html