Delphi 有BDE 与 ADO 两种数据引擎,ADO 作为BDE 的替代,但却少了UpdateSQL 的强大功能, 现在不知道选用哪种好? 大家讨论一下两种引擎的各自优势,谢谢

解决方案 »

  1.   

    我用ado 客户端不用装BDE,总会少很多事情,微软的东西,用SQL SERVER的话总是用ADO结合性好一点,其他的ORACLE等可能差不多
      

  2.   

    bde速度可能快一些,但发行时有些麻烦
      

  3.   

    补充一下,本人现在最疑惑的是多表操作时,BDE 可以通过UpdateSQL 对不同的表进行增删改,ADO 如何实现?
      

  4.   

    看一下李维的delphi ADO/MTS/COM+程序设计篇吧,能解你的疑惑!
      

  5.   

    bde的本機操作速度一流, 象我一個與硬件通信的項目, 用bde, 速度快很多!
    其它的理由, 建議用ado
      

  6.   

    to juliens(星星球) 
    李维的delphi ADO/MTS/COM+程序设计篇,好像也没有具体说,只是在ADO 的动态属性里有所介绍,但那里不是很方便。可能我理解的有问题,可以具体介绍一下吗?
      

  7.   

    ---------------------------
    Debugger Exception Notification
    ---------------------------
    Project ***.exe raised exception class EOleException with message '行句柄引用了一个已被删除的行或被标识未删除的行。'. Process stopped. Use Step or Run to continue.
    ---------------------------
    在ADO 中当指针在当前新增记录中操作时,如放弃会出现上述提示。若指针不在当前新增记录中则可以成功,为何?
      

  8.   

    觉得用BDE麻烦一些!不知大家是怎样认为的!
      

  9.   

    BDE成熟、BUG少、速度快,但处理多连接时有缺陷,最高好像只能支持48个并发连接。
      

  10.   

    borland现在已经不再升级BDE了,只是进行相应的维护,所以用BDE并不大合适了,虽BDE比ADO更快,更好,但还是建议用ADO吧。
      

  11.   

    现在都面向网络计算了,速度的快慢应该不是最重要的问题!ADO和BDE都将被BorLand淘汰!DbExpress才是未来的方向。愚见!
      

  12.   

    还要考虑数据库
    mysql用ADO就会有一些问题
      

  13.   

    我觉得ADO好,灵活,而且不用管理数据库别名什么的,而且操作起来也很方便,在就是现在多数人都用微软的数据库,兼容性要好一些。顺便说一下,BORLAND的数据库巨烂无比,好多SQL函数都不支持。
      

  14.   

    \\DbExpress才是未来的方向
    同意
      

  15.   

    沒有ado完成不了的﹐看你如何去用﹐我覺得你有具體的問題提出來比較好﹐建義用ado
      

  16.   

    to  jeetliang(IWDPNET) 
    1。多表操作时,BDE 可以通过UpdateSQL 对指定的表进行增删改,ADO 如何实现?2。
    ---------------------------
    Debugger Exception Notification
    ---------------------------
    Project ***.exe raised exception class EOleException with message '行句柄引用了一个已被删除的行或被标识未删除的行。'. Process stopped. Use Step or Run to continue.
    ---------------------------
    在ADO 中当指针在当前新增记录中操作时,如放弃会出现上述提示。若指针不在当前新增记录中则可以成功,为何?
      

  17.   

    在微软的平台上!ADO现在的标准可以说是支持SQL SERVER最好的了 BDE对Oracle支持好一点 不过在ADO的升级过程中 BDE的优势没有过去那么明显了 而且BDE对环境的要求还比较高
      

  18.   

    我以前用的是BDE,现在改用ADO了,针对ADO的多表操作,如果你能用一个SQL语句搞定的话,
    直接用TADOCommand并Execute就可以了,如果要返回修改的多表数据集,可以在后台启动一个事务进行处理。
    另外,你说的'行句柄引用了一个已被删除的行或被标识未删除的行。'问题好像需要打一个delphi的补丁,我记得delphi6是要的,错误可能和你说得不一样,好像是说“行集值已经变化”
    你可以试试,仅做参考