IDataAdapter.Fill(DataSet) 方法

定義

使用 DataSet 名稱,加入或更新 DataSet 中的資料列,以符合那些在資料來源中的資料列,並建立命名為 "Table" 的 DataTable

public:
 int Fill(System::Data::DataSet ^ dataSet);
public int Fill (System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
Public Function Fill (dataSet As DataSet) As Integer

參數

dataSet
DataSet

要填入資料錄和結構描述 (如果必要的話) 的 DataSet

傳回

成功加入至 DataSet 或在其中重新整理的資料列數目。 這不包含被不傳回資料列之陳述式所影響的資料列。

備註

Fill 使用相關聯 SelectCommand 屬性所指定的 SELECT 語句,從數據源擷取數據列。 與 SELECT 語句相關聯的連接對象必須有效,但不需要開啟。 如果在呼叫之前 Fill 關閉連線,則會開啟以擷取數據,然後關閉。 如果在呼叫之前 Fill 開啟連線,它會保持開啟狀態。

然後,作業Fill會將數據列新增至 中的DataSet目的地DataTable物件,如果物件不存在,則會DataTable建立物件。 建立 DataTable 物件時, Fill 作業通常只會建立數據行名稱元數據。 不過,如果 MissingSchemaAction 屬性設定為 AddWithKey,也會建立適當的主鍵和條件約束。

如果 SelectCommand 傳回 OUTER JOIN 的結果,則 DataAdapter 便不會為產生的 PrimaryKey 設定 DataTable值。 您必須明確定義主鍵,以確保已正確解析重複的數據列。 如需詳細資訊,請參閱定義主索引鍵

IDataAdapter如果在填入 DataTable時遇到重複的數據行,則會使用模式 「columnname1」、“columnname2”、“columnname3” 等,產生後續數據行的名稱。 如果傳入數據包含未命名的數據行,則會根據模式 「Column1」、“Column2” 等,將它們放入 DataSet 中。 將多個結果集新增至 DataSet時,每個結果集都會放在個別的數據表中。 將整數值附加至指定的數據表名稱 (,以命名其他結果集,例如 “Table”、“Table1”、“Table2” 等) 。 使用數據行和數據表名稱時,應用程式應該小心,以確保不會發生與這些命名模式的衝突。

當用來填 DataSet 入 的 SELECT 語句傳回多個結果時,例如批次 SQL 語句,如果其中一個結果包含錯誤,則會略過所有後續的結果,而不會加入至 DataSet

您可以在相同的 DataTable上多次使用 Fill 方法。 如果主鍵存在,傳入的數據列會與已經存在的相符數據列合併。 如果沒有主鍵存在,傳入的數據列會附加至 DataTable

注意

處理傳回多個結果的批次 SQL 語句時,.NET Framework 數據提供者的 FillFillSchema作 只會擷取第一個結果的架構資訊。

適用於

另請參閱