建立ADO.NET模型問題
ADO.NET模型對于各種數據提供者的DataAdapter,具體的實現檢索數據庫中的數據并填充DataSet的實現方法類似于以上方法。上面就進行ADO.NET模型的解釋說明。。。。。
DataRelationCollection對象就是管理DataSet中所有ADO.NET模型之間的DataRelation關系的。在DataSet中DataSet、DataTable和DataColumn都具有ExtendedProperties屬性。ExtendedProperties其實是一個屬性集(PropertyCollection),用以存放各種自定義數據,如生成數據集的SELECT語句等。
使用DataSet:
DataSet其實就是數據集,上文已經說過DataSet是把數據庫中的數據映射到內存緩存中的所構成的數據容器,對于任何數據源,它都提供一致的關系編程模型。在DataSet中既定義了數據表的約束關系以及數據表之間的關系,還可以對數據表中的數據進行排序等。ADO.NET模型使用方法一般有三種:
1. 把數據庫中的數據通過DataAdapter對象填充DataSet。
2. 通過DataAdapter對象操作DataSet實現更新數據庫。
3. 把XML數據流或文本加載到DataSet。
下面就來詳細探討以上DataSet使用方法的具體實現,使用語言是C#。
把數據庫中的數據通過DataAdapter對象填充DataSet:
掌握DataSet使用方法必須掌握ADO.NET模型另外一個核心常用成員--數據提供者(Data Provider)。數據提供者(也稱為托管提供者Managed Provider)是一個類集合,在.Net FrameWork SDK 1.0中數據提供者分為二種:
The SQL Server .NET Data Provider和The OLE DB .NET Data Provider。而到了ADO.NET模型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提供程序。#t#
在這些數據提供者中都有一個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方法把檢索來的數據填充 ADO.NET模型。代碼清單01就是以Microsoft SQL Server 中的Northwind數據庫為對象,C#使用The SQL Server .NET Data Provider中的SqlDataAdapter填充DataSet的具體實現方法: