IDataAdapter.FillSchema(DataSet, SchemaType) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет объект DataTable с именем Table в указанный объект DataSet и настраивает схему для соответствия этому объекту в источнике данных на основе указанного значения типа SchemaType.
public:
cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Параметры
- schemaType
- SchemaType
Одно из значений перечисления SchemaType.
Возвращаемое значение
Массив объектов DataTable, который содержит сведения схемы, возвращенные из источника данных.
Комментарии
Метод FillSchema извлекает схему из источника данных с помощью .SelectCommand Объект соединения, связанный SelectCommand с этим объектом, должен быть допустимым, но он не должен быть открыт. Если соединение закрыто до FillSchema вызова, оно открывается для извлечения данных, а затем закрывается. Если подключение открыто до FillSchema вызова, оно остается открытым.
Операция FillSchema добавляет объект DataTable в место назначения DataSet. Затем он добавляет столбцы в DataColumnCollection DataTable список и настраивает следующие DataColumn свойства, если они существуют в источнике данных:
AutoIncrement. Необходимо задать AutoIncrementStep и AutoIncrementSeed отдельно.
FillSchema также настраивает PrimaryKey свойства в Constraints соответствии со следующими правилами:
Если один или несколько первичных ключевых столбцов возвращаютсяSelectCommand, они используются в качестве столбцов первичного ключа для .DataTable
Если первичные ключевые столбцы не возвращаются, но уникальные столбцы отсутствуют, уникальные столбцы используются в качестве первичного ключа, если все уникальные столбцы не имеют значения NULL. Если любой из столбцов допускает значение NULL, UniqueConstraint добавляется в ConstraintCollectionнее, но PrimaryKey свойство не задано.
Если возвращаются как первичные ключевые столбцы, так и уникальные столбцы, то столбцы первичного ключа используются в качестве первичных ключевых столбцов.DataTable
Обратите внимание, что первичные ключи и уникальные ограничения добавляются в ConstraintCollection соответствии с предыдущими правилами, но другие типы ограничений не добавляются.
Если для столбца или столбца в таблице SQL Server определен уникальный кластеризованный индекс, а ограничение первичного ключа определяется в отдельном наборе столбцов, имена столбцов в кластеризованном индексе будут возвращены. Чтобы вернуть имя или имена столбцов первичного ключа, используйте указание запроса с инструкцией SELECT, указывающей имя индекса первичного ключа. Дополнительные сведения об указании запросов см. в разделе "Подсказки" (Transact-SQL) — запрос.
Если при IDataAdapter заполнении DataTableстолбцов возникают повторяющиеся столбцы, он создает имена для последовательных столбцов, используя шаблон columnname1, columnname2, "columnname3" и т. д. Если входящие данные содержат неименованные столбцы, они помещаются в DataSet шаблон "Столбец1", "Столбец2" и т. д. Если в набор результатов добавляется DataSetнесколько результирующих наборов, каждый результирующий набор помещается в отдельную таблицу. Дополнительные результирующие наборы именуются путем добавления целочисленных значений к указанному имени таблицы (например, Table1, Table1, Table2 и т. д.). Приложения должны соблюдать осторожность при использовании имен столбцов и таблиц, чтобы убедиться, что конфликты с этими шаблонами именования не возникают.
FillSchema возвращает строки без строк. Fill Используйте метод для добавления строк в объект DataTable.