By the late 1980s, several vendors (including IBM and Microsoft) realized that it would be a good idea to offer programmers a standardized database interface. By factoring a standard interface from the mire of proprietary APIs used by the database system, these vendors created an environment in which programmers only had to learn one API. This standard API is known as ODBC (Open Database Connectivity).
OLE DB (Object Linking and Embedding for Databases) is a COM (Component Object Model)-based version of ODBC. OLE DB offers much better performance than ODBC.
Both ODBC and OLE DB are layers that exist between application code and the database. As such, they are not as fast as interfacing with the database system directly. The developers of ADO.NET created a namespace that works with Microsoft SQL Server (versions 7.0 and 2000) using its native APIs. Because the code connects directly to SQL Server and is managed by the framework, it's known as a managed provider.
Regardless of which method is used to connect to the database, ADO.NET provides a single interface for retrieving data. You don't need to worry about the underlying connection method.