Поделиться через


DataAdapter.FillSchema Метод

Определение

Добавляет объект DataTable к указанному объекту DataSet.

Перегрузки

FillSchema(DataSet, SchemaType, String, IDataReader)

Добавляет объект DataTable к указанному объекту DataSet.

FillSchema(DataSet, SchemaType)

Добавляет объект DataTable в указанный объект DataSet и настраивает схему для соответствия этому объекту в источнике данных на основе указанного значения типа SchemaType.

FillSchema(DataTable, SchemaType, IDataReader)

Добавляет объект DataTable к указанному объекту DataSet.

FillSchema(DataSet, SchemaType, String, IDataReader)

Исходный код:
DataAdapter.cs
Исходный код:
DataAdapter.cs
Исходный код:
DataAdapter.cs

Добавляет объект DataTable к указанному объекту DataSet.

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()

Параметры

dataSet
DataSet

Объект DataTable, заполняемый из IDataReader.

schemaType
SchemaType

Одно из значений перечисления SchemaType.

srcTable
String

Имя исходной таблицы, используемое для сопоставления таблиц.

dataReader
IDataReader

Интерфейс IDataReader, используемый в качестве источника данных при заполнении объекта DataTable.

Возвращаемое значение

Ссылка на коллекцию объектов DataTable, которые были добавлены в DataSet.

См. также раздел

Применяется к

FillSchema(DataSet, SchemaType)

Исходный код:
DataAdapter.cs
Исходный код:
DataAdapter.cs
Исходный код:
DataAdapter.cs

Добавляет объект DataTable в указанный объект DataSet и настраивает схему для соответствия этому объекту в источнике данных на основе указанного значения типа SchemaType.

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()

Параметры

dataSet
DataSet

Объект DataSet для заполнения схемой из источника данных.

schemaType
SchemaType

Одно из значений перечисления SchemaType.

Возвращаемое значение

Объект DataTable содержит сведения схемы, возвращенные из источника данных.

Реализации

Комментарии

Метод FillSchema извлекает схему из источника данных с помощью SelectCommand. Объект соединения, связанный с , должен быть допустимым SelectCommand , но не должен быть открыт. Если соединение закрывается до FillSchema вызова, оно открывается для получения данных, а затем закрывается. Если подключение открыто до FillSchema вызова, оно остается открытым.

Операция FillSchema добавляет к целевому DataTableDataSetобъекту . Затем он добавляет столбцы в DataColumnCollectionDataTableи настраивает следующие DataColumn свойства, если они существуют в источнике данных:

FillSchema также настраивает PrimaryKey свойства и Constraints в соответствии со следующими правилами:

  • Если один или несколько столбцов первичного SelectCommandключа возвращаются , они используются в качестве столбцов первичного DataTableключа для .

  • Если не возвращаются столбцы первичного ключа, но уникальные столбцы, то уникальные столбцы используются в качестве первичного ключа, если и только в том случае, если все уникальные столбцы не являются возвращаемыми. Если какой-либо из столбцов допускает значение NULL, UniqueConstraint к добавляется ConstraintCollection, но PrimaryKey свойство не задано.

  • Если возвращаются как столбцы первичного ключа, так и уникальные столбцы, столбцы первичного ключа используются в качестве столбцов первичного DataTableключа для .

Примечание

Базовое хранилище данных может разрешить атрибуты столбцов, которые не поддерживаются в DataColumn, что приводит к неправильному переводу некоторых атрибутов столбцов. Например, SQL Server позволяет использовать столбец идентификаторов с типом данных tinyint, тогда как DataColumn позволяет задать свойство только в Int16, Int32 и Int64AutoIncrement. FillSchemaАвтоматически игнорирует случаиDataColumn, когда не может точно зеркало источник данных и не создает никаких исключений.

Обратите внимание, что первичные ключи и ограничения уникальности добавляются в ConstraintCollection в соответствии с предыдущими правилами, но другие типы ограничений не добавляются.

Если уникальный кластеризованный индекс определен в столбце или столбцах в таблице SQL Server, а ограничение первичного ключа определено в отдельном наборе столбцов, будут возвращены имена столбцов в кластеризованном индексе. Чтобы вернуть имя или имена столбцов первичного ключа, используйте указание запроса с инструкцией SELECT, указывающей имя индекса первичного ключа. Дополнительные сведения об указании запросов см. в разделе Подсказки (Transact-SQL) — запрос.

DataAdapter Если при заполнении столбца встречаются повторяющиеся DataTableстолбцы, он создает имена для последующих столбцов с использованием шаблонов columnname1, columnname2, columnname3 и т. д. Если входящие данные содержат неименованные столбцы, они помещаются в DataSet по шаблону Column1, Column2 и т. д. При добавлении нескольких результирующих наборов в DataSet каждый результирующий набор помещается в отдельную таблицу. Дополнительные результирующие наборы именуются путем добавления целочисленных значений к указанному имени таблицы (например, "Таблица", "Таблица1", "Таблица2" и т. д.). Приложения, использующие имена столбцов и таблиц, должны гарантировать отсутствие конфликтов с этими шаблонами именования.

FillSchema не возвращает строки. Используйте метод для Fill добавления строк в DataTableобъект .

Примечание

При обработке пакетных инструкций SQL, возвращающих несколько результатов, реализация FillSchema для поставщика данных платформа .NET Framework для OLE DB получает сведения о схеме только для первого результата. Чтобы получить сведения о схеме для нескольких результатов, используйте Fill с заданным значением MissingSchemaActionAddWithKey.

См. также раздел

Применяется к

FillSchema(DataTable, SchemaType, IDataReader)

Исходный код:
DataAdapter.cs
Исходный код:
DataAdapter.cs
Исходный код:
DataAdapter.cs

Добавляет объект DataTable к указанному объекту DataSet.

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

Параметры

dataTable
DataTable

Объект DataTable, заполняемый из IDataReader.

schemaType
SchemaType

Одно из значений перечисления SchemaType.

dataReader
IDataReader

Интерфейс IDataReader, используемый в качестве источника данных при заполнении объекта DataTable.

Возвращаемое значение

Объект DataTable содержит сведения схемы, возвращенные из источника данных.

См. также раздел

Применяется к