把握DataSet使用方法必須把握ADO.NET另外一個核心常用成員--數據提供者(Data Provider)。數據提供者(也稱為托管提供者Managed Provider)是一個類集合,在.Net FrameWork SDK 1.0中數據提供者分為二種:The SQL Server .NET Data Provider和The OLE DB .NET Data Provider。而到了.Net FrameWork SDK 1.1時,ADO.NET中又增加了The ODBC .NET Data Provider和 The Oracle .NET Data Provider二個數據提供者。The SQL Server .NET Data Provider的操作數據庫對象只限于Sql Server 7.0及以上版本,Oracle .NET Data Provider的操作數據庫對象只限于Oracle 8.1.7及以上版本。而The OLE DB .NET Data Provider和The ODBC .NET Data Provider可操作的數據庫類型就相對多了許多,只要它們在本地分別提供Ole Db提供程序和ODBC提供程序。
在這些數據提供者中都有一個DataAdapter類,如:OLE DB .NET Framework 數據提供者中是 OleDbDataAdapter類,The SQL Server .NET Framework 數據提供者中是SqlDataAdapter類,The ODBC .NET Framework 數據提供者中是OdbcDataAdapter類。通過這些DataAdapter就能夠實現從數據庫中檢索數據并填充 DataSet 中的表。
DataAdapter填充DataSet的過程分為二步:首先通過DataAdapter的SelectCommand屬性從數據庫中檢索出需要的數據。SelectCommand其實是一個Command對象。然后再通過DataAdapter的Fill方法把檢索來的數據填充 DataSet。代碼清單01就是以Microsoft SQL Server 中的Northwind數據庫為對象,C#使用The SQL Server .NET Data Provider中的SqlDataAdapter填充DataSet的具體實現方法: