DataAdapter.FillSchema 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
| Nazwa | Opis |
|---|---|
| FillSchema(DataSet, SchemaType, String, IDataReader) | |
| FillSchema(DataSet, SchemaType) |
Dodaje element DataTable do określonego DataSet elementu i konfiguruje schemat tak, aby był zgodny z tym w źródle danych na podstawie określonego SchemaTypeelementu . |
| FillSchema(DataTable, SchemaType, IDataReader) |
FillSchema(DataSet, SchemaType, String, IDataReader)
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
protected:
virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()
Parametry
- dataSet
- DataSet
Element DataTable do wypełnienia z elementu IDataReader.
- schemaType
- SchemaType
SchemaType Jedna z wartości.
- srcTable
- String
Nazwa tabeli źródłowej do użycia na potrzeby mapowania tabel.
- dataReader
- IDataReader
Element IDataReader do użycia jako źródło danych podczas wypełniania obiektu DataTable.
Zwraca
Odwołanie do kolekcji DataTable obiektów, które zostały dodane do obiektu DataSet.
- Atrybuty
Zobacz też
Dotyczy
FillSchema(DataSet, SchemaType)
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
Dodaje element DataTable do określonego DataSet elementu i konfiguruje schemat tak, aby był zgodny z tym w źródle danych na podstawie określonego SchemaTypeelementu .
public:
virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
abstract cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public abstract System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Parametry
- schemaType
- SchemaType
SchemaType Jedna z wartości.
Zwraca
DataTable Obiekt zawierający informacje o schemacie zwrócone ze źródła danych.
Implementuje
- Atrybuty
Uwagi
Metoda FillSchema pobiera schemat ze źródła danych przy użyciu elementu SelectCommand. Obiekt połączenia skojarzony z obiektem SelectCommand musi być prawidłowy, ale nie musi być otwarty. Jeśli połączenie zostanie zamknięte przed FillSchema wywołaniem, zostanie otwarte w celu pobrania danych, a następnie zamknięte. Jeśli połączenie jest otwarte przed FillSchema wywołaniem, pozostaje otwarte.
Operacja FillSchema dodaje element DataTable do miejsca docelowego DataSet. Następnie dodaje kolumny do DataColumnCollection elementu DataTablei konfiguruje następujące DataColumn właściwości, jeśli istnieją w źródle danych:
AutoIncrement. Należy ustawić AutoIncrementStep i AutoIncrementSeed oddzielnie.
FillSchema Konfiguruje PrimaryKey również właściwości i Constraints zgodnie z następującymi regułami:
Jeśli co najmniej jedna kolumna klucza podstawowego SelectCommandjest zwracana przez element , są one używane jako kolumny klucza podstawowego dla elementu DataTable.
Jeśli nie są zwracane żadne kolumny klucza podstawowego, ale są to kolumny unikatowe, są używane jako klucz podstawowy, jeśli i tylko wtedy, gdy wszystkie unikatowe kolumny nie są możliwe. Jeśli którakolwiek z kolumn ma wartość null, element UniqueConstraint zostanie dodany do ConstraintCollectionobiektu , ale właściwość nie jest ustawiona PrimaryKey .
Jeśli zwracane są zarówno kolumny klucza podstawowego, jak i kolumny unikatowe, kolumny klucza podstawowego są używane jako kolumny klucza podstawowego dla elementu DataTable.
Uwaga / Notatka
Bazowy magazyn danych może zezwalać na poprawne tłumaczenie atrybutów kolumny, które nie są obsługiwane w elemecie DataColumn, co powoduje nieprawidłowe tłumaczenie niektórych atrybutów kolumny. Na przykład program SQL Server zezwala na kolumnę tożsamości z typem danych tinyint, natomiast właściwość DataColumn Int16, Int32 i Int64 zezwala tylko na ustawienie właściwości Int16 i Int64 AutoIncrement .
FillSchema dyskretnie ignoruje przypadki, w których DataColumn nie można dokładnie dublowania źródła danych i nie zgłasza wyjątku.
Należy pamiętać, że klucze podstawowe i unikatowe ograniczenia są dodawane zgodnie ConstraintCollection z poprzednimi regułami, ale nie są dodawane inne typy ograniczeń.
Jeśli unikatowy indeks klastrowany jest zdefiniowany w kolumnie lub kolumnach w tabeli programu SQL Server, a ograniczenie klucza podstawowego jest definiowane w osobnym zestawie kolumn, zwracane będą nazwy kolumn w indeksie klastrowanym. Aby zwrócić nazwę lub nazwy kolumn klucza podstawowego, użyj wskazówki zapytania z instrukcją SELECT określającą nazwę indeksu klucza podstawowego. Aby uzyskać więcej informacji na temat określania wskazówek dotyczących zapytań, zobacz Wskazówki (Transact-SQL) — zapytanie.
Jeśli napotka DataAdapter 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. Po dodaniu wielu zestawów wyników do DataSet każdego zestawu wyników znajduje się oddzielna tabela. 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 używające nazw kolumn i tabel powinny upewnić się, że nie występują konflikty z tymi wzorcami nazewnictwa.
FillSchema nie zwraca żadnych wierszy. Fill Użyj metody , aby dodać wiersze do elementu DataTable.
Uwaga / Notatka
W przypadku obsługi instrukcji wsadowych SQL, które zwracają wiele wyników, implementacja FillSchema dostawcy danych programu .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 na wartość AddWithKey.
Zobacz też
Dotyczy
FillSchema(DataTable, SchemaType, IDataReader)
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
protected:
virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable? FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable? FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema(System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable
Parametry
- dataTable
- DataTable
Element DataTable do wypełnienia z elementu IDataReader.
- schemaType
- SchemaType
SchemaType Jedna z wartości.
- dataReader
- IDataReader
Element IDataReader do użycia jako źródło danych podczas wypełniania obiektu DataTable.
Zwraca
DataTable Obiekt zawierający informacje o schemacie zwrócone ze źródła danych.
- Atrybuty