This documentation is archived and is not being maintained.

Overview of ADO.NET 

ADO.NET provides consistent access to data sources such as Microsoft SQL Server and XML, as well as to data sources exposed through OLE DB and ODBC. Data-sharing consumer applications can use ADO.NET to connect to these data sources and retrieve, manipulate, and update the data that they contain.

ADO.NET separates data access from data manipulation into discrete components that can be used separately or in tandem. ADO.NET includes .NET Framework data providers for connecting to a database, executing commands, and retrieving results. Those results are either processed directly, placed in an ADO.NET DataSet object in order to be exposed to the user in an ad hoc manner, combined with data from multiple sources, or remoted between tiers. The ADO.NET DataSet object can also be used independently of a .NET Framework data provider to manage data local to the application or sourced from XML.

The ADO.NET classes are found in System.Data.dll, and are integrated with the XML classes found in System.Xml.dll. When compiling code that uses the System.Data namespace, reference both System.Data.dll and System.Xml.dll. For an example of an ADO.NET application that connects to a database, retrieves data from it, and then displays that data in a command prompt, see ADO.NET Sample Application.

ADO.NET provides functionality to developers writing managed code similar to the functionality provided to native component object model (COM) developers by ActiveX Data Objects (ADO). For a discussion of the differences between ADO and ADO.NET, see ADO.NET for the ADO Programmer on MSDN. We recommend that you use ADO.NET, not ADO for accessing data in your .NET applications.

In This Section

Design Goals for ADO.NET

Discusses the motivation and design goals behind creating ADO.NET.

ADO.NET Architecture

Provides an overview of the architecture and components of ADO.NET.

.NET Framework Data Providers

Provides an overview of the design of the .NET Framework data provider and of the .NET Framework data providers that are included with ADO.NET.


Provides an overview of the DataSet design and components.

Side-by-Side Execution and ADO.NET

Discusses differences in ADO.NET versions and their affect on side-by-side execution and application compatibility.

ADO.NET Sample Application

Provides an example of an ADO.NET application that retrieves data from a database and returns it to the console.

Related Sections

What's New in ADO.NET

Introduces features that are new in ADO.NET.

Securing ADO.NET Applications

Describes secure coding practices when using ADO.NET.

Using DataSets in ADO.NET

Describes how to create and use DataSets, typed DataSets, DataTables, and DataViews.

Connecting and Retrieving Data in ADO.NET

Describes how to connect to a data source and retrieve data, including DataReaders and DataAdapters.

Modifying Data in ADO.NET

Describes how to modify data in a database and how to use transactions.

Using the .NET Framework Data Provider for SQL Server

Describes how to work with features and functionality that are specific to SQL Server.

Using the .NET Framework Data Provider for Oracle

Describes features and behaviors that are specific to the .NET Framework Data Provider for Oracle.

Using SQL Server Common Language Runtime Integration

Describes how data can be accessed from within a common language runtime (CLR) database object in SQL Server 2005.

Writing Provider-Independent Code in ADO.NET

Describes generic classes that allow you to write provider-independent code in ADO.NET.

Performing General Tasks in ADO.NET

Describes how to use various general-purpose features of ADO.NET.

Finding Additional ADO.NET Information

Provides links to additional online information about ADO.NET.

See Also

Other Resources