![](https://csdnimg.cn/release/download_crawler_static/86620591/bg1.jpg)
使用 ADO.NET 解锁 Microsoft Access 数据
Paul Cornell
Microsoft Corporation
2001 年 12 月 6 日
Microsoft® Office 提供了多种存储和管理数据的功能和工具,例如,数据访问对象 (DAO)、ActiveX® 数据
对象 (ADO)、Microsoft Word 邮件合并、Microsoft Excel Web 查询、Microsoft Query、数据访问页、
Microsoft Access 数据项目、Office 数据连接、Office 数据链接等等。而 Microsoft .NET 平台则提供了其他
的数据访问功能和工具,例如,ADO.NET、.NET 数据连接和数据库项目。
在本月的专栏中,我将介绍如何使用 Microsoft Visual Studio® .NET、Microsoft Visual Basic® .NET,特
别是如何使用 ADO.NET 来解锁和管理 Microsoft Access 数据。
确定何时最适合使用 ADO.NET
既然 Office 已经提供了一系列数据访问功能和工具,为什么不利用 Office 来管理它自己的数据呢?当然,在许
多情况下,您可能希望使用适合某个特定数据任务的内置 Office 功能和工具。然而,ADO.NET 提供了一种添
加数据连接和编写数据解决方案代码的统一方法,这种方法不同于 Office 中的多个数据入口点和数据访问库。
如果您愿意,仍然可以在 Visual Studio .NET 和 Visual Basic .NET 中调用 ADO 功能。但鉴于以下原因,
与 ADO 相比,ADO.NET 在许多方面都是更好的数据访问解决方案。
� ADO.NET 允许在数据集中包含多个表,包括这些表之间的关系。ADO 只允许包含一个结果表(虽然
此单个结果表可能是多个相关表上所执行的 JOIN 操作的结果)。
� ADO.NET 提供断开连接的数据访问。ADO 也可以提供断开连接的数据访问,但 ADO 主要是为连接
的数据访问而设计的。
� ADO.NET 提供了一个记录导航范例,允许进行无序的数据访问(与有序的 ADO Move 方法不同),
并可以利用数据表之间的关系访问各个数据表。
� 因为 ADO.NET 使用 XML 传送数据,所以能够提供比 ADO 更丰富的数据类型,获得更好的数据访
问性能,还可以使数据穿过防火墙传递。
� ADO.NET 经过了高度优化,以配合 Microsoft SQL Server 7.0 和 Microsoft SQL Server 2000
数据库的使用(反映在 ADO.NET Sql 对象中),同时提供对其他 OLE DB 数据源(如 Microsoft
Access 数据库)的编程访问(反映在 ADO.NET OleDb 对象中)。
当然,如果希望利用 .NET 中的诸多新功能,就应该使用 .NET 数据访问功能和工具。有关 .NET 平台的详细
信息,请参阅以前的专栏 Introducing .NET to Office Developers(英文)。
ADO.NET 入门
图 1 显示了使用 ADO.NET 时要用到的主要对象。