IDataAdapter.Fill(DataSet) Метод

Определение

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

public:
 int Fill(System::Data::DataSet ^ dataSet);
public int Fill (System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
Public Function Fill (dataSet As DataSet) As Integer

Параметры

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 извлекает сведения о схеме только для первого результата.

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

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