Delphi 5 ADO

转载 2004年08月13日 20:45:00
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,可以访问到数据了!

ADO的事务处理例子(Delphi)

ADO的事务处理例子(Delphi) ADOConnection1.BeginTrans;   //开始事务try with ADOCommand1 do begin Connection:=ADOC...
  • zzflover
  • zzflover
  • 2008-05-26 09:01:00
  • 955

Delphi下的原生ADO使用方法

本文向您揭示在Delphi中使用ADO是如何轻而易举,结合了ADO的Delphi应用程序,将不再依赖于BDE。 ADO的精髓在于利用简单的COM指令来快速方便的访问ODBC数据源,微软的表格、...
  • Hmillet
  • Hmillet
  • 2016-03-30 09:55:05
  • 2786

今天在Delphi中使用ADO连接Excel

今天在Delphi中使用ADO连接Excel(以前在一本书看过,复习一下-_-!!),有所收获,不敢独享。第一部分:1. 设置ADOConnection的ConnectionString属性的OLE ...
  • love3s
  • love3s
  • 2011-11-15 17:00:41
  • 6635

Delphi中ADO存取效率的探讨

CacheSize 默认1,需要修改成1000 异步执行也可以提高效率:AsyncExecute
  • xiuzhentianting
  • xiuzhentianting
  • 2015-09-05 12:46:25
  • 329

delphi通过用ADO连接SQL数据库实例

  • 2011年10月31日 20:53
  • 320KB
  • 下载

delphi控件ADO添加修改删除代码

  • 2014年09月26日 22:59
  • 267KB
  • 下载

Delphi 如何调出 ADO 连接字符串配置对话框

Delphi 如何调出 ADO 连接字符串配置对话框
  • niniu
  • niniu
  • 2010-09-29 11:13:00
  • 1525

Delphi中用ADO控件连接数据库例子

概述: 一、说明 最近在写个“数据库管理系统框架程序”,其中封装了几个连接数据库的函数,觉得挺好用,拿出来与大家分享下,希望能对大家有点用处。 我以连接oracle和access为例,其余数据...
  • wozengcong
  • wozengcong
  • 2013-09-11 16:55:57
  • 2162

Delphi ADO 连接 Excel (附Excel各个版本的版本号)

引用ComObj这个单元 Type Conn: TADOConnection; qry: TADOQuery; var Excel: OLEVariant; ExcelVersio...
  • ainixiaozhuzi
  • ainixiaozhuzi
  • 2013-11-02 13:31:52
  • 3622

Delphi中ADO处理数据的几种方式的速度比较

ADO+DataProvide+ClientDataSet  插入1000行数据需要2.078秒ADO直接SQL命令 3.400秒ADO的批量方式    启动事务 1.328秒 不使用事务1.553秒...
  • henreash
  • henreash
  • 2008-10-13 15:38:00
  • 4068
收藏助手
不良信息举报
您举报文章:Delphi 5 ADO
举报原因:
原因补充:

(最多只允许输入30个字)