delphi中数据库编程有ado和bde,请问用那个好,它们的区别在那里,请大虾指教一二

解决方案 »

  1.   

    都是访问WINDOWS数据库的接口,简单的说BDE类似ODBC,需要根据不同的数据库和不同的位置进行进行配置,再通过程序通过它访问DB,而ADO是WINDOWS新提供的一种对大部分数据库适用的接口标准,不需要另外配置,程序就可访问DB。相对而言ADO要好,BDE已经停止开发了。
      

  2.   

    ADO可以跨平台,前途光明。建议使用ADO
      

  3.   

    我也喜欢ADO,至少程序发行时不那么麻烦
      

  4.   

    ADO好,因为它开发时十分简单!
      

  5.   

    当然是ADO好了,方便好用,很容易上手的.
      

  6.   

    总体上说,BDE比ADO快2到3倍,但BDE的稳定性不好,就连它的技术支持
    也称认这一点。与Inprise公司接触,了解到以下几方面:
    1、Corel公司与Inprise公司合并,加强Linux下软件开发,Delphi 6开发小组已开始工作,预计明年发布 Delphi v6;
    2、Delphi与Access的结合,自D5开始有所支持,对ado的支持。一般来说,对微软系列的数据库采用ado,其他非微软系列采用bde;
    3、采用ado连接时,ado-connetion本身含有非可视属性应加入连接串中,具体说明在微软相关文档中可查到;
    4、尽量不采用odbc连接数据库,更不应该通过odbc+ado;
    5、关于PARADOX数据库的性能及其稳定性,具了解小型数据库采用PARADOX的居多,而access往往与vb结合。
    6、采用ado组件时首选adodataset,query、table是其的派生类,用来与其他模式系统兼容的;
    1、ado为当前流行的技术,支持决大多数数据库,而且微软还在不断扩充
    它的功能。而bde比较成熟,但已进入维护阶段,不再有大的改善。
     2、执行效率,bde/idapi比ado略快约5%。
     3、ado执行效率的差异性比bde小。ado在存取数据时,每一次执行的效率非常接近,
        而bde每次执行的差异较大。
     4、ado的稳定性强于bde。
     5、ado存取数据的功能也已经超过bde。
      但bde对于oracle数据库的支持,远比ado强。如果后台服务器是oracle的,建议
    使用bde,否则建议使用ado。 ADO 不需要进行客户端的设置,发布软件较简单,支持的也较多,使用也比较方便.而且现在
    发展也很快,建议使用ADO,和BDE比较就是有些慢,其他的没有什么,它可以脱离BDE. 如果用C/S結構﹐如果后台數據量很大5千條記錄以上用BDE好過ADO
    如果想開發多層分布式結構還是用ADO好一點﹐ADO對SQL2000可以說是完全支持﹐但
    BDE就遜多了
    ADO的精髓在于利用简单的COM指令来快速方便的访问ODBC数据源,微软的表格、列表框等.
      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页,可以选择使用的驱动程式,
    当确定使用的驱动程序后,可以选择下一步,确定具体要联接的数据库,需要注意的是,选择不同的驱动程序,在这一页需要
    确定的参数是不同的。当确定这里的各个参数后,可以用测试联接按钮来测试数据库是否可以联接,从而确定给定的联接参数
    是否正确。
      现在,当完成联接串后,就可以设置Connected为True,使ADOConnection与数据库真正的联接。此时,可以放置ADODataset
    控件,实际上,只有ADODataset才是真正与数据一起工作的,通过ADODataset,可以直接与一个表进行联接,也可以执行SQL语句,
    还可以执行存储过程(哇,好利害)。使用ADODataset的第一步,就是设置Connection,确定其使用那一个
    ADOConnection,接下来,要处理两个有关联的属性:CommandType与CommandText,由于CommandText是由
    commandtype决定的,所以要先设置commandType,正是由他来决定DataSet怎样与数据库工作,用表,
    SQL还是存储过程。而后CommandText自然就容易设置,不用多说。当这两个参数确定下来,余下的工作就如同
    原来的使用BDE访问数据库的工作差不多,使用DataSource与ADODataSet联接,与就是用DBGrid等与DataSource联接,
    现在,利用ADO,可以访问到数据了! 可以加分了吧!