如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
基于ADO的数据库应用程序?ADO(ActiveXDataObjects)是微软提供对各种数据格式的高层接口(high-levelinterface),该接口已经成为访问数据库的新的标准。使用这种接口的数据库又称为OLEDB数据库。OLEDB数据库可以使我们方便地访问各种类型的数据库,包括关系型或非关系型数据库、E-Mail和文件系统、文本和图形、以及各种自定义商用对象。Delphi5增添了对ADO的支持。ADO本身是一些数据对象,使用这些数据对象,应用程序可以访问OLEDB数据库。Delphi封装了这些ADO数据对象的功能,使这些功能可以在Delphi构件的环境中使用。例如,最常使用的ADO对象是连接(Connection)、命令(Command)、数据集(Recordset)对象,这些ADO对象在Delphi中相对应的构件是TADOConnection,TADOCommand和ADO数据集构件。结合Delphi本身的开放式数据元件结构,如借助于DBGrid,DBEdit等数据感知构件,从而使用户能够迅速实现对终端用户用来做商业决策的数据的一致性访问。用户可以不需使用BDE就可很快地建立应用程序。基于ADO的应用程序可以是单层或多层的,其情况取决于使用的数据库系统。例如,使用ADO访问MicrosoftSQLServer的程序总是两层的,因为MicrosoftSQLServer是一个SQL数据库系统,SQL数据库系统通常存放在一个专用的SQL服务器上。另一方面,使用ADO访问本地数据库(如dBASE或FoxPro)的程序,则总是单层的。21.3.1基于ADO的体系结构一个基于ADO的单层或两层应用程序通常由这么几个部分组成:?用户界面,其主要部件是数据控件。如果所有的数据访问都是通过程序实现的,则数据控件是可选的。?一个或多个数据集构件,用于从数据库引入数据。?一个或几个TDataSource构件,用于连接数据集与数据控件。?一个连接构件,用于连接到数据仓库。连接构件在数据集构件和通过数据仓库访问的数据库之间提供通道。基于ADO的应用程序的ADO层由以下几部分组成:MicrosoftADO2.1,OLEDB数据库或用于数据仓库访问的ODBC驱动程序,指定的数据库系统(例如,SQL数据库)使用的客户端软件、数据库支援系统、数据库。所有这些外部实体必须存在,并且是基于ADO的应用程序可以使用的。这些ADO构件只能用于ADO框架的数据库应用程序中。ADO连接和数据集构件中的大多数都分别与BDE连接或数据集构件中一个类似。例如,TADOConnection构件功能上类似于BDE应用程序中TDatabase构件,TADOTable构件等价于TTable构件,TADOQuery构件等价于TQuery构件,TADOStoredProc构件等价于TStoredProc构件。在使用上,构件也类似于BDE中的同类构件。ADOTADODataSet构件在BDE中没有直接的对应者,但提供了许多与TTable和TQuery构件同样的功能;TADOCommand在BDE中也没有直接的对应者,其提供的功能是Delphi/ADO环境中专有的。下表列出了ADO构件及其有关功能说明。构件TADOConnection用途用于建立与ADO数据仓库的连接。ADO数据集和命令构件可以共享这个连接,以执行命令、检索数据和对源数据进行操作。TADODataSet用于检索和操作数据。可以从单个或多个表中检索数据。该构件既可以通过TADOConnection连接到数据仓库,也可以直接连接到数据仓库。TADOTable用于检索和操作由一个单一表产生的数据集。该构件既可以通过TADOConnection连接到数据仓库,也可以直接连接到数据仓库。TADOQuery用于检索和操作由一个合法的SQL语句产生的数据集,也可以执行DDL(数据定义语言)SQL命令,如CreateTable命令。该构件既可以通过TADOConnection连接到数据仓库,也可以直接连接到数据仓库。TADOStoredProc用于执行存储过程。存储过程可以是检索数据,也可以执行DDL命令。该构件既可以通过TADOConnection连接到数据仓库,也可以直接连接到数据仓库。TADOCommand主要用于执行命令(即不需返回结果的SQL语句)。也可以与一个数据集构件一起使用来右桓霰碇屑焖魇?荨8霉辜?瓤梢酝ü?ADOConnection连接到数据仓库,也可以直接连接到数据仓库。21.3.3连接到ADO数据仓库基于ADO的应用程序的所有数据化对象都包含在由ADO数据仓库访问的数据库中。要访问这些数据对象或存放在其中的数据,程序必须首先连接到数据仓库。程序至少包含一个A