代码之家  ›  专栏  ›  技术社区  ›  Anirudh Goel

为什么要从ADO切换到ADO.NET?

  •  4
  • Anirudh Goel  · 技术社区  · 15 年前

    我有一些朋友是“老派”的VB6数据库开发人员,我告诉他们.NET及其功能,特别是ADO.NET。

    在我们的谈话中,他们提出了以下原因,为什么他们宁愿坚持ADO而不愿转移到ADO.NET:

    • 数据集已断开连接(如果电源故障怎么办?)
    • 同样数量的代码仍然需要编写
    • 新的选择 Dataset , BindingSource TableAdapter 似乎迷惑
    • 同样的代码是以编程方式编写的,访问数据库,所有的更改都是该命令的布局方式。

    我在寻找答案或原因,为什么ADO.NET在数据访问方面比ADO“更好”,当它涉及到Windows窗体应用程序。ADO.NET提供了什么而ADO没有?它比ADO更好做什么?

    NB: 我想要一些不涉及LINQ的例子。

    8 回复  |  直到 15 年前
        1
  •  10
  •   n8wrl    15 年前

    一方面,如果它没有坏,就不要修理它。但在另一个-vb6?真的?听起来ADO和ADO.NET在这里是小土豆…

    我认为问题更多的是vb与vb.net,然后整个代码库、技能集和其他非技术性的考虑都会在这里发挥作用。

        2
  •  6
  •   Mike Spross Alex Martelli    15 年前

    ADO是不支持的基于COM的技术。从2008年3月起,vb 6.0是一种无支持的生命终结技术。DAO、RDO、ADO都是已经过了10年黄金时期的技术。

    ADO.NET是用于数据访问的现代工具集。尤其是,LinqtoSQL和实体框架将数据访问提升到了新的高度。

        3
  •  5
  •   Spencer Ruport    15 年前

    在旧的VB6应用程序中使用ADO没有任何问题。如果这些应用程序运行正常,就没有理由更改它们。

    我认为.NET中的任何编程人员都不会太想尝试使用ADO,因为当您尝试使用ADO时,它感觉像是一个黑客工作。就让他们去吧。

        4
  •  2
  •   Janie    15 年前

    简单的回答:不要说服他们…

    让他们看看linq to sql(或者更好的是linq to实体)

        5
  •  2
  •   Mitchel Sellers    15 年前

    在我的日常工作中,让人们切换到ADO.NET的最大问题之一是ADO(vb6风格)都是COM,使用ADO.NET可以获得更好的性能。

        6
  •  0
  •   Chuck Conway    15 年前

    我听到一个传言说vb6运行时在Windows7之后不会发布…

        7
  •  0
  •   JeffO    15 年前

    我猜,如果记录集仍然连接,并且服务器上的电源断开,用户在继续输入无法保存的数据之前,会立即在应用程序中得到提示?

    内存垃圾收集怎么样?

    在.NET中分发更新更容易。

    我猜如果你在vb 6中有很多WinForm应用程序的代码,为什么会改变?也许如果您使用vb.net启动一个新项目,您可以显示一些其他的好处,比如在一个表适配器中包含多个表(不能说我已经利用了这一点)。

        8
  •  0
  •   MarkJ    15 年前

    我自己更喜欢ado.net,但为了平衡起见,经典ado比ado.net有一个优点:它可以说更有用。

    我们的客户发现很难 使用[ADO.NET]是因为 需要初始化。即使在 最简单的场景,用户是 期望理解复杂 相互作用和相互依赖 几种类型…注意其中很多 在.NET中解决了问题 框架2。

    由.NET框架的架构师在 .NET Framework Design Guidelines 第2版第25页。