Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The DbProviderFactory lets you create provider-agnostic data adapters to work with data from any data source.
Fill a DataGrid by Using a DbDataAdapter
The CreateDataAdapter method of a DbProviderFactory object gives you a DbDataAdapter object that is strongly-typed to the underlying provider specified at the time you create the factory. The following code fragment creates a DbDataAdapter and fills a DataGrid control on an ASP.NET page. Although this example could easily have been written using strongly-typed objects directly, it demonstrates how you can use the data factory to retrieve the strongly-typed objects based on a provider name specified at runtime.
DbProviderFactory dataFactory =
DbProviderFactories.GetFactory("System.Data.SqlClient");
DbDataAdapter da = dataFactory.CreateDataAdapter();
da.SelectCommand = conn.CreateCommand();
da.SelectCommand.CommandText =
"SELECT SalesOrderID, OrderDate FROM SalesOrderHeader"
+ " WHERE CustomerID=" + CustID.ToString();
// Fill the DataTable and bind the DataGrid
DataTable dt = new DataTable();
da.Fill(dt);
gridOrders.DataSource = dt;
gridOrders.DataBind();
Dim dataFactory As DbProviderFactory = _
DbProviderFactories.GetFactory("System.Data.SqlClient")
Dim da As DbDataAdapter = dataFactory.CreateDataAdapter()
da.SelectCommand = conn.CreateCommand()
da.SelectCommand.CommandText = _
"SELECT SalesOrderID, OrderDate FROM Sales.SalesOrderHeader" & _
" WHERE CustomerID=" + CustID.ToString()
' Fill the DataTable and bind the DataGrid
Dim dt As New DataTable()
da.Fill(dt)
gridOrders.DataSource = dt
gridOrders.DataBind()
See Also
Concepts
Working with Factories
Provider Independent Model Overview
Obtaining the DbProviderFactory
Creating Commands and Retrieving Data