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, które zostały pomyślnie dodane lub odświeżone w obiekcie 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 skojarzona 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 obiekcie DataSet, 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 funkcja SelectCommand
zwraca wyniki zewnętrznego sprzężenia, DataAdapter
wartość nie ustawia PrimaryKey wartości wynikowej DataTable. Należy jawnie zdefiniować klucz podstawowy, aby upewnić się, że zduplikowane wiersze są poprawnie 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 "columnname1", "columnname2", "columnname3" 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 zostanie umieszczony w oddzielnej tabeli. Dodatkowe zestawy wyników są nazywane dołączaniem wartości całkowitych do określonej nazwy tabeli (na przykład "Tabela", "Table1", "Table2" 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 DataSetobiektu .
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 klucz podstawowy nie istnieje, wiersze przychodzące są dołączane do elementu DataTable.
Uwaga
Podczas obsługi instrukcji sql wsadowych, które zwracają wiele wyników, implementacja Fill i FillSchema dla dostawcy danych .NET Framework pobiera informacje o schemacie tylko dla pierwszego wyniku.