delphi第四章

上传人:豆浆 文档编号:24908304 上传时间:2017-12-08 格式:PPT 页数:69 大小:909KB
返回 下载 相关 举报
delphi第四章_第1页
第1页 / 共69页
delphi第四章_第2页
第2页 / 共69页
delphi第四章_第3页
第3页 / 共69页
delphi第四章_第4页
第4页 / 共69页
delphi第四章_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《delphi第四章》由会员分享,可在线阅读,更多相关《delphi第四章(69页珍藏版)》请在金锄头文库上搜索。

1、第 4 章 Delphi连接数据库的不同方式比较,4.1 BDE4.2 ADO4.3 dbExpress 4.4 ODBC 4.5 校务管理系统连接数据库,4.1 BDE,BDE(Borland Database Engine)是Borland公司推出的一套数据引擎,用来实现应用程序与数据库之间的连接。使用BDE的时候,需要使用BDE Administrator来配置一个别名,这个别名实质上是访问数据库的一个标识符,内部封装了访问数据库所需要的多个参数,如图4-1所示,不同的数据库所封装的参数是不一样的。,图4-1,一个完整的客户机/服务器数据库应用程序执行的时候,是通过BDE/IDAPI与相

2、应的特定数据库驱动程序相连接,再通过网络通信协议实现存取数据库。BDE/IDAPI隔离了应用程序与数据库,而Delphi中的数据集组件又隔离了操作界面与BDE/IDAPI的API,使程序员不需要了解太多的技术细节,就可以采用BDE/IDAPI,通过数据集组件来读写数据库。然而,了解BDE配置参数的含义有助于优化BDE。,4.1.1 BDE文件组成 BDE所需要的一系列文件在默认情况下位于Program FilesBorlandBorland SharedBDE目录下,包括不同类型数据的支持库、BDE Administrator(bdeadmin.exe)、数据迁移工具(datapump.exe

3、)、帮助文件等。BDE通常采用以下3种方式实现应用程序与数据库的连接。,(1)采用Borland公司自己内置的驱动程序来连接数据库。一般应用在连接Pardox、dBase等数据库。 (2)采用SQL Links连接数据库。一般应用在客户机/服务器模式下的数据库应用程序开发。 (3)采用ODBC方式连接数据库。一般应用在不具备内置驱动,又不具备SQL Links驱动程序的数据库。,如果数据库是Microsoft Access,则分发BDE相关文件的同时还要分发DAO(Data Access Objects),它是基于COM技术的数据访问 API,提供了对Jet和ODBC的封装。,4.1.2 BD

4、E组件 在组件面板BDE页上集成了访问和管理BDE数据集的VCL组件,如图4-2所示。,图4-2,其中包括TTable、TQuery、Tdatabase等组件,这些都是不可见组件。Ttable代表任何数据库中的物理表或数据集,TQuery可实现单表或多表的查询,实现连接或嵌套的各种复杂查询,实现按照SQL合法语句完成的功能,例如Insert、Update、Drop等操作。,4.1.3 BDE手工配置 在开发应用程序时,使用的数据库可以通过BDE Administrator来进行配置。BDE Administrator可在Delphi安装程序组或者控制面版中打开。 配置完成后,通过“Open”操

5、作可以进行测试是否成功,如图4-3所示。,图4-3,如果配置BDE别名成功,可以使用Delphi自带的SQL Explore来打开其中的表、视图、存储过程等数据库对象。,4.1.4 程序设计中建立BDE别名 在程序中建立BDE别名,需要使用BDE组件面板上的Database控件。操作步骤如下。 (1)启动Delphi后,新建或选择已存在的DataModule,然后选择BDE组件面板,将Database控件添加到DataMoudle上,并取名为Database1。如图4-4所示。,图4-4,(2)鼠标双击控件Database1,弹出如图4-5所示界面,进行别名参数设置。 (3)单击“OK”完成B

6、DE的设置。,图4-5,有以下两点需要注意。 (1)在其他单元中,如果要使用所定义的Database,必须使用USE语句引入DataMoudle单元,否则无法实现关联引用。 (2)把数据规则定义在同一模块是一种好的编程习惯,不但方便使用和维护,而且对于以后程序的扩展升级也方便,很容易迁移到三层或多层。所以建议将Database、Table、Query等对象创建到同一个DataMoudle管理模块中。,4.1.5 动态创建BDE别名 程序中可以动态创建BDE别名,以降低应用程序与数据库的关联密切性。下面给出一种解决方案。(假设应用程序工程文件为gxgl.prj,编译后生成的执行程序为gxgl.e

7、xe),(1)建立gxgl.ini文本配置文件 (2)使用代码将gxgl.ini中数据库选项的内容读取到Database的参数列表中,实现应用程序与实际数据库的代码隔离。 (3)在程序中,所有需要引用DataBaseName的BDE数据组件,其属性DataBaseName均引自该DataModle中的DataBase。,4.1.6 通过BDE别名查看数据库对象 通过BDE别名查看数据库对象的操作步骤如下。 (1) 打开SQL Explore后,在Database列表中选择将要查看的BDE别名,如图4-6所示。,图4-6,(2)用鼠标单击别名前面的“+”号,或者在别名上单击鼠标右键,或者使用菜单

8、来打开当前的别名,如图4-7所示。,图4-7,打开别名后,数据库对象名称以树形结构显示出来,如图4-8所示。,图4-8,(3)用鼠标单击对象名称,可以查看具体的内容,如图4-9所示。,图4-9,4.2 ADO,ADO(ActiveX Data Objects)是Microsoft公司提供的访问数据库的一套组件,其底层为OLE DB。ADO是Microsoft公司近年来所提出的数据访问策略之一,这些策略大多以大写字母的缩写来表示,了解其含义,有助于对ADO有更清楚的认识。,4.2.1 微软数据访问策略微软的几种数据访问策略如下。(1)UDA(2)ODBC(3) RDO(4)Jet,(5)DAO(

9、6)ODBCDirect(7) OLE DB(8)ADO(9)RDS(10)MDAC,4.2.2 ADO组件 在组件面板ADO页上集成了访问和管理ADO数据集的VCL组件,如图4-10所示。,图4-10,4.2.3 程序设计中建立ADO连接 在程序中建立ADO连接,需要使用ADO组件面板上的ADOConnection控件。操作步骤如下。 (1)启动Delphi后,新建或选择已存在的DataModule,然后选择ADO组件面板,将ADOConnection控件添加到DataMoudle上,并取名为ADOConnection1。,(2)鼠标双击控件ADOConnection1,弹出如图4-11所示

10、界面,进行别名参数设置。(3)单击“OK”完成ADO的设置。,图4-11,有以下几点需要注意。(1)在其他单元中,如果要使用所定义的ADOConnection,必须使用USE语句引入DataMoudle单元,否则无法实现关联引用。(2)把数据规则定义在同一模块中是一种好的编程习惯,不但方便使用和维护,而且便于以后程序的扩充,很容易迁移到三层或多层应用。所以建议将使用到的组件 。,在图4-11中,单击按钮“Build”,进入ADO链接串配置向导,如图4-12所示。,图4-12,图4-13和图4-14分别给出了Paradox和MS SQL Server两种数据库的参数配置界面。如果有口令保护,并且

11、不希望程序连接数据库时提示输入用户名称和对应的口令,则需要在界面中输入用户名称和对应的密码,并且要注意修改ADOConnection的LoginPrompt的属性为False。,图4-13,图4-14,完成参数填充后,单击按钮“测试连接”可以测试给出的参数是否正确。如果正确,系统提示“测试连接成功”,如图4-15所示。,图4-15,4.2.4 动态建立ADO连接 (1)建立ADO连接的参数保存在程序的配置文件gxgl.ini中 。 (2)在应用程序中,创建Database前使用下面的代码将gxgl.ini中数据库选项的内容读取到Database的参数列表中,实现应用程序与实际数据库的代码隔离。

12、,注意事项。 (1)以上代码假设ADOConnection在DataMoudle中创建,并且DataMoudle的名字为DMData。 (2)由于使用了TiniFile对象,需要在声明中引入inifiles,即使用uses语句声明inifiles。,(3)由于使用了Application对象,需要在声明中引入Forms。 (4)对于theIni,在本例中作为全局变量,要求系统启动时首先创建theIni,例如,可在DMData的initialization初始化模块中建立;在系统退出时要释放,例如,在DMData的finalization模块中执行FreeanNil(theIni)。,4.2.5

13、 不同数据库的ADO链接串定义 1DBF/FoxPro 2Oracle 3MySQL 4Interbase,5Sybase 6Informix 7Excel 8Text 9Visual FoxPro 10Paradox,4.3 dbExpress,4.3.1 dbExpress组件 在组件面板dbExpress页上集成了访问和管理dbExpress数据集的VCL组件,如图4-16所示。,图4-16,4.3.2 使用dbExpress创建数据库应用程序,图4-17,图4-18,图4-19,图4-20,图4-21,图4-22,图4-23,图4-24,图4-25,图4-26,图4-27,图4-28,

14、图4-29,图4-30,图4-31,图4-32,图4-33,采用dbExpress也能够实现数据的双向浏览和修改保存,1. 通过组件TSimpleDataSet来实现2. 使用TSQLDataSet搭配TDataSetProvider和TClientDataSet组件来实现,4.4 ODBC,ODBC(Open Database Connetivity)即“开放式数据库互连”,是Microsoft公司的一种技术 。 图4-36给出了应用ODBC环境的4个层次模型。,图4-36,配置ODBC,可打开Windows操作系统中的控制面板,通过附带的ODBC数据源管理器进行配置,如图4-37所示。,图4-37,4.4.1 通过管理器创建ODBC数据源 4.4.2 动态创建ODBC数据源,动态建立ODBC的过程可仿照上述代码来完成。需要注意的是,不同的数据库所对应的参数是不一样的,具体的参数可通过手工建立ODBC,然后参考注册表“HKEY_CURRENT_USERSoftwareODBCODBC.INIODBC Data Sources”键下的内容进行相应修改。,4.5 校务管理系统连接数据库,本系统在开发时采用MS Access数据库,可实现向MS SQL Server的无缝升级。根据前面我们讨论的内容可以看出,采用ADO数据连接方式最方便。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号