IDataAdapter.Fill(DataSet) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
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. Не включает строки, на которые воздействуют операторы, не возвращающие строк.
Комментарии
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 извлекает сведения о схеме только для первого результата.