Udostępnij za pośrednictwem


DataAdapter.FillSchema Metoda

Definicja

Dodaje element DataTable do określonego DataSetelementu .

Przeciążenia

FillSchema(DataSet, SchemaType, String, IDataReader)

Dodaje element DataTable do określonego DataSetelementu .

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)

Dodaje element DataTable do określonego DataSetelementu .

FillSchema(DataSet, SchemaType, String, IDataReader)

Źródło:
DataAdapter.cs
Źródło:
DataAdapter.cs
Źródło:
DataAdapter.cs

Dodaje element DataTable do określonego DataSetelementu .

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

dataSet
DataSet

Element DataSet , który ma zostać wypełniony schematem ze źródła danych.

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:

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

Dodaje element DataTable do określonego DataSetelementu .

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.

Zobacz też

Dotyczy