DataAdapter.FillSchema Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
FillSchema(DataSet, SchemaType, String, IDataReader) | |
FillSchema(DataSet, SchemaType) |
Добавляет объект DataTable в указанный объект DataSet и настраивает схему для соответствия этому объекту в источнике данных на основе указанного значения типа SchemaType. |
FillSchema(DataTable, SchemaType, IDataReader) |
FillSchema(DataSet, SchemaType, String, IDataReader)
- Исходный код:
- DataAdapter.cs
- Исходный код:
- DataAdapter.cs
- Исходный код:
- 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()
Параметры
- 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()
Параметры
- schemaType
- SchemaType
Одно из значений перечисления SchemaType.
Возвращаемое значение
Объект DataTable содержит сведения схемы, возвращенные из источника данных.
Реализации
Комментарии
Метод FillSchema извлекает схему из источника данных с помощью SelectCommand. Объект соединения, связанный с , должен быть допустимым SelectCommand , но не должен быть открыт. Если соединение закрывается до FillSchema вызова, оно открывается для получения данных, а затем закрывается. Если подключение открыто до FillSchema вызова, оно остается открытым.
Операция FillSchema добавляет к целевому DataTableDataSetобъекту . Затем он добавляет столбцы в DataColumnCollectionDataTableи настраивает следующие DataColumn свойства, если они существуют в источнике данных:
AutoIncrement. Необходимо задать и AutoIncrementStepAutoIncrementSeed отдельно.
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
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 содержит сведения схемы, возвращенные из источника данных.