Using OLE DB Managed Providers
There are two managed providers currently available with ADO.NET: the SQL Server Managed Provider and OLE DB Managed Provider. The previous example used the SQL Server Managed Provider, which is optimized for SQL Server and is restricted to working with SQL Server databases. The more general solution is the OLE DB Managed Provider, which will connect to any OLE DB provider, including Access.
You can rewrite Example 14-1 to work with the Northwind database using Access rather than SQL Server with just a few small changes. First, you need to change the connection string:
string connectionString =
"provider=Microsoft.JET.OLEDB.4.0; "
+ "data source = c:\\nwind.mdb";This query connects to the Northwind database on the C drive. (Your exact path might be different.)
Next, change the DataAdapter object to an
OLEDBDataAdapter rather than a
SqlDataAdapter:
OleDbDataAdapter DataAdapter =
new OleDbDataAdapter (commandString, connectionString);Also be sure to add a using statement for the
OleDb namespace:
using System.Data.OleDb;
This design pattern continues throughout the two Managed Providers; for every object whose class name begins with “Sql,” there is a corresponding class beginning with “OleDb.” Example 14-2 illustrates the complete OLE DB version of Example 14-1.
Example 14-2. Using the ADO Managed Provider
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb; ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access