HOW TO:以資料填入資料集
將資料填入資料集,是指將資料載入組成資料集的個別 DataTable 物件當中。 您可以執行 TableAdapter 查詢或資料配接器 (例如 SqlDataAdapter) 命令,來填入資料表。
是否要使用 TableAdapter 或資料配接器,取決於先前建立資料集的方式。 如果使用 Visual Studio 中的設計工具 (例如資料來源組態精靈),資料集則會包含 TableAdapter。 如需 TableAdapter 的詳細資訊,請參閱 TableAdapter 概觀。 如果是以程式設計方式建立資料集,通常您必須建立資料配接器,以將資料載入資料表。
注意事項 |
---|
從資料來源視窗將項目拖曳至表單時,將資料填入資料表的程式碼會自動加入至 Form_Load 事件處理常式。 在程式碼編輯器中開啟表單,以查看填入特定資料表的確切語法。 如果載入表單時不想要填入資料表,您可以將這個程式碼移至其他方法,或完全移除它。 |
使用 TableAdapter 填入資料集
您可以在 TableAdapter 上呼叫查詢,以將資料載入至資料集的資料表內。 將要填入的 DataTable 傳遞至 TableAdapter 查詢。 如果查詢接受參數,也要將這些參數傳遞給方法。 如果資料集包含多個資料表,則每個資料表應該有個別的 TableAdapter,而且必須個別填入每個資料表。
注意事項 |
---|
每次執行 TableAdapter 查詢時,預設會先清除資料表中的資料,然後才將查詢結果載入至資料表。 您可以將 TableAdapter 的 ClearBeforeFill 屬性設為 false,藉以保留資料表中的現有資料,並且附加結果。 |
若要使用 TableAdapter 將資料填入資料集
在 [程式碼編輯器] 中開啟表單或元件。
在想要將資料載入資料表的應用程式位置上,加入程式碼。 如果查詢不使用參數,則傳入要填入的 DataTable。 程式碼看起來應類似下列所示:
Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet.Customers)
this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
如果查詢使用參數,則傳入要填入的 DataTable,以及查詢所需要的參數。 視查詢的實際參數而定,程式碼看起來應類似下列範例所示:
CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle") CustomersTableAdapter.FillByCityAndState(NorthwindDataSet.Customers, "Seattle", "WA")
customersTableAdapter.FillByCity(northwindDataSet.Customers, "Seattle"); customersTableAdapter.FillByCityAndState(northwindDataSet.Customers, "Seattle", "WA");
使用 DataAdapter 填入資料集
您要呼叫資料配接器的 Fill 方法。 這會讓配接器執行在 SelectCommand 屬性中所參考的 SQL 陳述式或預存程序,並將結果放入資料集中的資料表。 如果資料集包含多個資料表,每個資料表應該有個別的資料配接器,因此必須分別填入每個資料表。
若要使用 DataAdapter 將資料填入資料集
呼叫 DataAdapter 的 Fill 方法,並傳入要載入資料的 DataSet 或 DataTable。 例如:
sqlDataAdapter1.Fill(dataset1.Tables("Customers"))
sqlDataAdapter1.Fill(dataset1.Tables["Customers"]);
您通常應該提供要載入資料的 DataTable 名稱。 如果您傳入 DataSet 的名稱,而不是特定資料表,則名為 Table1 的 DataTable 會加入至資料集,並載入來自資料庫的結果 (而不是載入資料集中現有的 DataTable 資料)。 如需詳細資訊,請參閱從 DataAdapter 填入 DataSet (ADO.NET)。