DbDataAdapter.Fill 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.
Przeciążenia
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior) |
Dodaje lub odświeża wiersze w określonym zakresie w DataSet obiekcie , aby były zgodne z tymi w źródle danych przy użyciu DataSet nazw tabel źródłowych i źródłowych, ciągów poleceń i zachowania polecenia. |
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior) |
Dodaje lub odświeża wiersze w określonym zakresie w DataSet obiekcie w celu dopasowania ich do tych w źródle danych przy użyciu DataSet nazw i DataTable . |
Fill(DataSet, String, IDataReader, Int32, Int32) |
Dodaje lub odświeża wiersze w określonym zakresie w DataSet obiekcie w celu dopasowania ich do tych w źródle danych przy użyciu DataSetnazw , DataTablei IDataReader . |
Fill(DataSet, Int32, Int32, String) |
Dodaje lub odświeża wiersze w określonym zakresie w DataSet obiekcie w celu dopasowania ich do tych w źródle danych przy użyciu DataSet nazw i DataTable . |
Fill(Int32, Int32, DataTable[]) |
Dodaje lub odświeża wiersze w co najmniej jednym DataTable obiekcie w celu dopasowania ich do tych w źródle danych, począwszy od określonego rekordu i pobierania do określonej maksymalnej liczby rekordów. |
Fill(DataTable) |
Dodaje lub odświeża wiersze w określonym zakresie w DataSet obiekcie w celu dopasowania ich do wierszy w źródle danych przy użyciu DataTable nazwy . |
Fill(DataTable, IDataReader) |
Dodaje lub odświeża wiersze w obiekcie DataTable w celu dopasowania ich do tych w źródle danych przy użyciu określonych DataTable nazw i IDataReader . |
Fill(DataSet, String) |
Dodaje lub odświeża wiersze w DataSet obiekcie w celu dopasowania ich do tych w źródle danych przy użyciu DataSet nazw i DataTable . |
Fill(DataSet) |
Dodaje lub odświeża wiersze w obiekcie DataSet. |
Fill(DataTable, IDbCommand, CommandBehavior) |
Dodaje lub odświeża wiersze w DataTable obiekcie w celu dopasowania ich do tych w źródle danych przy użyciu określonych DataTableelementów i IDbCommandCommandBehavior. |
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
protected:
virtual int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill (System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataSet * int * int * string * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String, command As IDbCommand, behavior As CommandBehavior) As Integer
Parametry
- startRecord
- Int32
Numer rekordu opartego na zera, od których należy zacząć.
- maxRecords
- Int32
Maksymalna liczba rekordów do pobrania. Określ wartość 0, aby pobrać wszystkie rekordy po rekordzie początkowym.
- srcTable
- String
Nazwa tabeli źródłowej do użycia na potrzeby mapowania tabel.
- command
- IDbCommand
Instrukcja SQL SELECT używana do pobierania wierszy ze źródła danych.
- behavior
- CommandBehavior
CommandBehavior Jedna z wartości.
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.
Wyjątki
Tabela źródłowa jest nieprawidłowa.
Parametr startRecord
jest mniejszy niż 0.
-lub-
Parametr maxRecords
jest mniejszy niż 0.
Uwagi
Wartość maxRecords
0 pobiera wszystkie rekordy znalezione po rekordzie początkowym. Jeśli maxRecords
jest większa niż liczba pozostałych wierszy, zwracane są tylko pozostałe wiersze i nie jest wyświetlany żaden błąd.
Metoda 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 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 napotka DbDataAdapter zduplikowane kolumny podczas wypełniania DataTableelementu , generuje nazwy dla kolejnych kolumn przy użyciu wzorca "nazwakolumny1", "nazwa_kolumny2", "nazwa_kolumny3" itd. Jeśli dane przychodzące zawierają nienazwane kolumny, są one umieszczane w DataSet zależności od wzorca "Column1", "Column2" itd. Gdy do każdego zestawu wyników jest dodawanych wiele zestawów wyników, należy umieścić DataSet 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.). Jeśli aplikacja używa nazw kolumn i tabel, upewnij się, że nie występują konflikty z tymi wzorcami nazewnictwa.
Metoda Fill obsługuje scenariusze, w których DataSet obiekt zawiera wiele DataTable obiektów, których nazwy różnią się tylko wielkością liter. W takich sytuacjach wykonuje porównanie uwzględniające wielkość liter, aby znaleźć odpowiednią tabelę, i tworzy nową tabelę, Fill jeśli nie istnieje dokładne dopasowanie. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jeśli Fill jest wywoływana DataSet i zawiera tylko jedną DataTable , której nazwa różni się tylko wielkością liter, DataTable jest to aktualizowane. W tym scenariuszu porównanie nie uwzględnia wielkości liter. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Możesz użyć Fill metody wiele razy w tym samym DataTableobiekcie . Jeśli klucz podstawowy istnieje, przychodzące wiersze są scalane z pasującymi wierszami, które już istnieją. Jeśli klucz podstawowy nie istnieje, przychodzące wiersze są dołączane do elementu DataTable.
SelectCommand
Jeśli funkcja zwraca wyniki sprzężenia ZEWNĘTRZNEgo, DataAdapter
parametr nie ustawia PrimaryKey wartości wynikowej 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.
Uwaga
W przypadku 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.
Uwagi dotyczące dziedziczenia
To przeciążenie Fill(DataSet) metody jest chronione i jest przeznaczone do użycia przez dostawcę danych .NET Framework.
Zobacz też
Dotyczy
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
protected:
virtual int Fill(cli::array <System::Data::DataTable ^> ^ dataTables, int startRecord, int maxRecords, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill (System.Data.DataTable[] dataTables, int startRecord, int maxRecords, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable[] * int * int * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTables As DataTable(), startRecord As Integer, maxRecords As Integer, command As IDbCommand, behavior As CommandBehavior) As Integer
Parametry
- startRecord
- Int32
Numer rekordu opartego na zera, od których należy zacząć.
- maxRecords
- Int32
Maksymalna liczba rekordów do pobrania. Określ wartość 0, aby pobrać wszystkie rekordy po rekordzie początkowym.
- command
- IDbCommand
Wykonany IDbCommand w celu wypełnienia DataTable obiektów.
- behavior
- CommandBehavior
CommandBehavior Jedna z wartości.
Zwraca
Liczba wierszy dodanych do lub odświeżonych w tabelach danych.
Wyjątki
Element DataSet jest nieprawidłowy.
Nie można odnaleźć połączenia.
Parametr startRecord
jest mniejszy niż 0.
-lub-
Parametr maxRecords
jest mniejszy niż 0.
Uwagi
Wartość maxRecords
0 pobiera wszystkie rekordy znalezione po rekordzie początkowym. Jeśli maxRecords
jest większa niż liczba pozostałych wierszy, zwracane są tylko pozostałe wiersze i nie jest wyświetlany żaden błąd.
Metoda Fill pobiera dane ze źródła danych przy użyciu instrukcji SELECT. Obiekt IDbConnection skojarzony z instrukcją SELECT musi być prawidłowy, ale nie musi być otwarty. Jeśli element IDbConnection jest zamknięty przed Fill wywołaniem, zostanie otwarty w celu pobrania danych, a następnie zamknięty. Jeśli połączenie jest otwarte przed Fill wywołaniem, pozostaje otwarte.
Jeśli polecenie nie zwraca żadnych wierszy, żadne tabele nie są dodawane do DataSetelementu , ale nie jest zgłaszany wyjątek.
DbDataAdapter Jeśli obiekt napotka zduplikowane kolumny podczas wypełniania DataTableelementu , wygeneruje nazwy dla kolejnych kolumn przy użyciu wzorca "nazwakolumny1", "nazwa_kolumny2", "nazwa_kolumny3" itd. Jeśli dane przychodzące zawierają nienazwane kolumny, są one umieszczane w DataSet zależności od wzorca "Column1", "Column2" itd.
Gdy określone zapytanie zwraca wiele 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.). Ponieważ żadna tabela nie jest tworzona dla kwerendy, która nie zwraca wierszy, w przypadku przetwarzania zapytania wstawianego, a następnie zapytania wyboru, tabela utworzona dla kwerendy wybierania będzie miała nazwę "Tabela", ponieważ jest to pierwsza utworzona tabela. Jeśli aplikacja używa nazw kolumn i tabel, upewnij się, że nie występują konflikty z tymi wzorcami nazewnictwa.
Metoda Fill obsługuje scenariusze, w których DataSet obiekt zawiera wiele DataTable obiektów, których nazwy różnią się tylko wielkością liter. W takich sytuacjach wykonuje porównanie uwzględniające wielkość liter, aby znaleźć odpowiednią tabelę, i tworzy nową tabelę, Fill jeśli nie istnieje dokładne dopasowanie. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jeśli Fill jest wywoływana DataSet i zawiera tylko jedną DataTable , której nazwa różni się tylko wielkością liter, DataTable jest to aktualizowane. W tym scenariuszu porównanie jest bez uwzględniania wielkości liter. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Jeśli podczas wypełniania tabel danych wystąpi błąd lub wyjątek, wiersze dodane przed wystąpieniem błędu pozostają w tabelach danych. Pozostała część operacji została przerwana.
Gdy instrukcja SELECT używana do wypełniania DataTable obiektów zwraca wiele wyników, takich jak instrukcja SQL wsadowa, należy pamiętać o następujących kwestiach:
Podczas przetwarzania wielu wyników z instrukcji
maxRecords
batch SQL dotyczy tylko pierwszego wyniku. To samo dotyczy wierszy zawierających wyniki rozdziału (tylko dostawca danych .NET Framework dla OLE DB). Wynik najwyższego poziomu jest ograniczony przezmaxRecords
element , ale wszystkie wiersze podrzędne są dodawane.Jeśli jeden z wyników zawiera błąd, wszystkie kolejne wyniki zostaną pominięte.
Uwaga
Wartość DataSet
nie będzie zawierać więcej niż liczba rekordów wskazanych przez maxRecords
wartość . Jednak cały zestaw wyników wygenerowany przez zapytanie jest nadal zwracany z serwera.
Uwagi dotyczące dziedziczenia
Podczas zastępowania Fill(DataSet) w klasie pochodnej należy wywołać metodę klasy bazowej Fill(DataSet) .
Zobacz też
Dotyczy
Fill(DataSet, String, IDataReader, Int32, Int32)
Dodaje lub odświeża wiersze w określonym zakresie w DataSet celu dopasowania ich do tych w źródle danych przy użyciu nazw DataSet, DataTablei IDataReader .
protected:
virtual int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataSet dataSet, string srcTable, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
override this.Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataSet As DataSet, srcTable As String, dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer
Parametry
- dataReader
- IDataReader
Nazwa elementu IDataReader.
- startRecord
- Int32
Numer rekordu opartego na zerach, który ma zaczynać się od.
- maxRecords
- Int32
Maksymalna liczba rekordów do pobrania. Określ wartość 0, aby pobrać wszystkie rekordy po rekordzie początkowym.
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.
Wyjątki
startRecord
wartość jest mniejsza niż 0.
-lub-
maxRecords
wartość jest mniejsza niż 0.
Uwagi
Wartość maxRecords
0 pobiera wszystkie rekordy znalezione po rekordzie początkowym. Jeśli maxRecords
jest większa niż liczba pozostałych wierszy, zwracane są tylko pozostałe wiersze i nie zostanie wyświetlony żaden błąd.
Dotyczy
Fill(DataSet, Int32, Int32, String)
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable);
public int Fill (System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable);
override this.Fill : System.Data.DataSet * int * int * string -> int
Public Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String) As Integer
Parametry
- startRecord
- Int32
Numer rekordu opartego na zerach, który ma zaczynać się od.
- maxRecords
- Int32
Maksymalna liczba rekordów do pobrania. Określ wartość 0, aby pobrać wszystkie rekordy po rekordzie początkowym.
- srcTable
- String
Nazwa tabeli źródłowej, która ma być używana do mapowania tabel.
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.
Wyjątki
Element DataSet jest nieprawidłowy.
Nie można odnaleźć połączenia.
Parametr startRecord
jest mniejszy niż 0.
-lub-
Parametr maxRecords
jest mniejszy niż 0.
Przykłady
W poniższym przykładzie użyto klasy pochodnej , OleDbDataAdapteraby wypełnić DataSet 15 wierszy, począwszy od wiersza 10, z tabeli Kategorie . W tym przykładzie założono, że utworzono obiekt OleDbDataAdapter i .DataSet
public void GetRecords()
{
// ...
// create dataSet and adapter
// ...
adapter.Fill(dataSet,9,15,"Categories");
}
Public Sub GetRecords()
' ...
' create dataSet and adapter
' ...
adapter.Fill(dataSet, 9, 15, "Categories")
End Sub
Uwagi
Wartość maxRecords
0 pobiera wszystkie rekordy znalezione po rekordzie początkowym. Jeśli maxRecords
jest większa niż liczba pozostałych wierszy, zwracane są tylko pozostałe wiersze i nie zostanie wyświetlony żaden błąd.
Jeśli odpowiednie polecenie select jest instrukcją zwracającą wiele wyników, Fill dotyczy maxRecords
tylko pierwszego wyniku.
Metoda Fill pobiera dane ze źródła danych przy użyciu instrukcji SELECT. IDbConnection Obiekt skojarzony z instrukcją SELECT musi być prawidłowy, ale nie musi być otwarty. Jeśli element IDbConnection zostanie zamknięty przed Fill wywołaniem, zostanie otwarty w celu pobrania danych, a następnie zamknięty. Jeśli połączenie jest otwarte przed Fill wywołaniem, pozostaje otwarte.
Jeśli polecenie nie zwraca żadnych wierszy, żadne tabele nie zostaną dodane do DataSetelementu , ale nie zostanie zgłoszony żaden wyjątek.
DbDataAdapter Jeśli obiekt napotka zduplikowane kolumny podczas wypełniania DataTableelementu , wygeneruje 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 w DataSet zależności od wzorca "Column1", "Column2" i tak dalej.
Gdy określone zapytanie zwraca wiele wyników, każdy zestaw wyników jest umieszczany 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.). Ponieważ żadna tabela nie jest tworzona dla kwerendy, która nie zwraca wierszy, jeśli przetwarzasz zapytanie wstawiania, po którym następuje zapytanie wyboru, tabela utworzona dla wybranego zapytania nosi nazwę "Tabela", ponieważ jest to pierwsza utworzona tabela. Jeśli aplikacja używa nazw kolumn i tabel, upewnij się, że nie występują konflikty z tymi wzorcami nazewnictwa.
Metoda Fill obsługuje scenariusze, w których DataSet zawiera wiele DataTable obiektów, których nazwy różnią się tylko wielkością liter. W takich sytuacjach wykonuje porównanie uwzględniające wielkość liter, aby znaleźć odpowiednią tabelę i tworzy nową tabelę, Fill jeśli nie istnieje dokładne dopasowanie. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jeśli Fill jest wywoływana DataSet i zawiera tylko jeden DataTable , którego nazwa różni się tylko wielkością liter, jest to DataTable aktualizowane. W tym scenariuszu porównanie jest bez uwzględniania wielkości liter. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Jeśli podczas wypełniania tabel danych wystąpi błąd lub wyjątek, wiersze dodane przed wystąpieniem błędu pozostają w tabelach danych. Pozostała część operacji została przerwana.
Gdy instrukcja SELECT użyta do wypełnienia DataSet zwraca wiele wyników, takich jak instrukcje batch SQL, należy pamiętać o następujących kwestiach:
Podczas przetwarzania wielu wyników z instrukcji
maxRecords
batch SQL dotyczy tylko pierwszego wyniku. To samo dotyczy wierszy zawierających wyniki rozdziału (tylko dostawca danych .NET Framework dla OLE DB). Wynik najwyższego poziomu jest ograniczony przezmaxRecords
element , ale wszystkie wiersze podrzędne są dodawane.Jeśli jeden z wyników zawiera błąd, wszystkie kolejne wyniki zostaną pominięte i nie zostaną dodane do elementu DataSet.
W przypadku korzystania z kolejnych Fill wywołań w celu odświeżenia zawartości DataSetelementu należy spełnić dwa warunki:
Instrukcja SQL powinna być zgodna z tym, który początkowo był używany do wypełniania elementu DataSet.
Informacje o kolumnie Klucz muszą być obecne.
Jeśli istnieją podstawowe informacje o kluczu, wszystkie zduplikowane wiersze zostaną uzgodnione i będą wyświetlane tylko raz w DataTable obiekcie odpowiadającym DataSetwartości . Podstawowe informacje o kluczu mogą być ustawiane za pomocą FillSchemametody , określając PrimaryKey właściwość DataTableobiektu lub ustawiając MissingSchemaAction właściwość na AddWithKey
.
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.
Uwaga
Podczas obsługi instrukcji batch SQL, które zwracają wiele wyników, implementacja FillSchema dostawcy danych .NET Framework dla OLE DB pobiera informacje o schemacie tylko dla pierwszego wyniku. Aby pobrać informacje o schemacie dla wielu wyników, użyj Fill polecenia z zestawem MissingSchemaAction .AddWithKey
Uwaga
Wartość DataSet
nie będzie zawierać więcej niż liczba rekordów wskazanych przez maxRecords
wartość . Jednak cały zestaw wyników wygenerowany przez zapytanie jest nadal zwracany z serwera.
Uwagi dotyczące dziedziczenia
Podczas zastępowania Fill(DataSet) w klasie pochodnej należy wywołać metodę klasy bazowej Fill(DataSet) .
Zobacz też
Dotyczy
Fill(Int32, Int32, DataTable[])
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
Dodaje lub odświeża wiersze w co najmniej jednym DataTable obiekcie w celu dopasowania ich do tych w źródle danych, począwszy od określonego rekordu i pobierania do określonej maksymalnej liczby rekordów.
public:
int Fill(int startRecord, int maxRecords, ... cli::array <System::Data::DataTable ^> ^ dataTables);
public int Fill (int startRecord, int maxRecords, params System.Data.DataTable[] dataTables);
override this.Fill : int * int * System.Data.DataTable[] -> int
Public Function Fill (startRecord As Integer, maxRecords As Integer, ParamArray dataTables As DataTable()) As Integer
Parametry
- startRecord
- Int32
Numer rekordu opartego na zerach, który ma zaczynać się od.
- maxRecords
- Int32
Maksymalna liczba rekordów do pobrania. Określ wartość 0, aby pobrać wszystkie rekordy po rekordzie początkowym.
Zwraca
Liczba wierszy pomyślnie dodanych do lub odświeżonych w DataTable obiektach. Ta wartość nie zawiera wierszy, których dotyczą instrukcje, które nie zwracają wierszy.
Wyjątki
dataTables
jest lub jest null
pustą tablicą.
startRecord
wartość jest mniejsza niż 0.
-lub-
maxRecords
wartość jest mniejsza niż 0.
Uwagi
Wartość maxRecords
0 pobiera wszystkie rekordy znalezione po rekordzie początkowym. Jeśli maxRecords
jest większa niż liczba pozostałych wierszy, zwracane są tylko pozostałe wiersze i nie jest wyświetlany żaden błąd.
Metoda 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 zostanie 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.
SelectCommand
Jeśli funkcja zwraca wyniki sprzężenia ZEWNĘTRZNEgo, DataAdapter
parametr nie ustawia PrimaryKey wartości wynikowej 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 karta danych napotka 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 w DataSet zależności od wzorca "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.). Jeśli aplikacja używa nazw kolumn i tabel, upewnij się, że nie występują konflikty z tymi wzorcami nazewnictwa.
Gdy instrukcja SELECT użyta do wypełnienia DataSet zwraca wiele wyników, takich jak instrukcje batch SQL, jeśli jeden z wyników zawiera błąd, wszystkie kolejne wyniki zostaną pominięte i nie zostaną dodane do .DataSet
Możesz użyć Fill metody wiele razy w tym samym DataTableobiekcie . Jeśli klucz podstawowy istnieje, przychodzące wiersze są scalane z pasującymi wierszami, które już istnieją. Jeśli klucz podstawowy nie istnieje, przychodzące wiersze są dołączane do elementu DataTable.
Uwaga
W przypadku obsługi instrukcji sql wsadowych, które zwracają wiele wyników, implementacja FillSchema dostawcy danych .NET Framework dla OLE DB pobiera informacje o schemacie tylko dla pierwszego wyniku. Aby pobrać informacje o schemacie dla wielu wyników, użyj polecenia Fill z zestawem MissingSchemaAction na wartość AddWithKey
.
Zobacz też
Dotyczy
Fill(DataTable)
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataTable ^ dataTable);
public int Fill (System.Data.DataTable dataTable);
override this.Fill : System.Data.DataTable -> int
Public Function Fill (dataTable As DataTable) 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.
Wyjątki
Tabela źródłowa jest nieprawidłowa.
Uwagi
Metoda 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 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 napotka DbDataAdapter zduplikowane kolumny podczas wypełniania DataTableelementu , generuje nazwy dla kolejnych kolumn przy użyciu wzorca "nazwakolumny1", "nazwa_kolumny2", "nazwa_kolumny3" itd. Jeśli dane przychodzące zawierają nienazwane kolumny, są one umieszczane w DataSet zależności od wzorca "Column1", "Column2" itd. Gdy do każdego zestawu wyników jest dodawanych wiele zestawów wyników, należy umieścić DataSet w oddzielnej tabeli.
Przeciążenie elementu Fill , które przyjmuje DataTable
jako parametr, uzyskuje tylko pierwszy wynik. Użyj przeciążenia Fill , które przyjmuje DataSet
jako parametr, aby uzyskać wiele wyników.
Metoda Fill obsługuje scenariusze, w których DataSet obiekt zawiera wiele DataTable obiektów, których nazwy różnią się tylko wielkością liter. W takich sytuacjach wykonuje porównanie uwzględniające wielkość liter, aby znaleźć odpowiednią tabelę, i tworzy nową tabelę, Fill jeśli nie istnieje dokładne dopasowanie. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jeśli Fill jest wywoływana DataSet i zawiera tylko jedną DataTable , której nazwa różni się tylko wielkością liter, DataTable jest to aktualizowane. W tym scenariuszu porównanie nie uwzględnia wielkości liter. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Możesz użyć Fill metody wiele razy w tym samym DataTableobiekcie . Jeśli klucz podstawowy istnieje, przychodzące wiersze są scalane z pasującymi wierszami, które już istnieją. Jeśli klucz podstawowy nie istnieje, przychodzące wiersze są dołączane do elementu DataTable.
SelectCommand
Jeśli funkcja zwraca wyniki sprzężenia ZEWNĘTRZNEgo, DataAdapter
parametr nie ustawia PrimaryKey wartości wynikowej 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.
Uwaga
W przypadku 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.
Uwagi dotyczące dziedziczenia
To przeciążenie Fill(DataSet) metody jest chronione i jest przeznaczone do użycia przez dostawcę danych .NET Framework.
Zobacz też
Dotyczy
Fill(DataTable, IDataReader)
Dodaje lub odświeża wiersze w obiekcie DataTable w celu dopasowania ich do tych w źródle danych przy użyciu określonych DataTable nazw i IDataReader .
protected:
virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDataReader ^ dataReader);
protected virtual int Fill (System.Data.DataTable dataTable, System.Data.IDataReader dataReader);
override this.Fill : System.Data.DataTable * System.Data.IDataReader -> int
Protected Overridable Function Fill (dataTable As DataTable, dataReader As IDataReader) As Integer
Parametry
- dataReader
- IDataReader
Nazwa elementu IDataReader.
Zwraca
Liczba wierszy pomyślnie dodanych do lub odświeżonych w pliku DataTable. Nie obejmuje to wierszy, których dotyczą instrukcje, które nie zwracają wierszy.
Dotyczy
Fill(DataSet, String)
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable);
public int Fill (System.Data.DataSet dataSet, string srcTable);
override this.Fill : System.Data.DataSet * string -> int
Public Function Fill (dataSet As DataSet, srcTable As String) As Integer
Parametry
- srcTable
- String
Nazwa tabeli źródłowej do użycia na potrzeby mapowania tabel.
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.
Wyjątki
Tabela źródłowa jest nieprawidłowa.
Przykłady
W poniższym przykładzie użyto klasy pochodnej , OleDbDataAdapteraby wypełnić wiersze DataSet z tabeli kategorii. W tym przykładzie założono, że utworzono obiekt OleDbDataAdapter i DataSet.
public void GetRecords()
{
// ...
// create dataSet and adapter
// ...
adapter.Fill(dataSet, "Categories");
}
Public Sub GetRecords()
' ...
' create dataSet and adapter
' ...
adapter.Fill(dataSet, "Categories")
End Sub
Uwagi
Metoda Fill pobiera dane ze źródła danych przy użyciu instrukcji SELECT. Obiekt IDbConnection skojarzony z poleceniem select musi być prawidłowy, ale nie musi być otwarty. Jeśli element IDbConnection jest zamknięty przed Fill wywołaniem, zostanie otwarty w celu pobrania danych, a następnie zamknięty. Jeśli połączenie jest otwarte przed Fill wywołaniem, pozostaje otwarte.
Jeśli polecenie nie zwraca żadnych wierszy, żadne tabele nie są dodawane do DataSetelementu i nie są zgłaszane żadne wyjątki.
DbDataAdapter Jeśli obiekt napotka zduplikowane kolumny podczas wypełniania DataTableelementu , wygeneruje nazwy dla kolejnych kolumn przy użyciu wzorca "nazwa_kolumny1", "nazwa_kolumny2", "nazwa_kolumny3" itd. Jeśli dane przychodzące zawierają nienazwane kolumny, są one umieszczane w DataSet zależności od wzorca "Column1", "Column2" itd.
Gdy określone zapytanie zwraca wiele 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.). Ponieważ żadna tabela nie jest tworzona dla kwerendy, która nie zwraca wierszy, w przypadku przetwarzania zapytania wstawianego, a następnie zapytania wyboru, tabela utworzona dla kwerendy wybierania będzie miała nazwę "Tabela", ponieważ jest to pierwsza utworzona tabela. Jeśli aplikacja używa nazw kolumn i tabel, upewnij się, że nie występują konflikty z tymi wzorcami nazewnictwa.
Metoda Fill obsługuje scenariusze, w których DataSet obiekt zawiera wiele DataTable obiektów, których nazwy różnią się tylko wielkością liter. W takich sytuacjach wykonuje porównanie uwzględniające wielkość liter, aby znaleźć odpowiednią tabelę, i tworzy nową tabelę, Fill jeśli nie istnieje dokładne dopasowanie. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jeśli Fill jest wywoływana DataSet i zawiera tylko jedną DataTable , której nazwa różni się tylko wielkością liter, DataTable jest to aktualizowane. W tym scenariuszu porównanie nie uwzględnia wielkości liter. Poniższy kod w języku C# ilustruje to zachowanie.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Jeśli wystąpił błąd lub wyjątek podczas wypełniania tabel danych, wiersze dodane przed wystąpieniem błędu pozostają w tabelach danych. Pozostała część operacji została przerwana.
Gdy instrukcja SELECT użyta do wypełnienia DataSet zwraca wiele wyników, takich jak instrukcja batch SQL, należy pamiętać o następujących kwestiach:
- Jeśli jeden z wyników zawiera błąd, wszystkie kolejne wyniki zostaną pominięte i nie zostaną dodane do elementu DataSet.
W przypadku używania kolejnych Fill wywołań w celu odświeżenia zawartości DataSetobiektu muszą zostać spełnione dwa warunki:
Instrukcja SQL powinna być zgodna z instrukcją użytą początkowo do wypełnienia elementu DataSet.
Informacje o kolumnie Klucz muszą być obecne. Jeśli są obecne informacje o kluczu podstawowym, wszystkie zduplikowane wiersze są uzgadniane i pojawiają się tylko raz w obiekcie DataTable odpowiadającym DataSet. Informacje o kluczu podstawowym można ustawić za pomocą FillSchemametody , określając PrimaryKey właściwość DataTable, lub ustawiając MissingSchemaAction właściwość na
AddWithKey
.
SelectCommand
Jeśli funkcja zwraca wyniki sprzężenia ZEWNĘTRZNEgo, DataAdapter
parametr nie ustawia PrimaryKey wartości wynikowej 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.
Uwaga
W przypadku obsługi instrukcji sql wsadowych, które zwracają wiele wyników, implementacja FillSchema dostawcy danych .NET Framework dla OLE DB pobiera informacje o schemacie tylko dla pierwszego wyniku. Aby pobrać informacje o schemacie dla wielu wyników, użyj polecenia Fill z zestawem MissingSchemaAction na wartość AddWithKey
.
Uwagi dotyczące dziedziczenia
Podczas zastępowania Fill(DataSet) w klasie pochodnej należy wywołać metodę klasy bazowej Fill(DataSet) .
Zobacz też
Dotyczy
Fill(DataSet)
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
Dodaje lub odświeża wiersze w obiekcie DataSet.
public:
override int Fill(System::Data::DataSet ^ dataSet);
public override int Fill (System.Data.DataSet dataSet);
override this.Fill : System.Data.DataSet -> int
Public Overrides 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.
Implementuje
Uwagi
Metoda Fill pobiera dane ze źródła danych przy użyciu instrukcji SELECT. Obiekt IDbConnection skojarzony z poleceniem select musi być prawidłowy, ale nie musi być otwarty. Jeśli element IDbConnection jest zamknięty przed Fill wywołaniem, zostanie otwarty w celu pobrania danych, a następnie zamknięty. Jeśli połączenie jest otwarte przed Fill wywołaniem, pozostaje otwarte.
Jeśli wystąpił błąd lub wyjątek podczas wypełniania tabel danych, wiersze dodane przed wystąpieniem błędu pozostają w tabelach danych. Pozostała część operacji została przerwana.
Jeśli polecenie nie zwraca żadnych wierszy, żadne tabele nie są dodawane do DataSetelementu i nie są zgłaszane żadne wyjątki.
DbDataAdapter Jeśli obiekt napotka zduplikowane kolumny podczas wypełniania DataTableelementu , generuje nazwy dla kolejnych kolumn przy użyciu wzorca "nazwa_kolumny1", "nazwa_kolumny2", "nazwa_kolumny3" itd. Jeśli dane przychodzące zawierają nienazwane kolumny, są one umieszczane w DataSet zależności od wzorca "Column1", "Column2" itd.
Gdy określone zapytanie zwraca wiele wyników, zestaw wyników dla każdego wiersza zwracającego zapytanie 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.). Ponieważ żadna tabela nie jest tworzona dla kwerendy, która nie zwraca wierszy, jeśli przetwarzasz zapytanie wstawiania, a następnie zapytanie wyboru, tabela utworzona dla kwerendy wyboru nosi nazwę "Tabela", ponieważ jest to pierwsza utworzona tabela. Jeśli aplikacja używa nazw kolumn i tabel, upewnij się, że nie występują konflikty z tymi wzorcami nazewnictwa.
Gdy instrukcja SELECT użyta do wypełnienia DataSet zwraca wiele wyników, takich jak instrukcje batch SQL, jeśli jeden z wyników zawiera błąd, wszystkie kolejne wyniki zostaną pominięte i nie zostaną dodane do .DataSet
W przypadku używania kolejnych Fill wywołań w celu odświeżenia zawartości DataSetobiektu muszą zostać spełnione dwa warunki:
Instrukcja SQL powinna być zgodna z instrukcją użytą początkowo do wypełnienia elementu DataSet.
Informacje o kolumnie Klucz muszą być obecne.
Jeśli są obecne informacje o kluczu podstawowym, wszystkie zduplikowane wiersze są uzgadniane i pojawiają się tylko raz w obiekcie DataTable odpowiadającym DataSet. Informacje o kluczu podstawowym można ustawić za pomocą FillSchemametody , określając PrimaryKey właściwość DataTable, lub ustawiając MissingSchemaAction właściwość na AddWithKey
.
SelectCommand
Jeśli funkcja zwraca wyniki sprzężenia ZEWNĘTRZNEgo, DataAdapter
parametr nie ustawia PrimaryKey wartości wynikowej 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.
Uwaga
W przypadku obsługi instrukcji sql wsadowych, które zwracają wiele wyników, implementacja FillSchema dostawcy danych .NET Framework dla OLE DB pobiera informacje o schemacie tylko dla pierwszego wyniku. Aby pobrać informacje o schemacie dla wielu wyników, użyj polecenia Fill z zestawem MissingSchemaAction na wartość AddWithKey
.
Zobacz też
Dotyczy
Fill(DataTable, IDbCommand, CommandBehavior)
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
- Źródło:
- DbDataAdapter.cs
Dodaje lub odświeża wiersze w DataTable obiekcie w celu dopasowania ich do tych w źródle danych przy użyciu określonych DataTableelementów i IDbCommandCommandBehavior.
protected:
virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill (System.Data.DataTable dataTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTable As DataTable, command As IDbCommand, behavior As CommandBehavior) As Integer
Parametry
- command
- IDbCommand
Instrukcja SQL SELECT używana do pobierania wierszy ze źródła danych.
- behavior
- CommandBehavior
CommandBehavior Jedna z wartości.
Zwraca
Liczba wierszy pomyślnie dodanych do lub odświeżonych w pliku DataTable. Nie obejmuje to wierszy, których dotyczą instrukcje, które nie zwracają wierszy.
Uwagi
Metoda 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ęcia. Jeśli połączenie jest otwarte przed Fill wywołaniem, pozostaje otwarte.
Operacja Fill następnie dodaje wiersze do określonego obiektu docelowego DataTable w DataSetobiekcie , tworząc DataTable obiekt , jeśli jeszcze nie istnieje. Podczas tworzenia DataTable obiektu 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.
DbDataAdapter Jeśli obiekt napotka zduplikowane kolumny podczas wypełniania DataTableelementu , wygeneruje nazwy dla kolejnych kolumn przy użyciu wzorca "nazwakolumny1", "nazwa_kolumny2", "nazwa_kolumny3" itd. Jeśli dane przychodzące zawierają nienazwane kolumny, są one umieszczane w DataSet zależności od wzorca "Column1", "Column2" itd.
Przeciążenie elementu Fill , które przyjmuje DataTable
jako parametr, uzyskuje tylko pierwszy wynik. Użyj przeciążenia Fill , które przyjmuje DataSet
jako parametr, aby uzyskać wiele wyników.
Możesz użyć Fill metody wiele razy w tym samym DataTableobiekcie . Jeśli klucz podstawowy istnieje, przychodzące wiersze są scalane z pasującymi wierszami, które już istnieją. Jeśli klucz podstawowy nie istnieje, przychodzące wiersze są dołączane do elementu DataTable.
SelectCommand
Jeśli funkcja zwraca wyniki sprzężenia ZEWNĘTRZNEgo, DataAdapter
parametr nie ustawia PrimaryKey wartości wynikowej 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.
Uwaga
W przypadku obsługi instrukcji sql wsadowych, które zwracają wiele wyników, implementacja FillSchema dostawcy danych .NET Framework dla OLE DB pobiera informacje o schemacie tylko dla pierwszego wyniku. Aby pobrać informacje o schemacie dla wielu wyników, użyj polecenia Fill z zestawem MissingSchemaAction na wartość AddWithKey
.
Uwagi dotyczące dziedziczenia
To przeciążenie Fill(DataSet) metody jest chronione i jest przeznaczone do użycia przez dostawcę danych .NET Framework.