Прочитать на английском

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


IDataAdapter.Fill(DataSet) Метод

Определение

Добавляет или обновляет строки в объект DataSet для получения соответствия со строками в источнике данных, используя имя объекта DataSet и создает объект DataTable с именем "Table".

public int Fill(System.Data.DataSet dataSet);

Параметры

dataSet
DataSet

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

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

Количество строк, успешно добавленных или обновленных в объекте DataSet. Не включает строки, на которые воздействуют операторы, не возвращающие строк.

Комментарии

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

Затем Fill операция добавляет строки в целевые DataTable объекты в DataSet, создавая DataTable объекты , если они еще не существуют. При создании DataTable объектов Fill операция обычно создает только метаданные имени столбца. Однако если свойству MissingSchemaAction присвоено значение AddWithKey, также создаются соответствующие первичные ключи и ограничения.

Если SelectCommand возвращает результаты OUTER JOIN, то DataAdapter не задает значение PrimaryKey для результирующего объекта DataTable. Чтобы обеспечить правильное разрешение повторяющихся строк, необходимо явно определить первичный ключ. Дополнительные сведения см. в разделе Определение первичных ключей.

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

Если инструкция SELECT, используемая для заполнения DataSet , возвращает несколько результатов, например пакетную инструкцию SQL, если один из результатов содержит ошибку, все последующие результаты пропускаются и не добавляются в DataSet.

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

Примечание

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

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

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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