|
8.4 DataAdapter類
要在DataSet中提取記錄并將它們填入表中,需要使用另一個(gè)ADO.NET對(duì)象DataAdapter。它是提供程序相關(guān)的對(duì)象,因此每一個(gè)提供程序都有一個(gè)DataAdapter類(如SqlDataAdapter、OracleDataAdapter等)。
DataAdapter是DataSet中的表和數(shù)據(jù)源間的橋梁。它含有查詢和更新數(shù)據(jù)源所需的全部命令。
為了讓DataAdapter能夠編輯、刪除或添加行,需要設(shè)定DataAdapter對(duì)象的InsertCommand、UpdateCommand和DeleteCommand屬性。利用DataAdapter填充DataSet,必須設(shè)定SelectCommand。
如表8-2所示,DataAdapter提供了3個(gè)主要的方法。
表8-2 DataAdapter方法
|
方法 |
描述 |
|
Fill() |
執(zhí)行SelectCommand中的查詢后向DataSet添加一個(gè)DataTable。如果查詢返回多個(gè)結(jié)果集,該方法將依次添加多個(gè)DataTable對(duì)象。還可以用該方法向現(xiàn)有的DataTable添加數(shù)據(jù) |
|
FillSchema() |
執(zhí)行SelectCommand中的查詢,但只獲取架構(gòu)信息,它向DataSet中添加一個(gè)DataTable。該方法并不往DataTable中添加任何數(shù)據(jù)。相反,它只利用列名、數(shù)據(jù)類型、主鍵和唯一約束等信息預(yù)配置DataTable |
|
Update() |
檢查DataTable中的所有變化并執(zhí)行適當(dāng)?shù)?/SPAN> InsertCommand、UpdateCommand和DeleteCommand操作為數(shù)據(jù)源執(zhí)行批量更新 |
圖8-4顯示了DataAdapter及其Command對(duì)象是如何一起和數(shù)據(jù)源及DataSet一起工作的。
 |
| 圖8-4 DataAdapter如何和數(shù)據(jù)源交互 |
【
|