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
FillSchema(DataSet, SchemaType, String, IDataReader) | |
FillSchema(DataSet, SchemaType) |
Dodaje element DataTable do określonego DataSet i konfiguruje schemat, 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
protected:
virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::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);
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
Wartość DataTable , która ma zostać wypełniona z elementu IDataReader.
- schemaType
- SchemaType
Jedna z SchemaType wartości.
- srcTable
- String
Nazwa tabeli źródłowej, która ma być używana do mapowania tabel.
- dataReader
- IDataReader
Element IDataReader , który ma być używany 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.
Zobacz też
Dotyczy
FillSchema(DataSet, SchemaType)
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
- Źródło:
- DataAdapter.cs
Dodaje element DataTable do określonego DataSet i konfiguruje schemat, 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);
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);
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
Jedna z SchemaType wartości.
Zwraca
DataTable Obiekt zawierający informacje o schemacie zwrócone ze źródła danych.
Implementuje
Uwagi
Metoda FillSchema pobiera schemat ze źródła danych przy użyciu polecenia 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 obiektu DataTablei konfiguruje następujące DataColumn właściwości, jeśli istnieją w źródle danych:
AutoIncrement. Musisz 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 unikatowe kolumny, kolumny unikatowe są używane jako klucz podstawowy, jeśli i tylko wtedy wszystkie unikatowe kolumny nie są możliwe. Jeśli którakolwiek z kolumn ma wartość null, UniqueConstraint element 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 DataTabledla elementu .
Uwaga
Bazowy magazyn danych może zezwalać na poprawne tłumaczenie atrybutów kolumny, które nie są obsługiwane w elemecie DataColumn, co powoduje, że niektóre atrybuty kolumny nie są poprawnie tłumaczone. Na przykład SQL Server umożliwia kolumnie tożsamości z typem danych tinyint, natomiast DataColumn właściwość Int16, Int32 i Int64 zezwala tylko na AutoIncrement ustawienie właściwości Int16, Int32 i Int64. FillSchema
dyskretnie ignoruje przypadki, w których DataColumn nie można dokładnie dublowania źródła danych i nie zgłasza żadnych wyjątków.
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 na kolumnie lub kolumnach w tabeli SQL Server, a ograniczenie klucza podstawowego jest definiowane w osobnym zestawie kolumn, nazwy kolumn w indeksie klastrowanym zostaną zwrócone. 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 DataTablewartości , generuje nazwy kolejnych kolumn, używając 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. Po dodaniu wielu zestawów wyników do DataSet każdego zestawu wyników znajduje się oddzielna tabela. 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 korzystające z nazw kolumn i tabel powinny zapewnić, ż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
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
Zobacz też
Dotyczy
FillSchema(DataTable, SchemaType, IDataReader)
- Ź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);
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);
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
Wartość DataTable , która ma zostać wypełniona z elementu IDataReader.
- schemaType
- SchemaType
Jedna z SchemaType wartości.
- dataReader
- IDataReader
Element IDataReader , który ma być używany 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.