《Delphi程序设计及实验指导》电子教案-第9章.ppt

上传人:牧羊曲112 文档编号:6525829 上传时间:2023-11-09 格式:PPT 页数:71 大小:324KB
返回 下载 相关 举报
《Delphi程序设计及实验指导》电子教案-第9章.ppt_第1页
第1页 / 共71页
《Delphi程序设计及实验指导》电子教案-第9章.ppt_第2页
第2页 / 共71页
《Delphi程序设计及实验指导》电子教案-第9章.ppt_第3页
第3页 / 共71页
《Delphi程序设计及实验指导》电子教案-第9章.ppt_第4页
第4页 / 共71页
《Delphi程序设计及实验指导》电子教案-第9章.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《《Delphi程序设计及实验指导》电子教案-第9章.ppt》由会员分享,可在线阅读,更多相关《《Delphi程序设计及实验指导》电子教案-第9章.ppt(71页珍藏版)》请在三一办公上搜索。

1、第九章 数据库应用程序设计,9.1 数据库系统概述 9.2 Delphi数据库应用程序体系结构 9.3 数据库设计 9.4 常用数据库组件 9.5 数据库应用程序综合实例习题,9.1 数据库系统概述,9.1.1 基本概念 1.数据数据(Data)是数据库中存储的基本对象。所谓数据,就是能被计算机识别与处理的符号。数据的种类很多,如数字、文字、表格、图形、图像、声音等,都属于数据。2数据库所谓数据库(Database,简称DB)是长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。,9

2、.1 数据库系统概述,3数据库管理系统数据库管理系统(DataBase Management System,简称DBMS)是一个以统一的方式管理、维护数据库中数据的一系列软件集合。DBMS是位于用户应用程序和操作系统之间的数据库管理系统软件,对数据库进行统一的管理和控制。它的主要功能如下:(1)数据定义功能(2)数据操纵功能(3)数据库的运行管理(4)数据库的建立和维护功能(5)数据库通信功能,9.1 数据库系统概述,4数据库系统数据库系统(DataBase System,简称DBS)是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统和数据库应用程序组成。数据库的建立、使用和维

3、护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DataBase Administrator,简称DBA)。,9.1 数据库系统概述,9.1.2 Delphi的数据库特性Delphi提供了许多组件以方便地创建数据库应用程序。它可以访问多种数据库管理系统的数据库,数据库对象的数据成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置。Delphi的组件面板上提供了数据库应用程序开发中需要使用的组件选项卡。,9.1 数据库系统概述,9.1.3 Delphi可以使用的数据源Delphi数据库应用程序可以通过BDE获取它们所需的数据,BDE与不同类型的数据源打交

4、道,BDE可以使用的数据源见表9-3。,9.1 数据库系统概述,表9-3 BDE可以使用的数据源,9.2 Delphi数据库应用程序体系结构,一个数据库应用程序往往包括两部分:数据库访问部分和用户界面。数据库访问部分直接或间接访问数据库,这为数据库应用程序和数据库之间提供接口;而用户界面主要是为了方便用户使用,尽量要设计友好的界面,方便用户操作。在编写数据库应用程序时,一般把数据库访问部分和用户界面分别封装到不同的模块中。在Delphi中提供了数据模块(Data Module)这种容器,在编写数据库应用程序时把数据库访问部分的内容放在数据模块中,这样就便于数据库应用程序数据存取的一致性,便于程

5、序的调试和后期维护。数据库应用程序的体系结构主要由两方面决定,一方面是使用的数据库类型(即是本地数据库还是远程数据库),另一方面是同时访问数据库的用户数以及数据库中需要存储哪些类型的信息。由此,数据库应用程序结构可以分为三种:单层结构、两层结构和多层结构。,9.2 Delphi数据库应用程序体系结构,9.2.1 单层结构 在单层数据库应用程序中,应用程序和数据库共享同一个文件系统,它们使用本地数据库或文件来存取数据。一个单层的数据库应用程序同时包含了用户界面和数据访问机制(可能是通过BDE,也可能是通过文件)。单层数据库应用程序的体系结构如图9-1所示。在此结构中,可以通过基于BDE的数据集组

6、件从本地数据库中获取数据,再通过数据源(DataSource)组件向用户提供数据。,9.2 Delphi数据库应用程序体系结构,图9-1 单层数据库应用程序的结构,9.2 Delphi数据库应用程序体系结构,9.2.2 两层结构在两层数据库应用程序中,客户程序提供用户界面,通过BDE、ADO从远程数据库服务器获取数据。两层数据库应用程序的体系结构如图9-2所示。把一个单层数据库应用程序转换为两层数据库应用程序,只要修改数据集组件的属性连接一个SQL服务器就行了。,9.2 Delphi数据库应用程序体系结构,图9-2 两层数据库应用程序的结构,9.2 Delphi数据库应用程序体系结构,9.2.

7、3 多层结构 多层数据库应用程序是为了适应网络技术的飞速发展而发展起来的一种新技术。它把整个应用程序分为多个单元,所有单元一齐合作完成对数据库的管理。它是建立在两层数据库应用基础上的,只要深刻理解了两层数据库模型,就能很好地掌握多层结构数据库应用程序。,9.2 Delphi数据库应用程序体系结构,在多层结构数据库应用程序中,客户程序、应用服务器和远程数据库服务器通常分布在不同的机器上。客户程序主要提供用户界面,它向应用服务器请求数据和申请更新数据,再由应用服务器向远程数据库服务器请求数据和申请更新数据。,9.3 数据库设计,数据库应用程序的设计包括两个部分:数据库设计和应用程序设计。在开发数据

8、库应用程序之前,必须进行需求分析,对数据库的概念结构、逻辑结构和物理结构进行规范设计,这是决定数据库应用程序开发成败的关键。通常数据库所包含的大量信息是以表的形式存储。数据库中有的表是独立的,有的表之间存在一定的关系,设计数据库就是将大量信息经过分析和归纳,分别存储到多个表中,确定表之间的相互关系。,9.3 数据库设计,9.3.1 常用数据库 在Delphi 7中要开发数据库应用程序,首要的任务就是访问数据库。Delphi 7可以访问多种数据库,如Paradox、Access等基于文本的数据库、Oracal、Infomix、MicroSoft SQL Server等大型数据库。对这些数据库的访

9、问可以通过BDE、ADO组件中的OLE DB方式进行访问。,9.3 数据库设计,常用数据库有1Paradox2Access 3大型数据库 常用的大型数据库有InterBase、Oracle、Sybase、Infomix、DB2和Microsoft SQL Server等,9.3 数据库设计,9.3.2 数据库、表的创建与维护1.创建数据库【例9-1】在BDE中创建别名为Rsgl的数据库 2.创建表【例9-2】在Database Desktop中创建表Department,其结构见表9-4。3.修改表结构4.向表中添加记录【例9-3】向Department表中添加一批记录。,9.3 数据库设计,

10、表9-4 Department表结构,9.3 数据库设计,表9-5 Employees表结构,9.3 数据库设计,表9-6 Department表中的记录信息,9.4 常用数据库组件,Delphi 7提供了很多的数据库组件,使得开发数据库应用程序变得相当容易。Delphi 7中为了创建数据库应用程序需要使用BDE数据集组件、数据访问组件和数据控制组件。Delphi使用可视化的组件创建数据库应用程序,跟创建其它的非数据库应用程序一样,数据库组件都具备一定的属性,程序设计人员可以在设计过程中设置组件的多种属性,也可以在程序运行过程中通过程序来设置组件的各种属性。在Delphi组件面板上的Data

11、Access和Data Control选项卡上的组件是用于开发数据库应用程序的。数据访问组件、数据控制组件以及它们与数据库、用户界面的有机联系如图9-14所示。,9.4 常用数据库组件,图9-14 数据库组件的体系结构,9.4 常用数据库组件,9.4.1 BDE数据集组件 BDE选项卡上有数据集组件TTable、TQuery、TStoredProc以及与TQuery组件相联系的TUpdateSQL组件。Database与Session组件用于建立数据库连接;BatchMove组件用于复制数据;NestedTable组件主要用于将主从关系的数据嵌套在子数据库表格中。BDEClientDataSe

12、t组件将ClientDataSet与BDE相关的数据访问组件结合起来。,9.4 常用数据库组件,1TTable组件(1)用途TTable组件是使用频率最高的数据库组件,该组件可以建立数据库应用程序(2)主要属性 Active属性 DatabaseName属性 TableName属性 TableType属性 Exclusive属性,9.4 常用数据库组件,(3)与表的创建与删除相关的属性与方法 Fields属性 FieldDefs属性 CreateTable方法 DeleteTable方法 RenameTable方法(4)与数据库表索引相关的属性和方法 IndexName属性 IndexFiel

13、dCount属性和IndexFields属性 IndexDefs属性 GetIndexNames方法,9.4 常用数据库组件,(5)数据查询 Locate方法和Lookup方法 GotoKey方法和FindKey方法 GotoNearest方法和FindNearest方法 SetKey方法(6)与表记录的定位、增加、删除、修改操作相关的属性和方法 BOF和EOF属性 RecNo属性 First方法和Last方法 Prior方法和Next方法 Append方法和AppendRecord方法 Insert方法和InsertRecord方法 Post方法和Edit方法 Cancel方法和Delete

14、方法 SetRecords方法 EmptyTable方法,9.4 常用数据库组件,【例9-4】在例9-3所创建的数据库基础上使用Table组件实现查询、插入、删除、更新的功能。查询代码编写单击设计界面中的“查询”按钮,查询employees.db数据库表中的记录。Delphi提供了多种实现查询功能的方法:调用Locate方法在“查询”按钮的Onclick事件的处理程序中加入如下代码:procedure TForm1.Button1Click(Sender:TObject);beginTable1.Locate(姓名,丁一,);/查询姓名为“丁一”的记录end;,9.4 常用数据库组件,调用Go

15、toKey方法在查询之前,要确保查询的字段是关键字段或辅助索引字段,如果要查询的字段不是关键字段或辅助索引字段,则查询过程失败,系统会报错。例如,在“查询”按钮的Onclick事件的处理程序中加入如下代码:procedure TForm1.Button1Click(Sender:TObject);beginTable1.IndexFieldNames:=职工号;/指定查询字段 Table1.SetKey;/将Table1置为查询状态 Table1.Fields0.AsString:=111001;/指定查询字段值 Table1.GotoKey;/进行查询end;,9.4 常用数据库组件,插入功

16、能实现 用 Insert 方法实现插入功能在“插入”按钮的Onclick事件的处理程序中加入如下代码:procedure TForm1.Button2Click(Sender:TObject);beginTable1.Insert;/设置为插入状态 Table1.Fields0.AsString:=111002;/设置要插入的值 Table1.Post;/将插入的记录写回数据库End;,9.4 常用数据库组件,用 Append 方法实现插入功能在“插入”按钮的Onclick事件的处理程序中加入如下代码:(*实现在尾部插入一条职工号为“111003”的记录*)procedure TForm1.B

17、utton2Click(Sender:TObject);beginTable1.Append;/设置为插入状态 Table1.Fields0.AsString:=111003;/设置要插入的值 Table1.Post;/将插入的记录写回数据库End;,9.4 常用数据库组件,(4)删除功能实现在“删除”按钮的Onclick事件的处理程序中加入如下代码:procedure TForm1.Button3Click(Sender:TObject);begin Table1.Delete;/删除记录指针指向的记录End;(5)更新功能实现 在“更新”按钮的Onclick事件处理程序中加入如下代码:pr

18、ocedure TForm1.Button3Click(Sender:TObject);begin Table1.Edit;/将Table控件置成编辑状态 Table1.Fields0.AsString:=王芳 Table1.Post;/将修改后的记录写回数据库End;,9.4 常用数据库组件,2TQuery组件(1)用途Delphi中的另一个重要的数据集组件是TQuery,它需要使用SQL语言命令来进行查询。Delphi通过TQuery组件实现了对SQL语言的支持,在Delphi开发的数据库应用程序中,SQL语句通过TQuery组件传递到要访问的数据库系统的数据库引擎上,由数据库引擎具体执行

19、SQL语句,以实现对数据的操作,而不是传递给Delphi中的BDE,由BDE实施具体的SQL动作。,9.4 常用数据库组件,(2)主要属性 DatabaseName属性 SQL属性 Active属性 Filter属性 Filtered属性 Params属性 ExecSQL方法,9.4 常用数据库组件,(3)静态SQL语句和动态SQL语句Delphi中使用的SQL语句有两种:静态SQL语句和动态SQL语句。静态SQL语句是指在程序设计阶段,设置TQuery组件的SQL属性。这样当设计阶段或者在程序执行阶段设置TQuery组件的Active属性为true时,或者在程序运行期间调用TQuery组件的

20、Open或ExecSQL方法执行SQL语句。动态SQL语句是指在SQL语句中包含一些参数变量,在程序运行过程中这些变量的值都是可变的。例如可以设置SQL属性为:Select*from Employees where 姓名=:name;其中name变量便是一个参数变量,它由一个冒号引导,在程序运行过程中要为参数变量赋值才行,不然SQL语句不能正确执行。,9.4 常用数据库组件,(4)TQuery组件的使用方法执行SQL语句有两种方式:一种是在设计期间把Active属性设为true,程序会自动执行SQL语句:另一种方式是在程序运行期间调用TQuery组件的Open或者ExecSQL方法执行SQL语

21、句。如果希望返回查询结果,调用Open,如果不需要返回查询结果,调用ExecSQL。在调用Open或ExecSQL之前,最好先调用Prepare方法通过服务器做好准备。执行SQL所返回的查询结果实际上是数据集中满足特定条件的记录所组成的子集,数据库表格只显示符合特定条件的记录。在程序运行过程中,首先调用TQuery组件的Close方法关闭当前的SQL调用,然后调用SQL的Clear方法清除SQL属性,并使用SQL的Add方法增加新的SQL命令到SQL属性中。,9.4 常用数据库组件,在程序运行过程中,首先调用TQuery组件的Close方法关闭当前的SQL调用,然后调用SQL的Clear方法清

22、除SQL属性,并使用SQL的Add方法增加新的SQL命令到SQL属性中。由于在程序运行过程中,程序设计人员是无法确定TQuery组件中的SQL语句是否会返回一个查询结果,所以执行SQL语句时经常在TryExcept模块中。一般形式如下:TryQueryl.Open;ExceptQuery1.ExecSQL;end;,9.4 常用数据库组件,如果使用动态SQL语句,首先调用Prepare方法,给动态SQL语句中的参数赋值,然后再调用Open方法或ExecSQL方法。调用Prepare方法并不是必须的,但是对于要多次执行 TQuery组件中SQL属性中的动态SQL语句,调用Prepare可以大大提

23、高TQuery组件执行 SQL语句的性能。,9.4 常用数据库组件,【例9-5】在例9-3所创建的数据库基础上使用TQuery组件实现查询、插入、删除、更新的功能。,图9-17 窗体界面设计,9.4 常用数据库组件,查询功能的实现用TQuery组件实现查询功能的SQL语句的基本格式如下:SELECT FROM WHERE ORDER BY GROUP BY 其中SELECT和FROM子句是不可缺少的。,9.4 常用数据库组件,SELECT子句指出查询结果中显示的字段名,以及字段名和函数组成的表达式等。若要显示表中的所有字段时,可用通配符“*”代替字段名表。FROM子句指定要查询的数据库表。WH

24、ERE子句定义了查询条件,必须紧跟FROM子句之后,其中的子句是一个逻辑表达式。ORDER BY子句对查询的记录结果按照指定字段值进行排序。GROUP BY子句对查询的记录结果按照指定字段值进行分组另外,对表数据进行查询时,经常需要对结果进行汇总或计算,SQL语言的聚集函数用于计算表中的数据,返回单个计算结果。常用的聚集函数主要有以下几种:记录数目 COUNT求和 SUM平均值 AVG最大值 MAX最小值 MIN,9.4 常用数据库组件,在“查询”按钮的Onclick事件处理程序中加入如下代码:procedure TForm1.Button1Click(Sender:TObject);begi

25、nQuery1.Close;/修改SQL语句之前先关闭Query组件Query1.SQL.Clear;/清除旧的SQL语句Query1.SQL.Add(SELECT*FROM employees.db);/添加新的SQL语句Query1.SQL.Add(WHERE 姓名=丁一);Query1.Open;/执行SQL语句end;,9.4 常用数据库组件,插入功能的实现用TQuery组件实现插入功能的SQL语句的基本格式如下:INSERT INTO()VALUES该命令的功能是在指定的数据库表中,插入记录。指定了插入记录中要赋值的字段,VALUES()指定了要给中的字段所赋的值。TQuery组件中

26、执行插入功能的SQL语句要用ExecSQL方法执行。,9.4 常用数据库组件,在“插入”按钮的Onclick事件处理程序中加入如下代码:procedure TForm1.Button2Click(Sender:TObject);beginQuery1.Close;/修改SQL语句之前先关闭Query组件Query1.SQL.Clear;/清除旧的SQL语句Query1.SQL.Add(INSERT INTO employees.db);Query1.SQL.Add(姓名);Query1.SQL.Add(VALUES(李宏伟);(*对于字符串中出现的单引号要进行特殊处理,因此字符型数据,要用两对

27、单引号括起来)Query1.ExecSQL;/显示插入的结果Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(SELECT*FROM employees.db);Query1.Open;end;,9.4 常用数据库组件,删除功能的实现用TQuery组件实现删除功能的SQL语句的基本格式如下:DELETE FROM WHERE 该语句的功能是从指定的数据库表中删除满足条件的记录,若省略WHERE子句,表示删除所有的记录。TQuery组件中执行删除功能的SQL语句要用ExecSQL方法执行。,9.4 常用数据库组件,在“删除”按钮的Onclick事件处理程序

28、中加入如下代码:procedure TForm1.Button3Click(Sender:TObject);beginQuery1.Close;Query1.SQL.Clear;Query1.SQL.Add(DELETE FROM employees.db);Query1.SQL.Add(WHERE 姓名=李宏伟);Query1.ExecSQL;Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(SELECT*FROM employees.db);Query1.Open;end;,9.4 常用数据库组件,更新功能的实现用TQuery组件实现更新功能的SQL

29、语句的基本格式如下:UPDATE SET=WHERE 该语句的功能是将指定的数据库表中满足条件的记录中的SET子句的所指定的字段的值设置为。若省略WHERE子句,表示更新所有的记录的指定字段的值。TQuery组件中执行更新功能的SQL语句要用ExecSQL方法执行。,9.4 常用数据库组件,在“更新”按钮的Onclick事件的处理程序中加入如下代码:procedure TForm1.Button4Click(Sender:TObject);beginQuery1.Close;Query1.SQL.Clear;Query1.SQL.Add(UPDATE employees.db);Query1.

30、SQL.Add(SET 基本工资=基本工资+200);Query1.SQL.Add(WHERE 姓名=杨帆);Query1.ExecSQL;Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(SELECT*FROM employees.db);Query1.Open;end;,9.4 常用数据库组件,3.其他的BDE组件(1)TBatchMove组件TBatchMove组件可以从数据集中成批地拷贝、删除、更新、添加数据到另外的一个数据表中。经常被用来将桌面数据库的数据升级到SQL服务器上,或者保存查询后的数据用于分析。(2)TSession组件TSessi

31、on组件连接了数据库引擎BDE和应用程序内的Database。在每一个数据库应用程序运行时,Delphi会自动创建一个默认的TSesssion组件:Session。在应用程序中加入新的数据访问组件和数据集组件时,这些组件会自动地处于默认的BDE会话期对象,即Session的控制之下,对于简单的数据库应用程序只需要使用这个默认的 TSession组件即可。此外,TSession组件还能提供访问Paradox表和dBASE表的口令,指定网络控制文件所在的目录,控制数据表的连接等功能。,9.4 常用数据库组件,(3)TNestedTable组件通过TNestedTable组件可以访问嵌套数据集中的数

32、据。它实现的功能类似于Table组件,唯一不同的是TNestedTable组件访问的数据是存储在嵌套的数据表格中的。,9.4 常用数据库组件,9.4.2 数据访问(Data Access)组件数据访问组件建立了数据集组件和数据控制组件之间的桥梁,它是编写数据库应用程序所必需的;在Delphi 7中数据访问组件位于组件面板的Data Access选项卡上,,9.4 常用数据库组件,用途TDataSource组件在数据库应用程序编写中经常使用,是连接数据访问组件TTable、TQuery等数据集组件和TDBGfid、TDImage等数据控制组件之间的桥梁 2主要属性(1)AutoEdit属性(2)

33、DataSet属性(3)Enabled属性(4)Edit方法(5)IsLinkedTo方法,9.4 常用数据库组件,9.4.3 数据控制(Data Controls)组件 数据控制组件位于组件面板的Data Controls选项卡上 它们主要用于设计数据库应用程序的用户界面,对数据库中的数据进行浏览、编辑、插入、删除等操作。数据控制组件既能把数据库中的数据显示到窗口中,又可以将其自身经过修改的数据写回到数据库中。数据控制组件使用相当简单,一般只需设置组件的DataSource属性为指定的数据访问组件,如果需要的话,再设置数据控制组件的DataField属性,以说明需要显示的数据表中的字段。,9

34、.4 常用数据库组件,1.TDBGrid组件(1)用途TDBGrid组件是最常用的采用网格的方式显示数据库表中指定字段的数据的组件,它通过DataSource属性与TTable组件建立连接,显示数据库表中的数据,并能够让用户编辑这些数据。(2)主要属性 DataSource属性 Columns属性 FixedColor属性 Options属性 Title Font属性,9.4 常用数据库组件,2TDBText组件TDBText组件类似于Standard选项卡中的Lable组件,是一个只读的数据控制组件,主要用于显示数据集中字段类型为文本型的字段值。该组件显示的是数据表中当前记录的指定字段的值,

35、因而它显示的内容也是动态的,在其中显示的内容随着记录指针的移动而变化。但该组件不能用于编辑数据库中的数据。,9.4 常用数据库组件,3.TDBEdit组件(1)用途TDBEdit组件是用于显示编辑数据表中当前记录各个字段值的数据浏览组件,在应用程序中,常用一个TDBEdit组件来对应表中的一个字段,通过设置TDBEdit组件的DataSource、DataField属性便可以为TDBEdit组件指定表中相应的字段。(2)主要属性AutoSelect属性 CharCase属性 PasswordChar属性 ReadOnly属性,9.4 常用数据库组件,4.TDBNavigator组件(1)用途T

36、DBNavigator组件主要用来执行在数据集中浏览数据和编辑数据的操作,如记录定位、拖入记录、删除记录、保存用户对记录的修改等。它提供了一组简单明了的控制按钮,如图9-21所示,用户单击其中的按钮可以向前向后移动记录指针、插入记录、修改已存在的记录、投寄对记录的修改、取消修改、删除记录以及刷新记录的显示等。(2)主要属性 DataSource属性 VisibleButtons属性 Hints属性 ShowHint属性 Visible属性,9.4 常用数据库组件,9.4.4 ADO组件 ADO(ActiveX Data Objects)是Microsoft公司面向各种数据的高层接口,ADO组件

37、这种层次接口被称为OLE DB。ADO是在Microsoft的数据访问技术OLE DB上实现的。OLE DB访问速度快,可以访问的数据类型丰富,包括对关系型数据库、非关系型数据库、电子邮件、文件系统及定制事务对象的访问。ADO组件编写的程序,可脱离Borland的BDE,数据控制组件在直接使用ADO组件,在使用ADO组件编写的程序,必须正确安装ADO/OLE DB。,9.4 常用数据库组件,ADO组件中有三个核心组件分别是用于数据库连接的TADOConnection组件、用于执行SQL命令的TADOCommand组件和用于执行返回结果集合的请求的TADODataSet组件。还有三个与BDE兼容

38、的TADOTable、TADOQuery、TADOStoredProc组件,可以用它们将BDE的应用程序移植到ADO中。另外有一个TRDSConnection组件,用于访问远程多级应用程序中的数据。,9.5 数据库应用程序综合实例,9.5.1 总体设计 人事管理系统就是要实现对单位职工进行管理,整个系统由人事档案管理和部门信息管理组成,包括信息输入、添加、修改、删除、查询等功能。,9.5 数据库应用程序综合实例,9.5 数据库应用程序综合实例,9.5.2 数据库设计 数据库设计是系统实现的基础,分为概念设计、逻辑设计和物理设计三步,本系统共有两个数据库:Department和Employees

39、。,9.5 数据库应用程序综合实例,9.5.3 程序设计 1主界面设计 本系统采用多页面的方法来实现,系统主界面如图9-25所示 2子模块的设计 本系统共包括三个子模块:职工管理模块、部门管理模块和信息查询模块。其界面分别如图9-25、图9-26和图9-27所示。各模块的功能实现基本相似,这里以职工管理模块、部门管理模块的部分按钮代码以及信息查询模块的查询功能代码为例来介绍各子模块的具体实现方法,其他模块的实现请读者自行完成。,9.5 数据库应用程序综合实例,(1)界面设计(2)编写代码 职工管理模块“退出”按钮的OnClick事件处理代码如下:procedure TForm1.BitBtn1

40、Click(Sender:TObject);beginclose;end;,9.5 数据库应用程序综合实例,部门管理模块“添加”按钮的OnClick事件处理代码如下:procedure TForm1.BitBtn6Click(Sender:TObject);beginBitBtn2.Enabled:=false;BitBtn3.Enabled:=false;BitBtn4.Enabled:=false;BitBtn5.Enabled:=false;BitBtn6.Enabled:=false;BitBtn7.Enabled:=false;BitBtn8.Enabled:=false;BitBt

41、n9.Enabled:=True;BitBtn10.Enabled:=True;Table2.Append;end;,9.5 数据库应用程序综合实例,“修改”按钮的OnClick事件处理代码如下:procedure TForm1.BitBtn7Click(Sender:TObject);beginBitBtn2.Enabled:=false;BitBtn3.Enabled:=false;BitBtn4.Enabled:=false;BitBtn5.Enabled:=false;BitBtn6.Enabled:=false;BitBtn7.Enabled:=false;BitBtn8.Enabl

42、ed:=false;BitBtn9.Enabled:=True;BitBtn10.Enabled:=True;Table2.Edit;end;,9.5 数据库应用程序综合实例,“删除”按钮的OnClick事件处理代码如下:procedure TForm1.BitBtn8Click(Sender:TObject);beginif Table2.IsEmpty then MessageDlg(当前无数据,请确认!,mtError,mbOk,0)else begin if MessageDlg(确认删除当前记录吗?,mtConfirmation,mbOK,mbCancel,0)=mrOK then

43、begin Table2.Delete;Showmessage(该记录已被删除);Table2.First;end;end;end;,9.5 数据库应用程序综合实例,信息查询模块“职工查询”按钮的OnClick事件处理代码如下:procedure TForm1.BitBtn11Click(Sender:TObject);Var StrSQL:string;beginQuery1.Close;Query1.SQL.Clear;case ComboBox1.ItemIndex of-1,10:strSQL:=Select*from Employees.db;0,1,2,4,5,6,8:strSQL

44、:=Select*from Employees where+ComboBox1.Text+=+Edit1.Text+;7:strSQL:=Select*from Employees where+ComboBox1.Text+=+Edit1.Text;else strSQL:=Select*from Employees where+ComboBox1.Text+=+chr(35)+Edit1.Text+chr(35);end;,9.5 数据库应用程序综合实例,Query1.SQL.Add(strSQL);QUERY1.Prepare;Query1.Open;if Query1.RecordCou

45、nt=0 then ShowMessage(指定记录没有找到);DBGrid3.DataSource:=DataSource3;Edit1.Text:=;end;“部门查询”按钮的OnClick事件处理代码如下:procedure TForm1.BitBtn12Click(Sender:TObject);Var StrSQL:string;,9.5 数据库应用程序综合实例,beginQuery1.Close;Query1.SQL.Clear;case ComboBox2.ItemIndex of-1,4:strSQL:=Select*from Department.dbelse strSQL:

46、=Select*from Department.db where+ComboBox2.Text+=+Edit2.Text+;end;Query1.SQL.Add(strSQL);QUERY1.Prepare;Query1.Open;if Query1.RecordCount=0 then ShowMessage(指定记录没有找到);DBGrid3.DataSource:=DataSource3;Edit2.Text:=;end;,习 题,什么是数据库,什么是数据库管理系统,什么是数据库系统?简述BDE可以使用的数据源有哪些类型?Delphi开发的数据库应用程序有哪几种结构?简述Delphi中数据库、数据表的创建过程。简述Delphi中常用的数据库组件有哪些,其基本功能是什么?简述Delphi数据库应用程序的开发步骤。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号