ado universal data access (uda)是微软公司策畋一部分,提供了快速访问各种数据库的能力,uda提供了一种不受限制的能力,通过易用的api接口访问各种数据源,当然,这需要与其兼容的驱动程序,类似delphi的bde,这项技术能在一个程序中从多样的数据源中轻易的访问到数据。uda用mdac来实现,而mdac则包括active data objects(ado),open database connectivity(odbc)与ole db. ado是mdac的应用程序设计接口,ole db则是系统级的接口,定义了一套com接口,提供了从关联数据库及文件系统的数据访问能力,odbc为了向后兼容也包含在mdac中,但是在将来,他要被ole db所替代,现在对于odbc,开发者通过ado来使用odbc驱动,尽管如此,ole db已经可用于microsoft access,microsoft sql以及oracle. ado另外的一个重要的优势是将被内置在微软将的所有操作系统不,包括windows 2000,这就意味着虽然现在为了使用ado来访问数据库而不得不在每一台pc中安装ado,而将来这种安装技术将消失。如果想进一步学习uda及ado,可以访问微软的数据访问主页http://www.microsoft.com/data/default.htm,从这个主页上,不但可以载到 adoredistributable,用他可以在windows95/98/nt安装ado,也能得到mdac的sdk,包含了完整的文档以及需要开发自己的ole db 的所有工具,此外,sdk也包含ado的发行版。 用ado需要的每一件事,都被制作在delphi 5的安装盘上,如果安装mdac,进行mdac目录,执行程序mdac_typ.exe即可.由于安装程序仅为一个文件,所以安装mdac也变得非常简单。如果自己开发的应用程序需要安装mdac,则此安装程序还可作为自己开发应用的安装程序的一部分,为了去除它的安装提示信息,需要在自制安装程序时使用如下的命令行:mdac_typ.exe /q:a /c:"setup.exe /qt" 对于更多的安装mdac的信息,象文件列表及依赖关系,可以看mdac sdk文档。
使用adoconnection 和 adodataset控件 d5提供了一套新的控件以支持ado,并且能够轻易的转换现有的应用到ado,要建立一个ado应用,首先需要在form或data module中放一个adoconnection控件,这与bde 的database 控件差不多,他允许通过connectionstring属性定义与数据库的联接,如果想手工建立这个联接串可不是一件容易的事,这个串是由';'隔开的一系列参数,这些参数很容易就能超过150个字符,幸运是是,微软提供了一个联接串编辑器,使做起这件事来变得简单。为了打开这个编辑器,就可完成这项工作。爽的很。 在这个编辑器中,可以以两种方式之一来选择与数据源的建立,其一是用联接文件的方式,另一种则是建立联接串的形式,默认的情况下是使用联接串,选择build按钮,出现数据联接属性设置对话框,在provider页,可以选择使用的驱动程式,当确定使用的驱动程序后,可以选择下一步,确定具体要联接的数据库,需要注意的是,选择不同的驱动程序,在这一页需要确定的参数是不同的。当确定这里的各个参数后,可以用测试联接按钮来测试数据库是否可以联接,从而确定给定的联接参数是否正确。在这里,我们仅以microsort jet 4.0为例子,联接本地的一个acess表。 现在,当完成联接串后,就可以设置connected为true,使adoconnection与数据库真正的联接。此时,可以放置adodataset控件,实际上,只有adodataset才是真正与数据一起工作的,通过adodataset,可以直接与一个表进行联接,也可以执行sql语句,还可以执行存储过程(哇,好利害)。使用adodataset的第一步,就是设置connection,确定其使用那一个adoconnection,接下来,要处理两个有关联的属性:commandtype与commandtext,由于commandtext是由commandtype决定的,所以要先设置commandtype,正是由他来决定dataset怎样与数据库工作,用表,sql还是存储过程。而后commandtext自然就容易设置,不用多说。当这两个参数确定下来,余下的工作就如同原来的使用bde访问数据库的工作差不多,使用datasource与adodataset联接,与就是用dbgrid等与datasource联接,现在,利用ado,可以访问到数据了!
|