初学者的ADO示例

时间:2012-03-26 18:44:18

标签: ms-access vba ms-access-2007 ado dao

在使用MS访问时,我仍然是绿色的。 我试图通过使用记录集对象而不是使用DLookup来改善自我。我的计划是使用这些来读取和操作MS Access 2007中的数据。

从我所做的大量阅读中,我无法分辨是否使用ADO或DAO?

我的访问数据库用于存储我们在办公室管理的某些系统的用户帐户信息。只有少数管理员可以使用它来维护用户信息

我很难找到维持任何类型。一致性的硬性和快速的例子或“最佳实践”。此外,任何类型的文档都需要在任何类型的......之前仔细阅读“为什么使用”和“使用理论”。

这是使用什么....文章的种类。

我预计这些工具将永远存在于MS访问中,因为这就是我在办公室所拥有的一切。在将来,我想让数据连接字符串对MS Access以外的工具更加开放,比如SQLite ....

然而,MS Access是我的目标。我一直在使用DLookups从表中获取数据,但这开始感觉很少,并且不适合从1个特定行检索超过1列数据。

任何人都可以直接向某些白痴指导ADO或DAO。我不是一个贸易程序员,并希望尽快完成一些编码。这个办公室的一切都要完成:昨天。我没有时间阅读长篇文章,说明为什么一个比另一个好。

2 个答案:

答案 0 :(得分:1)

TheSavo

这是一个非常敏感的话题。 :)你会在这个问题上找到复杂的感受。

首先,您可以参考这篇旧文章(去年更新

http://msdn.microsoft.com/en-us/library/ms810810.aspx

在底部,它表明DAO正式过时,并暗示永远不会有64位版本。在此日期之后我没有看到任何其他文章证实了DAO的命运。

大多数程序员在开始时,他们从DAO开始,然后逐渐转向ADO。至少这是我在回答问题时在不同论坛中看到的。由于一个原因,DAO在一个时间点被避开了。担心它会过时并最终被ADO取代。但是当使用Access 2007更新DAO库时,重点转向DAO。但是为时已晚。大多数经验丰富的开发人员已经熟悉ADO。即使在今天,大多数人在论坛上回答问题时仍使用ADO提供代码。我并不怪他们,因为他们已经使用ADO很长一段时间了。恕我直言,DAO应该在不久的将来在ADO之前的某个时刻无法使用。

我记得前一段时间讨论过与SO成员之间类似的问题,关于是否使用ADO或DAO。 我甚至用7种不同的MVP讨论了这个问题,如果你是MVP和vbforums.com的成员,那么你可以访问这个帖子 http://www.vbforums.com/group.php?do=discuss&discussionid=50&pp=10 来查看讨论 。直到DAO工作或包含在MS Access中,你一定可以使用它。 :)然而上述讨论中的共识并非使用DAO。

如果您仍想使用DAO 然后,请继续阅读:)

截至目前,两者都有其优点和缺点。我建议您查看MSDN中的旧链接,这样可以让您对差异有所了解。

主题:选择ADO或DAO以使用Access数据库

链接http://msdn.microsoft.com/en-us/library/aa164825%28v=office.10%29.aspx

HTH

西特

答案 1 :(得分:1)

正如大家都指出的那样,关于这个问题有各种各样的意见,微软自己的文档翻转技术并没有帮助。

然而,如果你刚刚开始,那就让自己轻松一点,只需使用DAO:它是Access的原生技术,它运行良好,快速,简单,并且开箱即用,无需摆弄引用(它甚至适用于64位访问,not that you would want to use that though)。

使用ADO,您需要在代码中手动管理连接字符串,它的行为有时与DAO略有不同,这只会增加混乱。

我将毫不含糊地说,在学习成为更好的Access开发人员的环境中,您可以放心地忽略ADO:您可能永远不会错过它。
我还没有找到我绝对需要在我自己的代码中使用它的地方,而且我已经在Access中开发了相当大的应用程序(50,000多行VBA)几年。

您参考的MSDN页面没有谈到Access下的开发,它讨论了Windows下大多数程序员可以使用的数据访问技术。
确实,您不会在其他编程平台上使用DAO,例如在使用C ++或.Net构建应用程序时(尽管DAO blows ADO.Net in terms of raw speed

MDAC不再支持Jet也是如此,但这是因为:1)默认情况下,Jet集成在所有版本的Windows中; 2)ACE是一个新的驱动程序,取代了Access2007 / 2010中的Jet并添加了新的功能仍然与Jet兼容。

在Access本身,DAO仍然是从代码操作数据库的默认和最集成的方式,直到Microsoft实际用Access中的其他东西取代DAO,你不必担心,它不像你的应用会突然停止工作。

入门

我真的建议你买一本好书,比如:

当然,您不需要阅读这些内容,但它们几乎包含您需要的所有内容,包括每个章节的数据库样本,您可以通过浏览本书并获得更多内容来慢慢改进和发现功能根据自己的进度深入了解。