IDataAdapter.Fill(DataSet) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Parametry
Zwraca
Liczba wierszy pomyślnie dodanych do lub odświeżonych w pliku DataSet. Nie obejmuje to wierszy, których dotyczą instrukcje, które nie zwracają wierszy.
Uwagi
Fill pobiera wiersze ze źródła danych przy użyciu instrukcji SELECT określonej przez skojarzą SelectCommand właściwość. Obiekt połączenia skojarzony z instrukcją SELECT musi być prawidłowy, ale nie musi być otwarty. Jeśli połączenie zostanie zamknięte przed Fill wywołaniem, zostanie otwarte w celu pobrania danych, a następnie zamknięte. Jeśli połączenie jest otwarte przed Fill wywołaniem, pozostaje otwarte.
Następnie Fill operacja dodaje wiersze do obiektów docelowych DataTable w DataSetobiekcie , tworząc DataTable obiekty, jeśli jeszcze nie istnieją. Podczas tworzenia DataTable obiektów Fill operacja zwykle tworzy tylko metadane nazwy kolumny. Jeśli jednak właściwość jest ustawiona MissingSchemaAction na AddWithKey, tworzone są również odpowiednie klucze podstawowe i ograniczenia.
Jeśli instrukcja SelectCommand zwraca wyniki sprzężenia zewnętrznego, parametr DataAdapter nie ustawia wartości PrimaryKey dla wynikowego DataTable. Należy jawnie zdefiniować klucz podstawowy, aby upewnić się, że zduplikowane wiersze są prawidłowo rozpoznawane. Aby uzyskać więcej informacji, zobacz Definiowanie kluczy podstawowych.
Jeśli napotka IDataAdapter zduplikowane kolumny podczas wypełniania DataTableelementu , generuje nazwy kolejnych kolumn przy użyciu wzorca "nazwa_kolumny1", "nazwa_kolumny2", "nazwa_kolumny3" itd. Jeśli dane przychodzące zawierają nienazwane kolumny, są one umieszczane zgodnie DataSet ze wzorcem "Column1", "Column2" itd. Po dodaniu wielu zestawów wyników do DataSetzestawu wyników każdy zestaw wyników jest umieszczany w oddzielnej tabeli. Dodatkowe zestawy wyników są nazwane przez dołączenie wartości całkowitych do określonej nazwy tabeli (na przykład "Tabela", "Tabela1", "Tabela2" itd.). Aplikacje powinny zachować ostrożność podczas używania nazw kolumn i tabel, aby upewnić się, że nie występują konflikty z tymi wzorcami nazewnictwa.
Gdy instrukcja SELECT używana do wypełniania DataSet zwraca wiele wyników, takich jak instrukcja batch SQL, jeśli jeden z wyników zawiera błąd, wszystkie kolejne wyniki zostaną pominięte i nie zostaną dodane do .DataSet
Można użyć Fill metody wiele razy w tym samym DataTableobiekcie . Jeśli klucz podstawowy istnieje, wiersze przychodzące są scalane z pasującymi wierszami, które już istnieją. Jeśli żaden klucz podstawowy nie istnieje, wiersze przychodzące są dołączane do elementu DataTable.
Uwaga / Notatka
W przypadku obsługi instrukcji wsadowych SQL, które zwracają wiele wyników, implementacja Fill i FillSchema dla dostawcy danych programu .NET Framework pobiera informacje o schemacie tylko dla pierwszego wyniku.