Udostępnij za pośrednictwem


IDataAdapter.Fill(DataSet) Metoda

Definicja

Dodaje lub aktualizuje wiersze w DataSet obiekcie , aby pasować do tych w źródle danych przy użyciu DataSet nazwy i tworzy DataTable nazwę "Tabela".

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

dataSet
DataSet

Element DataSet do wypełnienia rekordami i, w razie potrzeby, schemat.

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.

Dotyczy

Zobacz też