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

PPT
  • 阅读 62 次
  • 下载 0 次
  • 页数 71 页
  • 大小 360.070 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
《Delphi程序设计及实验指导》电子教案--第9章课件
可在后台配置第一页与第二页中间广告代码
《Delphi程序设计及实验指导》电子教案--第9章课件
可在后台配置第二页与第三页中间广告代码
《Delphi程序设计及实验指导》电子教案--第9章课件
可在后台配置第三页与第四页中间广告代码
《Delphi程序设计及实验指导》电子教案--第9章课件
《Delphi程序设计及实验指导》电子教案--第9章课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 71
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】《Delphi程序设计及实验指导》电子教案--第9章课件.ppt,共(71)页,360.070 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45369.html

以下为本文档部分文字说明:

第九章数据库应用程序设计•9.1数据库系统概述•9.2Delphi数据库应用程序体系结构•9.3数据库设计•9.4常用数据库组件•9.5数据库应用程序综合实例•习题9.1数据库系统概述•9.1.1基本概念–1.数据•数据(Data)是数据库中存储的基本对象。所谓数据,就是能

被计算机识别与处理的符号。数据的种类很多,如数字、文字、表格、图形、图像、声音等,都属于数据。–2.数据库•所谓数据库(Database,简称DB)是长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展

性,并可为各种用户共享。9.1数据库系统概述–3.数据库管理系统•数据库管理系统(DataBaseManagementSystem,简称DBMS)是一个以统一的方式管理、维护数据库中数据的一系列软件集合。DBMS是位于用户应用程序和操作系统之间的数据库管理系统

软件,对数据库进行统一的管理和控制。–它的主要功能如下:•(1)数据定义功能•(2)数据操纵功能•(3)数据库的运行管理•(4)数据库的建立和维护功能•(5)数据库通信功能9.1数据库系统概述–4.数据库系统•数据库系统(DataBaseSystem,简称DBS)是指在计算机系统中引入数据库

后的系统,一般由数据库、数据库管理系统和数据库应用程序组成。数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DataBaseAdministrator,简称DBA)。9.1数据库系统概述•9.1.2Del

phi的数据库特性–Delphi提供了许多组件以方便地创建数据库应用程序。它可以访问多种数据库管理系统的数据库,数据库对象的数据成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置。Delphi的组件面板上

提供了数据库应用程序开发中需要使用的组件选项卡。9.1数据库系统概述•9.1.3Delphi可以使用的数据源–Delphi数据库应用程序可以通过BDE获取它们所需的数据,BDE与不同类型的数据源打交道,BDE可

以使用的数据源见表9-3。9.1数据库系统概述表9-3BDE可以使用的数据源数据源特性描述dBASE数据库数据库表是通过dBASE数据库管理系统或DBD建立的,每一个表是一个独立的.dbf文件Paradox数据库数据库表是通过

Paradox数据库管理系统.db或dbd建立的,每一个表是一个独立的文件ASCII文件表是通过DatabaseDesktop建立的,每个.txt表是一个独立的文件本地InterBase服务器数据库是通过InterBase数据

库管理系统.gbd建立的,多个表包含在一个数据库文件中SQL数据库服务器数据库是通过相应的数据库服务器提供的依赖Oracle、Sybase、Informix专用或通用工具建立的,也可以通过dbd或数据库管理系统MicrosoftSQLSe

rver创建数据库,并通过SQLLink访问数据库管理系统InterBaseODBC数据源主要是指那些具有ODBC接口的数据库系统依赖于如MSAccess、Btrieve等的数据库9.2Delphi数据库应用程序体系结构–一个数据库应用程序往往包括两部分:数据库访问部分和用户界

面。数据库访问部分直接或间接访问数据库,这为数据库应用程序和数据库之间提供接口;而用户界面主要是为了方便用户使用,尽量要设计友好的界面,方便用户操作。–在编写数据库应用程序时,一般把数据库访问部分和用户界面分别封装到不同的模块中。在Delphi中提供了数据模块(DataModule)这种容器,

在编写数据库应用程序时把数据库访问部分的内容放在数据模块中,这样就便于数据库应用程序数据存取的一致性,便于程序的调试和后期维护。–数据库应用程序的体系结构主要由两方面决定,一方面是使用的数据库类型(即是本地数据库还是远程数据库),另一方面是同时访问数据库的用户数以及

数据库中需要存储哪些类型的信息。由此,数据库应用程序结构可以分为三种:单层结构、两层结构和多层结构。9.2Delphi数据库应用程序体系结构•9.2.1单层结构–在单层数据库应用程序中,应用程序和数据库共享同一个文件系统,它们使用本地数据库或文件来存取数据。一个单层的数据库应用程序同时

包含了用户界面和数据访问机制(可能是通过BDE,也可能是通过文件)。单层数据库应用程序的体系结构如图9-1所示。在此结构中,可以通过基于BDE的数据集组件从本地数据库中获取数据,再通过数据源(DataSource)组件

向用户提供数据。9.2Delphi数据库应用程序体系结构数据库BDE数据集组件窗体数据模块用户接口数据源BDE引擎图9-1单层数据库应用程序的结构9.2Delphi数据库应用程序体系结构•9.2.2两层结构–在两层数据库应用程序中,客户程序提供用户界面,通过BDE、ADO从远程数据库服务

器获取数据。两层数据库应用程序的体系结构如图9-2所示。–把一个单层数据库应用程序转换为两层数据库应用程序,只要修改数据集组件的属性连接一个SQL服务器就行了。9.2Delphi数据库应用程序体系结构数据库BDE/ADO数据集组件窗体数据模块用户接口

数据源BDE引擎/OLEDB图9-2两层数据库应用程序的结构9.2Delphi数据库应用程序体系结构•9.2.3多层结构–多层数据库应用程序是为了适应网络技术的飞速发展而发展起来的一种新技术。它把整个应用程序分为多个单元,所有单元一齐合作完成对数据库的管理。它是建立在两层数据库应用基础

上的,只要深刻理解了两层数据库模型,就能很好地掌握多层结构数据库应用程序。9.2Delphi数据库应用程序体系结构–在多层结构数据库应用程序中,客户程序、应用服务器和远程数据库服务器通常分布在不同的机器上。客户程序主要提供用户界面,它

向应用服务器请求数据和申请更新数据,再由应用服务器向远程数据库服务器请求数据和申请更新数据。9.3数据库设计–数据库应用程序的设计包括两个部分:数据库设计和应用程序设计。在开发数据库应用程序之前,必须进行需求分析,对数据库的概念结构

、逻辑结构和物理结构进行规范设计,这是决定数据库应用程序开发成败的关键。通常数据库所包含的大量信息是以表的形式存储。数据库中有的表是独立的,有的表之间存在一定的关系,设计数据库就是将大量信息经过分析和归纳,分别存储到多

个表中,确定表之间的相互关系。9.3数据库设计•9.3.1常用数据库–在Delphi7中要开发数据库应用程序,首要的任务就是访问数据库。Delphi7可以访问多种数据库,如Paradox、Access等基于文本

的数据库、Oracal、Infomix、MicroSoftSQLServer等大型数据库。对这些数据库的访问可以通过BDE、ADO组件中的OLEDB方式进行访问。9.3数据库设计•常用数据库有–1.Paradox–2.Acce

ss–3.大型数据库•常用的大型数据库有InterBase、Oracle、Sybase、Infomix、DB2和MicrosoftSQLServer等9.3数据库设计•9.3.2数据库、表的创建与维护–1.创建数据库–【例9-1】在BDE中创建别名为Rsgl的数据库–2.创建表–【例9

-2】在DatabaseDesktop中创建表Department,其结构见表9-4。–3.修改表结构–4.向表中添加记录–【例9-3】向Department表中添加一批记录。9.3数据库设计表9-4Department表结构字段名数据类型长度部门号A3部门名称A10负责

人A8电话号码A119.3数据库设计字段名数据类型长度职工号A6姓名A8性别A2出生日期D8婚否L1职称A10职务A10基本工资$6部门号A3简历M100表9-5Employees表结构9.3数据库设计表9-6Departmen

t表中的记录信息部门号部门名称负责人电话号码001技术处丁一56221356002生产处杨帆452255429.4常用数据库组件–Delphi7提供了很多的数据库组件,使得开发数据库应用程序变得相当容易。D

elphi7中为了创建数据库应用程序需要使用BDE数据集组件、数据访问组件和数据控制组件。Delphi使用可视化的组件创建数据库应用程序,跟创建其它的非数据库应用程序一样,数据库组件都具备一定的属性,程序设计人员可以在设计过程中设置组件的多种属性,也可以

在程序运行过程中通过程序来设置组件的各种属性。在Delphi组件面板上的DataAccess和DataControl选项卡上的组件是用于开发数据库应用程序的。数据访问组件、数据控制组件以及它们与数据库、用户界面的有机联系如图9-14所示。9.4常用数据库组件图9-14数

据库组件的体系结构9.4常用数据库组件•9.4.1BDE数据集组件–BDE选项卡上有数据集组件TTable、TQuery、TStoredProc以及与TQuery组件相联系的TUpdateSQL组件。Database与Session组件用于建立数据库连接;BatchMove组件用于复制数据;Ne

stedTable组件主要用于将主从关系的数据嵌套在子数据库表格中。BDEClientDataSet组件将ClientDataSet与BDE相关的数据访问组件结合起来。9.4常用数据库组件–1.TTable组件•(1)用途–TTable组

件是使用频率最高的数据库组件,该组件可以建立数据库应用程序•(2)主要属性–①Active属性–②DatabaseName属性–③TableName属性–④TableType属性–⑤Exclusive属性9.4

常用数据库组件•(3)与表的创建与删除相关的属性与方法–①Fields属性–②FieldDefs属性–③CreateTable方法–④DeleteTable方法–⑤RenameTable方法•(4)与数据库表索引相关的属性和方法

–①IndexName属性–②IndexFieldCount属性和IndexFields属性–③IndexDefs属性–④GetIndexNames方法9.4常用数据库组件•(5)数据查询–①Locate方法和Lookup方法–②GotoKey方法和FindKey方法–③GotoNear

est方法和FindNearest方法–④SetKey方法•(6)与表记录的定位、增加、删除、修改操作相关的属性和方法–①BOF和EOF属性–②RecNo属性–③First方法和Last方法–④Prior方法和Next方法–⑤Append方法和AppendRecord方法–⑥

Insert方法和InsertRecord方法–⑦Post方法和Edit方法–⑧Cancel方法和Delete方法–⑨SetRecords方法–⑩EmptyTable方法9.4常用数据库组件–【例9-4】在例9-3所创建的数据库基础上使用Table组件实现查询、插入、删除、更新的功能。•查

询代码编写•单击设计界面中的“查询”按钮,查询employees.db数据库表中的记录。•Delphi提供了多种实现查询功能的方法:•①调用Locate方法•在“查询”按钮的Onclick事件的处理程序中加入如下代码:•procedureTForm1.Bu

tton1Click(Sender:TObject);•begin•Table1.Locate('姓名','丁一',[]);//查询姓名为“丁一”的记录•end;9.4常用数据库组件•②调用GotoKey方法•在查

询之前,要确保查询的字段是关键字段或辅助索引字段,如果要查询的字段不是关键字段或辅助索引字段,则查询过程失败,系统会报错。•例如,在“查询”按钮的Onclick事件的处理程序中加入如下代码:•procedureTF

orm1.Button1Click(Sender:TObject);•begin•Table1.IndexFieldNames:='职工号';//指定查询字段•Table1.SetKey;//将Table1置为查询状

态•Table1.Fields[0].AsString:='111001';//指定查询字段值•Table1.GotoKey;//进行查询end;9.4常用数据库组件•插入功能实现•①用Insert方法实现插入功能•在“插入”按钮的Onclick事件的处理程序中加入如下代码:•pr

ocedureTForm1.Button2Click(Sender:TObject);•begin•Table1.Insert;//设置为插入状态•Table1.Fields[0].AsString:='111002';//设置要插入的值•Table

1.Post;//将插入的记录写回数据库•End;9.4常用数据库组件•②用Append方法实现插入功能•在“插入”按钮的Onclick事件的处理程序中加入如下代码:•(*实现在尾部插入一条职工号为“111003”的记录*)•procedureTForm1.Button2Click(S

ender:TObject);•begin•Table1.Append;//设置为插入状态•Table1.Fields[0].AsString:='111003';//设置要插入的值•Table1.Post;//将插入的记录写回数据库•

End;9.4常用数据库组件•(4)删除功能实现•在“删除”按钮的Onclick事件的处理程序中加入如下代码:procedureTForm1.Button3Click(Sender:TObject);•begin•Table1.Delete;//删除记录指针指向的记录•End;•(5)更新功能实

现•在“更新”按钮的Onclick事件处理程序中加入如下代码:•procedureTForm1.Button3Click(Sender:TObject);•begin•Table1.Edit;//将Table控件置成编辑状态•Table1.Fie

lds[0].AsString:='王芳'•Table1.Post;//将修改后的记录写回数据库•End;9.4常用数据库组件–2.TQuery组件•(1)用途•Delphi中的另一个重要的数据集组件是TQuery

,它需要使用SQL语言命令来进行查询。Delphi通过TQuery组件实现了对SQL语言的支持,在Delphi开发的数据库应用程序中,SQL语句通过TQuery组件传递到要访问的数据库系统的数据库引擎上,由数

据库引擎具体执行SQL语句,以实现对数据的操作,而不是传递给Delphi中的BDE,由BDE实施具体的SQL动作。9.4常用数据库组件•(2)主要属性–①DatabaseName属性–②SQL属性–③Active属性–④Fi

lter属性–⑤Filtered属性–⑥Params属性–⑦ExecSQL方法9.4常用数据库组件•(3)静态SQL语句和动态SQL语句–Delphi中使用的SQL语句有两种:静态SQL语句和动态SQL语句。–静态SQL语句是指在程序设计阶段,

设置TQuery组件的SQL属性。这样当设计阶段或者在程序执行阶段设置TQuery组件的Active属性为true时,或者在程序运行期间调用TQuery组件的Open或ExecSQL方法执行SQL语句。–动态SQL语句是指在S

QL语句中包含一些参数变量,在程序运行过程中这些变量的值都是可变的。例如可以设置SQL属性为:–Select*fromEmployeeswhere姓名=:name;–其中name变量便是一个参数变量,它由一个冒号引导,在程

序运行过程中要为参数变量赋值才行,不然SQL语句不能正确执行。9.4常用数据库组件•(4)TQuery组件的使用方法–执行SQL语句有两种方式:一种是在设计期间把Active属性设为true,程序会自动执行SQL语句:另一种方式是在程序运行期间调用TQuery组件的

Open或者ExecSQL方法执行SQL语句。如果希望返回查询结果,调用Open,如果不需要返回查询结果,调用ExecSQL。在调用Open或ExecSQL之前,最好先调用Prepare方法通过服务器做好准

备。执行SQL所返回的查询结果实际上是数据集中满足特定条件的记录所组成的子集,数据库表格只显示符合特定条件的记录。–在程序运行过程中,首先调用TQuery组件的Close方法关闭当前的SQL调用,然后调用SQL的Clear方法清除SQL属性,并使用S

QL的Add方法增加新的SQL命令到SQL属性中。9.4常用数据库组件–在程序运行过程中,首先调用TQuery组件的Close方法关闭当前的SQL调用,然后调用SQL的Clear方法清除SQL属性,并使用SQL的Add方法增加新的SQL命令到SQL属性中。–由于在程序运行过程中,程序

设计人员是无法确定TQuery组件中的SQL语句是否会返回一个查询结果,所以执行SQL语句时经常在Try…Except模块中。一般形式如下:»Try»Queryl.Open;»Except»Query1.ExecSQL;»end;

9.4常用数据库组件–如果使用动态SQL语句,首先调用Prepare方法,给动态SQL语句中的参数赋值,然后再调用Open方法或ExecSQL方法。调用Prepare方法并不是必须的,但是对于要多次执行TQuery组件中S

QL属性中的动态SQL语句,调用Prepare可以大大提高TQuery组件执行SQL语句的性能。9.4常用数据库组件–【例9-5】在例9-3所创建的数据库基础上使用TQuery组件实现查询、插入、删除、更新的功能。图9-17窗体界面设计9.4常用数据库组件–查询功能的实现•用TQuery组件

实现查询功能的SQL语句的基本格式如下:•SELECT<字段名表或表达式>FROM<表名>•[WHERE<条件>]•[ORDERBY<排序表达式>]•[GROUPBY<分组表达式>]•其中SELECT和FROM子句是不可缺少的。

9.4常用数据库组件•SELECT子句指出查询结果中显示的字段名,以及字段名和函数组成的表达式等。若要显示表中的所有字段时,可用通配符“*”代替字段名表。FROM子句指定要查询的数据库表。•WHERE子句定义了查询条件,必须紧跟FRO

M子句之后,其中的<条件>子句是一个逻辑表达式。•ORDERBY子句对查询的记录结果按照指定字段值进行排序。•GROUPBY子句对查询的记录结果按照指定字段值进行分组•另外,对表数据进行查询时,经常需要对结果进行汇总或计算,SQL语言的聚集函数用于计算表中的数据,返回单个计算结果。常用的聚集函数

主要有以下几种:•记录数目COUNT•求和SUM•平均值AVG•最大值MAX•最小值MIN9.4常用数据库组件–在“查询”按钮的Onclick事件处理程序中加入如下代码:•procedureTForm1.Button1Click(Sender:TObj

ect);•begin•Query1.Close;//修改SQL语句之前先关闭Query组件•Query1.SQL.Clear;//清除旧的SQL语句•Query1.SQL.Add('SELECT*FROMemployees.db');//添加新的SQL语句•Qu

ery1.SQL.Add('WHERE姓名=''丁一''');•Query1.Open;//执行SQL语句•end;9.4常用数据库组件–插入功能的实现•用TQuery组件实现插入功能的SQL语句的基

本格式如下:•INSERTINTO•[(<字段名表>)]•VALUES•该命令的功能是在<表名>指定的数据库表中,插入记录。指定了插入记录中要赋值的字段,VALUES(<字段值表>)指定了要给<字段名表>中的字段所赋的值。•TQuery组件中执行插入功能的SQL

语句要用ExecSQL方法执行。9.4常用数据库组件–在“插入”按钮的Onclick事件处理程序中加入如下代码:•procedureTForm1.Button2Click(Sender:TObject);•begin•Q

uery1.Close;//修改SQL语句之前先关闭Query组件•Query1.SQL.Clear;//清除旧的SQL语句•Query1.SQL.Add('INSERTINTOemployees.db');•Query1.SQL.

Add('(姓名)');•Query1.SQL.Add('VALUES(''李宏伟'')');•(*对于字符串中出现的单引号要进行特殊处理,因此字符型数据,要用两对单引号括起来)•Query1.ExecSQL;//显示插入的结果•Query1.Close;•Query1.SQL.Clea

r;•Query1.SQL.Add('SELECT*FROMemployees.db');•Query1.Open;•end;9.4常用数据库组件–删除功能的实现•用TQuery组件实现删除功能的SQL语句的基本格式如下:•DELETEFROM<表名

>•[WHERE<条件>]•该语句的功能是从<表名>指定的数据库表中删除满足条件的记录,若省略WHERE子句,表示删除所有的记录。•TQuery组件中执行删除功能的SQL语句要用ExecSQL方法执行。9.4常用数据库组件–在“删除”按钮的Onclick事件处理程序中加入如下代

码:•procedureTForm1.Button3Click(Sender:TObject);•begin•Query1.Close;•Query1.SQL.Clear;•Query1.SQL.Add('DELETEFROMemployees.db');•Query1.SQL.

Add('WHERE姓名=''李宏伟''');•Query1.ExecSQL;•Query1.Close;•Query1.SQL.Clear;•Query1.SQL.Add('SELECT*FROMemployees.d

b');•Query1.Open;•end;9.4常用数据库组件–更新功能的实现•用TQuery组件实现更新功能的SQL语句的基本格式如下:•UPDATE<表名>•SET<字段名>=<新的字段值>•[WHERE<条件>]•该语句的功能是将<表名>指定的数据库表中满足条

件的记录中的SET子句的<字段名>所指定的字段的值设置为<新的字段值>。若省略WHERE子句,表示更新所有的记录的指定字段的值。•TQuery组件中执行更新功能的SQL语句要用ExecSQL方法执行。9.4常用数据库组

件–在“更新”按钮的Onclick事件的处理程序中加入如下代码:•procedureTForm1.Button4Click(Sender:TObject);•begin•Query1.Close;•Query1.SQL.Clear;•Query1.SQL.Add('UPDATEemployee

s.db');•Query1.SQL.Add('SET基本工资=基本工资+200');•Query1.SQL.Add('WHERE姓名=''杨帆''');•Query1.ExecSQL;•Query1.Close;•Query1.SQL.Clear;•Query1.SQ

L.Add('SELECT*FROMemployees.db');•Query1.Open;•end;9.4常用数据库组件–3.其他的BDE组件•(1)TBatchMove组件–TBatchMove组件可以从数据集中成批地拷贝、删除、更新、添加数据到另外的一个数据表中。经常被

用来将桌面数据库的数据升级到SQL服务器上,或者保存查询后的数据用于分析。•(2)TSession组件–TSession组件连接了数据库引擎BDE和应用程序内的Database。在每一个数据库应用程序运行时,Delphi会自动创建一个默认的TSesssion组件:Session。在应用程序

中加入新的数据访问组件和数据集组件时,这些组件会自动地处于默认的BDE会话期对象,即Session的控制之下,对于简单的数据库应用程序只需要使用这个默认的TSession组件即可。此外,TSession组件还能提供访问Para

dox表和dBASE表的口令,指定网络控制文件所在的目录,控制数据表的连接等功能。9.4常用数据库组件•(3)TNestedTable组件–通过TNestedTable组件可以访问嵌套数据集中的数据。

它实现的功能类似于Table组件,唯一不同的是TNestedTable组件访问的数据是存储在嵌套的数据表格中的。9.4常用数据库组件•9.4.2数据访问(DataAccess)组件–数据访问组件建立了数据集组件和数据控制组件之间的桥梁,它是编

写数据库应用程序–所必需的;在Delphi7中数据访问组件位于组件面板的DataAccess选项卡上,9.4常用数据库组件–1.用途•TDataSource组件在数据库应用程序编写中经常使用,是连接数据访问组件TTable、TQuery等数据集组件和TDBGfid、TDImage等数据控

制组件之间的桥梁–2.主要属性•(1)AutoEdit属性•(2)DataSet属性•(3)Enabled属性•(4)Edit方法•(5)IsLinkedTo方法9.4常用数据库组件•9.4.3数据控制(DataControls)组件–数据控制组件位于组件面板的DataCo

ntrols选项卡上–它们主要用于设计数据库应用程序的用户界面,对数据库中的数据进行浏览、编辑、插入、删除等操作。数据控制组件既能把数据库中的数据显示到窗口中,又可以将其自身经过修改的数据写回到数据库中。–数据控制组件使用相当简单,一般只需设置组件的DataSource属性

为指定的数据访问组件,如果需要的话,再设置数据控制组件的DataField属性,以说明需要显示的数据表中的字段。9.4常用数据库组件–1.TDBGrid组件•(1)用途–TDBGrid组件是最常用的采用网格的方式显示数据库表中指定字段的数据的组件,它通过D

ataSource属性与TTable组件建立连接,显示数据库表中的数据,并能够让用户编辑这些数据。•(2)主要属性–①DataSource属性–②Columns属性–③FixedColor属性–④Options属性–⑤TitleFont属性9.4常用数

据库组件–2.TDBText组件•TDBText组件类似于Standard选项卡中的Lable组件,是一个只读的数据控制组件,主要用于显示数据集中字段类型为文本型的字段值。该组件显示的是数据表中当前记录的指定字段的值,因而它显示的内容也是动态的,在其中显示的内容随着记录指针的移动而变化。但该组件不

能用于编辑数据库中的数据。9.4常用数据库组件–3.TDBEdit组件•(1)用途–TDBEdit组件是用于显示编辑数据表中当前记录各个字段值的数据浏览组件,在应用程序中,常用一个TDBEdit组件来对应表中的一个字段,通过设置TDBEdit

组件的DataSource、DataField属性便可以为TDBEdit组件指定表中相应的字段。•(2)主要属性–①AutoSelect属性–②CharCase属性–③PasswordChar属性–④ReadOnly属性9.4常用数据库组

件–4.TDBNavigator组件•(1)用途–TDBNavigator组件主要用来执行在数据集中浏览数据和编辑数据的操作,如记录定位、拖入记录、删除记录、保存用户对记录的修改等。它提供了一组简单明了的控制按钮,如图9-21所示,用户单击其中的按钮可以向前向后移动记录指针、插入记录、修改

已存在的记录、投寄对记录的修改、取消修改、删除记录以及刷新记录的显示等。•(2)主要属性–①DataSource属性–②VisibleButtons属性–③Hints属性–④ShowHint属性–⑤Visible属性9.4常用数

据库组件•9.4.4ADO组件–ADO(ActiveXDataObjects)是Microsoft公司面向各种数据的高层接口,ADO组件这种层次接口被称为OLEDB。ADO是在Microsoft的数据访问技术OLEDB上实现的。OLEDB访问速度快,可以

访问的数据类型丰富,包括对关系型数据库、非关系型数据库、电子邮件、文件系统及定制事务对象的访问。ADO组件编写的程序,可脱离Borland的BDE,数据控制组件在直接使用ADO组件,在使用ADO组件编写的程序,必须

正确安装ADO/OLEDB。9.4常用数据库组件–ADO组件中有三个核心组件分别是用于数据库连接的TADOConnection组件、用于执行SQL命令的TADOCommand组件和用于执行返回结果集合的请求的TADODataSet组件。还有三个与BDE兼容的TADO

Table、TADOQuery、TADOStoredProc组件,可以用它们将BDE的应用程序移植到ADO中。另外有一个TRDSConnection组件,用于访问远程多级应用程序中的数据。9.5数据库应用程序综合实例•9.5.1总体设计–人事管理系统就是要实现对单位

职工进行管理,整个系统由人事档案管理和部门信息管理组成,包括信息输入、添加、修改、删除、查询等功能。9.5数据库应用程序综合实例人事管理系统职工管理模块部门管理模块系统查询模块职工录入职工删除职工修改记录移动部门录入部门删除部门修改记录移动职工信息查询部门信息查询9.5数据库应用程序综合实例•9.

5.2数据库设计–数据库设计是系统实现的基础,分为概念设计、逻辑设计和物理设计三步,本系统共有两个数据库:Department和Employees。9.5数据库应用程序综合实例•9.5.3程序设计–1.主界面设计•

本系统采用多页面的方法来实现,系统主界面如图9-25所示–2.子模块的设计•本系统共包括三个子模块:职工管理模块、部门管理模块和信息查询模块。其界面分别如图9-25、图9-26和图9-27所示。各模块的功能实现基本相似,这里以职工管理模块、部门管理模块的部分

按钮代码以及信息查询模块的查询功能代码为例来介绍各子模块的具体实现方法,其他模块的实现请读者自行完成。9.5数据库应用程序综合实例•(1)界面设计•(2)编写代码•职工管理模块“退出”按钮的OnClick事件处理代码如下:–procedureTFor

m1.BitBtn1Click(Sender:TObject);–begin–close;–end;9.5数据库应用程序综合实例•部门管理模块“添加”按钮的OnClick事件处理代码如下:–procedureTForm1.BitBtn6Click(Sender:TObject);–begin–Bi

tBtn2.Enabled:=false;–BitBtn3.Enabled:=false;–BitBtn4.Enabled:=false;–BitBtn5.Enabled:=false;–BitBtn6.Enabled:=false;–BitBtn7.Ena

bled:=false;–BitBtn8.Enabled:=false;–BitBtn9.Enabled:=True;–BitBtn10.Enabled:=True;–Table2.Append;–end;9.5数据库应用程序综合实例•“修改”按钮的OnClick事件处理代

码如下:–procedureTForm1.BitBtn7Click(Sender:TObject);–begin–BitBtn2.Enabled:=false;–BitBtn3.Enabled:=false;–BitBtn4.Enabled:=false;–Bi

tBtn5.Enabled:=false;–BitBtn6.Enabled:=false;–BitBtn7.Enabled:=false;–BitBtn8.Enabled:=false;–BitBtn9.Enable

d:=True;–BitBtn10.Enabled:=True;–Table2.Edit;–end;9.5数据库应用程序综合实例•“删除”按钮的OnClick事件处理代码如下:–procedureTForm1.BitBtn8Click(Sender:TObject);–begin–i

fTable2.IsEmptythen–MessageDlg('当前无数据,请确认!',mtError,[mbOk],0)–else–begin–ifMessageDlg('确认删除当前记录吗?',–mtConfirmation,[mbOK,mbCancel],0)=mr

OKthen–begin–Table2.Delete;–Showmessage('该记录已被删除');–Table2.First;–end;–end;–end;9.5数据库应用程序综合实例•信息查询模块“职工查询”按钮的OnClick

事件处理代码如下:–procedureTForm1.BitBtn11Click(Sender:TObject);–Var–StrSQL:string;–begin–Query1.Close;–Query1.SQL.Clear;–caseComboBox1.ItemIndexof–-1,10:s

trSQL:='Select*fromEmployees.db';–0,1,2,4,5,6,8:strSQL:='Select*fromEmployeeswhere'+–ComboBox1.Text+'='+''''+Edit1.

Text+'''';–7:strSQL:='Select*fromEmployeeswhere'+–ComboBox1.Text+'='+Edit1.Text;–else–strSQL:='Select*fromEmployeeswhere'

+ComboBox1.Text+'='–+chr(35)+Edit1.Text+chr(35);–end;9.5数据库应用程序综合实例–Query1.SQL.Add(strSQL);–QUERY1.Prepare;–Query1.Open;–ifQuery1.RecordCou

nt=0then–ShowMessage('指定记录没有找到');–DBGrid3.DataSource:=DataSource3;–Edit1.Text:='';–end;•“部门查询”按钮的OnClick事件处

理代码如下:–procedureTForm1.BitBtn12Click(Sender:TObject);–Var–StrSQL:string;9.5数据库应用程序综合实例–begin–Query1.Close;–Q

uery1.SQL.Clear;–caseComboBox2.ItemIndexof–-1,4:strSQL:='Select*fromDepartment.db'–else–strSQL:='Select*fromDep

artment.dbwhere'+–ComboBox2.Text+'='+''''+Edit2.Text+'''';–end;–Query1.SQL.Add(strSQL);–QUERY1.Prepare;–Query1.Open;–ifQuery1.RecordC

ount=0then–ShowMessage('指定记录没有找到');–DBGrid3.DataSource:=DataSource3;–Edit2.Text:='';–end;习题1.什么是数据库,什么是数据库管理系统,什么是数据库系统?2.简述BDE可以使用的数据源有哪些

类型?3.Delphi开发的数据库应用程序有哪几种结构?4.简述Delphi中数据库、数据表的创建过程。5.简述Delphi中常用的数据库组件有哪些,其基本功能是什么?6.简述Delphi数据库应用程序的开发步骤。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?