还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库应用教程VisualFoxPro欢迎学习数据库应用教程本课程将系统地介绍VisualFoxPro VisualFoxPro()数据库开发工具的核心功能和应用技术,从基础的数据库概念到高级的VFP应用程序开发作为一款功能强大的关系型数据库管理系统和应用程序开发平台,VisualFoxPro广泛应用于企业数据管理、办公自动化系统开发等领域通过本课程的学习,您将掌握使用开发专业数据库应用程序的全过程VFP无论您是数据库初学者还是希望提升技能的开发人员,本教程都将为您提供系统而全面的学习资源让我们一起开始这段数据库应用开发的学习之旅吧!课程概述课程目标学习内容先修知识123本课程旨在帮助学生掌握课程内容包括数据库基础理论、开学习本课程前,建议具备基本的计算机VFP数据库开发工具的基本发环境介绍、数据类型和表达式、数据操作能力和编程思维,了解计算机基础VisualFoxPro使用方法和技巧,熟悉关系型数据库设库和表的创建与管理、数据操作、查询知识,熟悉操作系统如果Windows计原理,能够独立开发中小型数据库应技术、视图应用、存储过程和触发器、有其他编程语言的基础(如、等)C Basic用系统通过理论学习和实践操作相结程序设计基础、面向对象程序设计、窗将有助于更快掌握的程序设计内容,VFP合的方式,培养学生的数据库应用开发体设计、报表设计等多个方面,涵盖了但这不是必须的前提条件能力和解决实际问题的综合技能应用开发的各个环节VFP第章数据库系统概述1数据库的基本概念数据库管理系统的功能数据库是按照数据结构来组织、存储和管理数据的仓库它是一数据库管理系统是一种操纵和管理数据库的大型软件,用DBMS个长期存储在计算机内的、有组织的、可共享的、统一管理的大于建立、使用和维护数据库其主要功能包括数据定义、数据操量数据的集合数据库中的数据按一定的数据模型组织、描述和纵、数据完整性控制、数据安全性控制、数据并发控制、数据备存储,具有较小的冗余度、较高的数据独立性和易扩展性份与恢复等作为一种,提供了友好的图形用户界面和强VisualFoxPro DBMS在现代信息系统中,数据库技术已成为管理信息资源的核心技术,大的开发工具,使得数据库的创建和管理变得更加简单高效对提高组织的运作效率和决策水平具有重要意义数据模型层次模型层次模型是最早的数据库模型之一,它以树形结构表示实体之间的关系在层次模型中,数据按照自上而下的树形结构组织,每个节点可以有一个父节点和多个子节点,形成一对多的关系此模型结构简单、检索效率高,但灵活性较差,难以表示复杂的多对多关系网状模型网状模型是层次模型的扩展,它允许一个子节点拥有多个父节点,能够表示更为复杂的数据关系网状模型以有向图的形式组织数据,任何节点间都可以存在联系,因此比层次模型更加灵活,可以很好地表示多对多的关系,但系统实现和维护的复杂度也相应增加关系模型关系模型是目前最流行的数据模型,它以二维表格的形式组织数据,直观易懂在关系模型中,数据以关系(表)的形式存在,一个数据库可以包含多个表,表之间通过共同字段建立联系就是基于关系VisualFoxPro模型设计的数据库管理系统,具有简单实用的特点关系数据库基础关系的性质关系具有以下几个重要性质首先,关系中的每个属性值都是原子的,不可再分;其次,关系中的每关系的概念关系的操作一行(元组)都是唯一的,不存在完全相同的两行;第三,关系中的属性是无序的,行与行之间也是无在关系数据库理论中,关系是指一个二维表,它由关系数据库支持多种操作,包括查询、插入、更新序的;最后,关系中的每个属性都有唯一的名称行和列组成每一行代表一个实体实例(称为元和删除等关系代数提供了一套形式化的操作符,组),每一列代表实体的一个属性(称为属性域)如选择、投影、连接、并集、交集、差集等,用于关系的每个元组都是唯一的,由主键来标识操作和组合关系在中,这些操作VisualFoxPro中的表就是关系的具体实现,表中可以通过语句或命令来实现,使数据的管理和VisualFoxPro SQL的记录对应元组,字段对应属性查询变得高效便捷213第章简介2VisualFoxPro的发展历史1VFP的历史可以追溯到年公司推出的VisualFoxPro1984Fox SoftwareFoxBASE1989年,该公司推出了,引入了可视化开发环境年,收购FoxPro
1.01992Microsoft了,后续发布了和版本年,发布了Fox SoftwareFoxPro
2.
52.61995Microsoft,这是第一个真正的可视化版本VisualFoxPro
3.0后续版本发展2年发布的引入了完整的面向对象编程支持年的增强了数1996VFP
5.01998VFP
6.0据库引擎和功能年,增加了支持和改进的年的Web2001VFP
7.0XML IDE2004提供了更好的集成最后一个主要版本是年发布的,增强VFP
8.
0.NET2005VFP
9.0了支持和报表功能SQL的主要特点3VFP具有多项强大功能首先,它是一个完整的数据库管理系统,同时也VisualFoxPro是一种程序开发语言;其次,它提供了可视化的开发环境,支持面向对象的程序设计;此外,它具有强大的数据处理能力,支持本地数据和远程数据访问;最后,它能够创建独立的可执行应用程序的开发环境VFP命令窗口系统菜单工具栏命令窗口是的一个重要组成部分,它提的系统菜单提供了对各种功能和工具的工具栏提供了对常用功能的快速访问VFP VFP VFP供了一个交互式的环境,允许用户直接输入访问途径通过菜单可以创建和管理数据库的工具栏根据当前的工作环境自动调整,显和执行命令通过命令窗口,可以对象,如表、查询、视图、存储过程等;可示与当前任务相关的工具按钮例如,在表FoxPro快速测试查询、执行简单操作或调试程序代以编辑程序代码;可以设计窗体和报表;可设计器中会显示字段操作相关的按钮,在窗码熟练使用命令窗口可以大大提高开发效以配置开发环境设置等系统菜单组织合理,体设计器中会显示控件和布局相关的按钮率,尤其是在进行快速数据操作和测试时使开发者能够方便地找到所需的功能工具栏可以自定义,以适应个人的工作习惯第章数据类型和表达式3数据类型描述示例字符或字符串类型Character VisualFoxPro数值类型,可带小数Numeric
123.45整数类型Integer100双精度浮点型Double
1.23456789货币类型Currency$
123.45日期类型Date{01/01/2023}日期时间类型DateTime{01/01/202312:00:00}逻辑型,表示真假(真)或(假)Logical/.T..F.长文本类型这是一段很长的文本Memo...通用型,存储对象对象General OLEOLE支持多种数据类型,每种类型都有特定的用途和存储特性选择适当的数据类型对于数据库的性能和空间利用效率VFP有重要影响常量是程序中固定不变的值,如数字、字符串等变量则是可以在程序执行过程中改变其值的存储单元在中,变VFP量使用前无需声明,但使用命令声明变量可以提高程序的可读性和可维护性DECLARE运算符和表达式算术运算符关系运算符支持基本的算术运算关系运算符用于比较两个值之间的关VisualFoxPro符,包括加法、减法、乘法、系,结果为逻辑值或中+-*.T..F.VFP除法、整除和取模这些运的关系运算符包括等于、不等于/\%=算符可用于数值类型数据之间的计算,、大于、小于、大于等于例如计算总价和小于等于这些运算符常PRICE*==运算符的优先用于条件表达式中,如子句QUANTITY+TAX WHERE级遵循数学规则,先乘除后加减,可或语句的条件部分IF使用括号改变计算顺序逻辑运算符逻辑运算符用于组合多个条件表达式,主要包括与、或、非.AND..OR.逻辑运算符的操作数必须是逻辑值例如,要查找年龄在到岁之.NOT.1860间的记录,可以使用表达式合理使用逻辑运算AGE=
18.AND.AGE=60符可以构建复杂的条件表达式第章数据库和表的创建4创建数据库在中创建数据库有两种方式通过菜单选择文件新建数据库,或使VFP用命令新建数据库后,会生成一个文件用于CREATE DATABASEVFP.DBC存储数据库结构信息数据库作为一个容器,可以包含多个表、视图、关系等数据库对象,便于统一管理相关的数据资源规划表结构表结构设计是数据库设计的核心环节需要确定表的字段(列)、每个字段的数据类型和长度、主键、索引等良好的表结构设计应遵循数据库范式原则,避免数据冗余,确保数据的完整性和一致性在设计阶段应充分考虑数据的特性和应用需求创建表结构创建表可以通过表设计器图形界面或命令完成使用表设计器CREATE TABLE时,需逐个定义字段名、类型、宽度等属性;使用命令时,需按语法规则编写语句创建完成后,生成文件存储表数据,文CREATE TABLEVFP.DBF.CDX件存储索引表创建后可以添加到现有数据库中表的修改和删除修改表结构删除表索引的创建和管理表结构创建后,您仍可以进行当表不再需要时,可以将其删索引可以加速数据检索操作,修改通过表设计器可以添加、除删除表可以通过项目管理是提高数据库性能的重要手段删除字段或修改字段属性使器、数据库设计器或使用在中,可以通过表设计器VFP用命令命令实现删除或使用命令创建索引MODIFY STRUCTUREDROP TABLEINDEX也可以打开表设计器进行修改表操作将永久移除表及其所有主键自动创建唯一索引合理需要注意的是,某些修改可能数据,无法撤消,因此执行前创建索引需权衡查询性能和更导致数据丢失,特别是缩短字应确认表确实不再需要,并考新性能,索引过多会降低数据段长度或更改数据类型时修虑是否需要先备份表数据从更新速度索引可以是单字段改前应做好数据备份,并考虑数据库中删除表不会影响数据的,也可以基于多个字段或表修改可能带来的影响库中的其他对象达式第章数据的输入与编辑5编辑记录编辑现有记录可以使用命令,它打开EDIT交互式表单界面;也可以使用REPLACE命令直接修改字段值,如追加记录REPLACE ALL2为所有产品价格PRICE WITHPRICE*
1.1向表中添加新记录可以使用命APPEND上调编辑数据时应注意数据的有效10%令、命令或APPEND BLANKAPPEND性和完整性约束命令命令打开表单进1FROM APPEND行交互式输入;添加空APPEND BLANK删除记录记录然后赋值;从文件APPEND FROM删除记录有两种方式标记删除和物理删导入数据新记录追加到表末尾,操作除命令标记记录为已删除,但完成后记录指针指向新添加的记录DELETE不从表中物理移除;命令永久删除3PACK已标记的记录并重组表可以使用命令取消删除标记,恢复误删记RECALL录数据浏览和查找命令BROWSE命令打开一个交互式表格窗口显示表数据,允许用户直接在网格中查看和编辑数据可以通过各种选项定制BROWSE1窗口,如指定显示的字段,禁止添加新记录,禁止BROWSE BROWSEFIELDS BROWSENOAPPEND BROWSENODELETE删除记录提供了直观的数据操作界面,适合进行数据维护工作BROWSE命令LOCATE命令用于在表中查找满足特定条件的记录它从当前位置开始向前搜索,一旦找到匹配记录LOCATE就停止,并将记录指针移到该记录例如,北京会查找城市为北京的第一2LOCATE FORCITY=条记录若未找到匹配记录,函数返回值命令可继续上次的搜索EOF.T.CONTINUE LOCATE命令SEEK命令通过索引快速定位记录,比效率高得多,但要求表必须SEEK LOCATE在所搜索的字段上建立了索引并设置为该索引王林3SET ORDERSEEK会快速定位到键值为王林的记录如果找不到完全匹配的记录,会SEEK将指针定位到下一个最接近的记录,并返回值.F.第章数据查询基础6数据查询是数据库应用中最常用的功能之一在中,可以使用语句进行数据查询,最基本的查询语句是语句基本语法VFP SQLSELECT为字段列表表名条件字段列表SELECT FROM[WHERE][ORDER BY]语句指定要查询的字段,可以是特定字段,也可以用星号表示所有字段子句设定查询条件,筛选符合条件的记录SELECT*WHERE条件表达式可以使用各种运算符,如、、、等,多个条件可以用、连接子句指定结果集的排序方式,可以按=AND ORORDER BY一个或多个字段升序或降序排列ASC DESC多表查询表连接查询1实现不同表数据的关联内连接2只返回两表中匹配的行外连接3返回一表全部行及另一表匹配行交叉连接4返回两表的笛卡尔积表连接是关系数据库中一项重要功能,允许在多个表之间建立关联进行查询连接操作基于表间的公共字段,通常是一个表的主键和另一个表的外键内连接是最常用的连接类型,它只返回两个表中满足连接条件的记录例如客户名称订单日期客户表订单表INNER JOINSELECT c.,o.FROM cINNER JOINo ONc.客户客户ID=o.ID外连接分为左外连接和右外连接左外连接返回左表的所有行以及右表中满足条件的行;右外连接则相反当需要包含某表中没有匹配的记录时,LEFT JOINRIGHT JOIN外连接非常有用在中,还可以使用旧式的逗号语法和关系操作符进行连接查询VFP第章语言7SQL语言简介数据定义语言()SQL DDL结构化查询语言是关系数据库标准语言,用于访问和处理数用于定义数据库结构,包括创建、修改和删除数据库对象SQL DDL据库它不依赖于特定的数据库系统,可以在不同的中使用主要命令包括(创建对象)、(修改对象)DBMS DDLCREATE ALTER语言简单易学,语法接近自然语言,但功能强大,可以执行和(删除对象)例如,命令创建新表,SQL DROPCREATE TABLE复杂的数据库操作定义表的结构;命令修改现有表的结构;ALTER TABLEDROP命令永久删除一个表TABLE语句分为数据定义语言、数据操作语言、数据控SQL DDLDML制语言和事务控制语言几个部分支持标准在中,可以通过窗口或程序代码执行语句,也可以通DCL TCLVFP SQL VFP SQLDDL的大部分功能,并有一些自己的扩展过可视化设计器完成同样的任务语句执行后立即生效,会DDL永久改变数据库结构数据操作语言()DML4主要DML命令数据操作语言主要包含四个命令、、和,分别用于查询、插入、更新和删除数据SELECT INSERTUPDATE DELETE1000+灵活查询组合语句可以组合多种子句创建超过一千种不同的查询形式SELECT3数据更新方式数据可以通过三种主要方式更新单记录替换、条件批量更新和基于其他表的更新2删除数据方法中删除数据有两种方式逻辑删除和物理删除VFP DELETEDELETE+PACK数据操作语言是数据库系统中最常用的部分其中语句用于从一个或多个表中检索数据,可以指定多种条件和排序方式;语句用于SELECT INSERT向表中添加新记录;语句用于修改表中的现有数据;语句用于删除表中的记录UPDATE DELETE在中,这些命令既可以直接在命令窗口中使用,也可以嵌入到程序中与标准相比,的语句有一些特有的语法和功VisualFoxPro DMLSQLVFPDML能扩展,如对表达式和函数的支持更强大高级查询SQL子查询基础子查询类型与应用集合操作123子查询是嵌套在另一个查询内部的子查询可以分为相关子查询和非相关子查询支持的集合操作包括并集、交SELECT SQL UNION语句,它可以出现在子句、相关子查询引用了外部查询中的列,每执行集和差集SELECT FROMINTERSECT EXCEPT子句、子句或子句中子一次外部查询就要重新计算一次;非相关子将两个结果集合并,重复行只保留WHERE HAVINGUNION查询必须用括号括起来,可以返回单个值、查询独立于外部查询,只执行一次子查询一次;也合并结果集,但保留UNION ALL单列多行、多列多行等不同形式的结果集常用于实现复杂的条件筛选,如查询高于平所有重复行主要支持VisualFoxPro子查询使语句能够基于不确定的条件进均工资的员工,其中计算平均工资的部分就操作,可以使用它来组合来自不同SQLUNION行查询,增强了查询的灵活性是一个子查询表但结构相似的数据集合操作要求参与运算的各个查询返回相同数量的列,且对应列的数据类型兼容第章视图8视图的概念和作用视图的优势视图是基于一个或多个表的虚拟表,它视图具有多种优势首先,它可以隐藏本身不存储数据,而是存储查询定义数据的复杂性,用户无需了解底层表结视图提供了一种将复杂查询封装为简单构就能获取数据;其次,它能限制用户形式的方法,使用户能够以更简单的方只能看到特定的数据列和行,增强了安式访问所需的数据视图的主要作用包全性;此外,视图可以表示来自多个表括简化复杂查询,提供数据安全性,的组合数据,简化了应用程序的设计;实现数据独立性,以及提供自定义数据最后,当底层表结构变化时,可以通过呈现方式修改视图定义而不是应用程序来适应这些变化创建和使用视图在中,创建视图可以通过视图设计器或使用语句基本语VisualFoxPro CREATE VIEW法为视图名语句例如,高薪员工CREATE VIEWAS SELECTCREATEVIEWAS员工表薪资创建后,可以像使用普通表一样使用SELECT*FROM WHERE10000视图,执行、、和操作,但有一些限制SELECT UPDATEINSERT DELETE视图的更新只读视图可更新单表视图可更新多表视图带聚合函数视图虽然视图是虚拟表,但在某些条件下,可以通过视图更新基础表的数据可更新视图必须满足一系列条件视图必须只引用一个表(单表视图);视图必须包含该表的主键;视图不能包含聚合函数(如、等);视图不能包含或子句;视图不能使用关键字SUM AVGGROUP BYHAVING DISTINCT多表视图(基于多个表的连接查询创建的视图)通常是只读的,不能直接更新但在某些特殊情况下,如果视图的每一行都唯一对应底层表中的一行,且包含必要的键字段,也允许更新视图更新VFP的限制主要是为了确保数据的一致性和完整性在开发中,应谨慎设计可更新视图,并充分测试其更新行为第章存储过程和触发器9存储过程定义存储过程是一组预编译的语句,可以接受参数并返回结果它类似于其他编程语SQL言中的函数或过程,但存储在数据库中并由数据库引擎执行在中,存储过程可VFP以使用命令创建,或通过存储过程设计器以可视化方式创建CREATE PROCEDURE存储过程调用创建后的存储过程可以使用命令调用例如,EXECPROC EXECPROC调用名为的存储过程并传递参数GetCustomerOrders101GetCustomerOrders存储过程可以返回结果集,也可以修改传入的参数值作为输出存储过程通常101用于执行复杂的业务逻辑或频繁执行的数据库操作触发器的定义和使用触发器是在表上特定事件(如插入、更新或删除)发生时自动执行的特殊存储过程在中,可以使用命令或通过触发器设计器创建触发器触发VFP CREATETRIGGER器常用于强制实施复杂的数据完整性规则、审计表的变更、自动更新相关表等第章程序设计基础10程序的结构程序文件的类型程序开发流程VFP程序由一系列命令和语句组成,这些命支持多种类型的程序文件,包括程序文程序开发通常包括需求分析、设计、编VFPVFPVFP令按顺序执行以完成特定任务程序可以包件、菜单文件、表单文件码、测试和维护几个阶段开发者可以使用.PRG.MNX含变量声明、命令执行、流程控制结构、函、报表文件等程序文件集成开发环境创建和编辑程序,使.SCX.FRX VFPIDE数调用等元素采用过程式编程与面向是最基本的程序类型,包含命令用内置的调试工具查找和修复错误程序可VFP.PRG VFP对象编程相结合的方式,程序代码既可以直和函数;菜单文件定义应用程序的菜单结构;以编译成可执行文件或应用程序.EXE接执行操作,也可以定义和使用对象良好表单文件包含用户界面元素;报表文件定义,便于部署和分发还提供了项.APP VFP的程序结构应当模块化,提高代码的可读性报表布局每种文件类型都有特定的编辑器目管理器帮助组织和管理复杂应用程序的各和可维护性和设计器个组件控制结构选择结构选择结构用于根据条件执行不同的代码块支持的选VFP择结构包括、、IF...ENDIF IF...ELSE...ENDIF IF...ELSE和例如,IF...ELSE...ENDIF DOCASE...ENDCASE IF条件判断成年人条件为真时执行age=18顺序结构2未成年人条件为假时执行选择结ELSEENDIF构能够根据程序运行时的实际情况做出不同的处理顺序结构是最简单的程序结构,命令按照书写顺序依次执行大多数程序语句都是按照顺序执行的,除非VFP1遇到特定的控制语句改变执行流程程序的默认流程就循环结构是顺序结构,从程序的第一行开始,按顺序执行每一条语句直到最后一行或语句RETURN循环结构用于重复执行一段代码支持多种循环结构,VFP包括(前测试循环)、DO WHILE...ENDDO(后测试循环)、(计数3DO...WHILE FOR...ENDFOR循环)和(记录循环)循环内可以SCAN...ENDSCAN使用命令提前结束循环,命令跳过当前迭代EXIT LOOP开始下一次循环适当使用循环结构可以简化重复性操作的编程工作函数和过程内置函数自定义函数12提供了丰富的内置函数,当内置函数无法满足特定需求时,开VisualFoxPro包括字符串处理函数(如、发者可以创建自定义函数中使SUBSTR VFP、)、数学函数用关键字定义函数,使用LTRIM RTRIMFUNCTION(如、、)、返回函数值例如ABS ROUNDSQRT RETURN日期时间函数(如、、DATE YEARFUNCTION CalcTaxamount,rate)、逻辑函数(如、定义函数MONTH IIFRETURN amount*、)等这些函数返回计算结果自定EMPTY ISNULLrate/100涵盖了大多数常见的数据处理需求,义函数可以封装复杂的计算逻辑,提开发者可以直接调用这些函数来简化高代码的重用性和可维护性编程工作过程的定义和调用3过程是不返回值的函数,主要用于执行一系列操作在中,使用关VFP PROCEDURE键字定义过程过程内可以包含任何有效的命令和语句调用过程时只需写出过VFP程名及参数过程通常用于组织和模块化代码,将相关的操作组织在一起,使程序结构更清晰多个相关的函数和过程可以组织在同一个程序文件中第章面向对象程序设计11对象实例1应用中的具体对象类2对象的模板或蓝图基本概念OOP3封装、继承和多态面向对象思想4以对象为中心的编程方法面向对象程序设计()是一种以对象为中心的编程范式在中,对象是实体的软件模型,具有属性(特征)和方法(行为)类是对象的模板,定义了OOP VisualFoxPro对象应该具有的属性和方法实例化类时会创建该类的对象实例的面向对象模型支持三个核心概念封装、继承和多态封装是将数据和操作数据的方法捆绑在一起,隐藏内部实现细节;继承允许新类从现有类获取属性和方法,形VFP成类层次结构;多态使不同类的对象可以对相同的消息做出不同的响应从版本开始全面支持面向对象编程,为开发者提供了强大的工具来创建可重用、可维护的VFP
5.0代码继承和多态类的继承方法的重写多态性的应用继承是面向对象程序设计中最强大的特性方法重写()是子类提供与父类多态性允许不同类的对象对相同的消息做Override之一,它允许一个类(子类或派生类)获方法同名但功能不同的实现当子类需要出不同的响应在中,多态主要通过VFP取另一个类(父类或基类)的属性和方法改变继承自父类的方法行为时,可以重写方法重写和接口实现多态使得代码可以在中,可以通过类设计器或该方法在中,重写方法只需在子类处理不同类型的对象,而不需要知道具体VFP DEFINEVFP命令创建继承关系例如中定义与父类相同名称的方法即可如果是哪种类型,只需要它们支持相同的方法CLASS,需要在子类方法中调用父类的原始方法,接口DEFINE CLASSCustomer ASPerson这里类继承自类可以使用函数Customer PersonDODEFAULT多态的一个典型应用是事件处理不同控方法重写使得类层次结构中的每个类都可件可以对事件有不同的响应,但调用Click通过继承,开发者可以从通用的基类开始,以有适合自己特性的行为,同时保持与父代码只需知道对象有方法即可多态Click逐步创建更具体、更专业化的类这种方类的接口一致性这增强了代码的灵活性大大简化了复杂系统的设计,使代码更具式不仅减少了代码重复,也建立了类之间和适应性,使类的行为可以随着继承层次有扩展性和灵活性,新增的类可以轻松融的层次关系,提高了代码的组织性和可维的深入而逐渐精细化和特殊化入现有系统而无需修改已有代码护性支持单继承,即一个类只能有VFP一个直接父类第章窗体设计基础12窗体的概念1窗体是应用程序的用户界面,是用户与程序交互的主要方式在中,窗VisualFoxPro体是类的对象,可以包含各种控件如按钮、文本框、标签等窗体可以是应用程Form序的主界面,也可以是对话框、数据输入界面或信息显示界面窗体设计是应用程VFP序开发的核心环节之一窗体创建过程2创建窗体可以使用窗体设计器或代码方式使用窗体设计器,从菜单选择文件新建窗体,然后通过可视化的方式设计界面代码方式则使用语句定义DEFINE CLASS窗体类,然后使用创建窗体实例两种方式各有优势,通常结合使用,CREATEOBJECT通过设计器创建基本布局,再通过代码增加复杂功能窗体的属性和方法3窗体有许多属性用于控制其外观和行为,如(标题)、(高度)、Caption Height(宽度)、(背景色)、(边框样式)等窗体的主要Width BackColorBorderStyle方法包括(显示窗体)、(隐藏窗体)、(释放窗体)等窗体还Show HideRelease可以响应各种事件,如(加载)、(激活)、(卸载)等,开发Load ActivateUnload者可以编写代码处理这些事件常用控件控件是窗体上可交互的用户界面元素在中,常用的控件包括文本框()、按钮()、标签VisualFoxPro TextBoxCommandButton()、列表框()、组合框()、复选框()、单选按钮()等控件可以通过窗Label ListBoxComboBox CheckBoxOptionButton体设计器拖放到窗体上,也可以通过代码动态创建文本框用于输入和显示文本数据,是最基本的数据输入控件按钮用于触发操作,如提交表单、打开新窗口等列表框显示一个可选择的项目列表,用户可以选择一个或多个项目组合框结合了文本框和下拉列表的功能,既可以直接输入,也可以从列表中选择这些控件都有各自的属性、方法和事件,通过设置这些特性可以实现丰富的界面功能数据绑定绑定数据源数据导航控件网格控件数据绑定是将窗体控件与数据导航控件允许用户浏网格控件()是显示Grid数据源关联的过程,使控览数据库记录,常见的包和编辑表格数据的理想选件能够自动显示和更新数括命令按钮组(移动到第择,它以行列形式展示数据在中,控件可以一条、上一条、下一条、据,支持排序、筛选等操VFP绑定到表字段、变量或表最后一条记录)和导航栏作网格可以绑定到数据达式绑定到表字段是最控件这些控件通常与数源,自动显示数据表中的常见的方式,可以通过控据表单结合使用,构成完多条记录设置网格的件的属性整的数据浏览和编辑界面属性指定ControlSource RecordSource实现例如,设置文本框提供了专门的数据环数据源,然后配置列与字VFP的为客境设计器,用于设置窗体段的对应关系网格控件ControlSource户表姓名,文本框就会的数据源和关系,简化数极大地简化了数据管理界.显示当前记录的姓名字段据绑定的配置过程面的设计,是数据驱动应值,修改文本框内容会自用程序中最常用的控件之动更新数据库一第章高级窗体设计13多窗体应用复杂的应用程序通常需要多个窗体,如主窗体、子窗体、对话框等多窗体设计涉及窗体间的导航、数据传递和协调工作在中,可以使用命令或VFP DO FORM函数打开新窗体,使用引用当前窗体,使用窗体属性和CREATEOBJECT THISFORM方法在窗体间传递数据和控制流程多窗体应用遵循的原则是功能分离和模块化,每个窗体负责特定的功能模块模态窗体模态窗体要求用户必须先处理完当前窗体才能返回父窗体,常用于需要立即响应的操作如确认对话框、数据输入表单等在中,使用窗体名或设VFP DOFORM MODAL置窗体的属性为创建模态窗体模态窗体会阻塞程序的其他部分,直WindowType1到窗体关闭,这确保用户完成当前任务后才能继续其他操作非模态窗体非模态窗体允许用户同时与多个窗体交互,适用于信息显示、辅助工具等功能使用窗体名(不带参数)或设置为创建非模态窗体DOFORMMODAL WindowType0非模态窗体不会阻塞程序的其他部分,可以与其他窗体并行工作在设计多窗体应用时,需要考虑窗体间的依赖关系,谨慎选择模态或非模态方式,以提供最佳的用户体验。
个人认证
优秀文档
获得点赞 0