DataAdapter.Fill Метод

Определение

Добавляет или обновляет строки в DataSet для получения соответствия строкам в источнике данных.Adds or refreshes rows in the DataSet to match those in the data source.

Перегрузки

Fill(DataSet)

Добавляет или обновляет строки в DataSet для получения соответствия строкам в источнике данных.Adds or refreshes rows in the DataSet to match those in the data source.

Fill(DataTable, IDataReader)

Добавляет или обновляет строки в DataTable для получения соответствия строкам в источнике данных с помощью имени DataTable и указанного интерфейса IDataReader.Adds or refreshes rows in the DataTable to match those in the data source using the DataTable name and the specified IDataReader.

Fill(DataTable[], IDataReader, Int32, Int32)

Добавляет или обновляет строки в указанной коллекции объектов DataTable для получения соответствия строкам в источнике данных.Adds or refreshes rows in a specified range in the collection of DataTable objects to match those in the data source.

Fill(DataSet, String, IDataReader, Int32, Int32)

Добавляет или обновляет строки в указанном диапазоне в объект DataSet для получения соответствия строкам в источнике данных с использованием имен DataSet и DataTable.Adds or refreshes rows in a specified range in the DataSet to match those in the data source using the DataSet and DataTable names.

Fill(DataSet)

Добавляет или обновляет строки в DataSet для получения соответствия строкам в источнике данных.Adds or refreshes rows in the DataSet to match those in the data source.

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

Параметры

dataSet
DataSet

Объект DataSet для заполнения записями и, если необходимо, — схемой.A DataSet to fill with records and, if necessary, schema.

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

Int32

Количество строк, успешно добавленных или обновленных в объекте DataSet.The number of rows successfully added to or refreshed in the DataSet. Не включает строки, на которые воздействуют операторы, не возвращающие строк.This does not include rows affected by statements that do not return rows.

Реализации

Комментарии

FillМетод получает строки из источника данных с помощью инструкции SELECT, заданной связанным SelectCommand свойством.The Fill method retrieves rows from the data source using the SELECT statement specified by an associated SelectCommand property. Объект соединения, связанный с инструкцией SELECT, должен быть допустимым, но не должен быть открытым.The connection object associated with the SELECT statement must be valid, but it does not need to be open. Если соединение закрывается до Fill вызова метода, оно открывается для получения данных, а затем закрывается.If the connection is closed before Fill is called, it is opened to retrieve data, then closed. Если соединение открыто до Fill вызова метода, оно остается открытым.If the connection is open before Fill is called, it remains open.

FillЗатем операция добавляет строки в целевые DataTable объекты в DataSet , создавая DataTable объекты, если они еще не существуют.The Fill operation then adds the rows to destination DataTable objects in the DataSet, creating the DataTable objects if they do not already exist. При создании DataTable объектов Fill операция обычно создает только метаданные имени столбца.When creating DataTable objects, the Fill operation normally creates only column name metadata. Однако если MissingSchemaAction свойство имеет значение AddWithKey , то также создаются соответствующие первичные ключи и ограничения.However, if the MissingSchemaAction property is set to AddWithKey, appropriate primary keys and constraints are also created.

Если SelectCommand возвращает результаты OUTER JOIN, то DataAdapter не задает значение PrimaryKey для результирующего объекта DataTable.If the SelectCommand returns the results of an OUTER JOIN, the DataAdapter does not set a PrimaryKey value for the resulting DataTable. Необходимо явно определить первичный ключ, чтобы гарантировать правильное разрешение повторяющихся строк.You must explicitly define the primary key to ensure that duplicate rows are resolved correctly. Дополнительные сведения см. в разделе Определение первичных ключей.For more information, see Defining Primary Keys.

Если адаптер данных встречает дублирующиеся столбцы при заполнении DataTable , он создает имена для последующих столбцов, используя шаблон "columnName1", "columnName2", "columnname3" и т. д.If the data adapter encounters duplicate columns while populating a DataTable, it generates names for the subsequent columns, using the pattern "columnname1", "columnname2", "columnname3", and so on. Если входящие данные содержат безымянные столбцы, они помещаются в в соответствии с DataSet шаблоном «Столбец1», «Столбец2» и т. д.If the incoming data contains unnamed columns, they are placed in the DataSet according to the pattern "Column1", "Column2", and so on. При добавлении нескольких результирующих наборов в DataSet каждый результирующий набор помещается в отдельную таблицу.When multiple result sets are added to the DataSet each result set is placed in a separate table. Дополнительные результирующие наборы именуются путем добавления целочисленных значений к заданному имени таблицы (например, "Table", "table1", "Table2" и т. д.).Additional result sets are named by appending integral values to the specified table name (for example, "Table", "Table1", "Table2", and so on). Приложения, использующие имена столбцов и таблиц, должны гарантировать, что конфликты с этими шаблонами именования не происходят.Applications using column and table names should ensure that conflicts with these naming patterns does not occur.

Если инструкция SELECT, используемая для заполнения, DataSet возвращает несколько результатов, например инструкции SQL Batch, если один из результатов содержит ошибку, все последующие результаты пропускаются и не добавляются в DataSet .When the SELECT statement used to populate the DataSet returns multiple results, such as a batch SQL statements, if one of the results contains an error, all subsequent results are skipped and not added to the DataSet.

Метод можно использовать Fill несколько раз для одного и того же DataTable .You can use the Fill method multiple times on the same DataTable. Если первичный ключ существует, входящие строки объединяются с совпадающими строками, которые уже существуют.If a primary key exists, incoming rows are merged with matching rows that already exist. Если первичный ключ не существует, входящие строки добавляются к DataTable .If no primary key exists, incoming rows are appended to the DataTable.

Примечание

При обработке инструкций SQL пакетной службы, возвращающих несколько результатов, реализация FillSchema для платформа .NET Framework поставщика данных для OLE DB получает сведения о схеме только для первого результата.When handling batch SQL statements that return multiple results, the implementation of FillSchema for the .NET Framework Data Provider for OLE DB retrieves schema information for only the first result. Чтобы получить сведения о схеме для нескольких результатов, используйте с параметром, равным Fill MissingSchemaAction AddWithKey .To retrieve schema information for multiple results, use Fill with the MissingSchemaAction set to AddWithKey.

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

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

Fill(DataTable, IDataReader)

Добавляет или обновляет строки в DataTable для получения соответствия строкам в источнике данных с помощью имени DataTable и указанного интерфейса IDataReader.Adds or refreshes rows in the DataTable to match those in the data source using the DataTable name and the specified IDataReader.

protected:
 virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDataReader ^ dataReader);
protected virtual int Fill (System.Data.DataTable dataTable, System.Data.IDataReader dataReader);
abstract member Fill : System.Data.DataTable * System.Data.IDataReader -> int
override this.Fill : System.Data.DataTable * System.Data.IDataReader -> int
Protected Overridable Function Fill (dataTable As DataTable, dataReader As IDataReader) As Integer

Параметры

dataTable
DataTable

DataTable для заполнения записями.A DataTable to fill with records.

dataReader
IDataReader

Экземпляр IDataReader.An instance of IDataReader.

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

Int32

Количество строк, успешно добавленных или обновленных в объекте DataTable.The number of rows successfully added to or refreshed in the DataTable. Не включает строки, на которые воздействуют операторы, не возвращающие строк.This does not include rows affected by statements that do not return rows.

Комментарии

Дополнительные сведения см. в примечаниях DataAdapter.Fill(DataSet) .See the remarks for DataAdapter.Fill(DataSet) for additional information.

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

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

Fill(DataTable[], IDataReader, Int32, Int32)

Добавляет или обновляет строки в указанной коллекции объектов DataTable для получения соответствия строкам в источнике данных.Adds or refreshes rows in a specified range in the collection of DataTable objects to match those in the data source.

protected:
 virtual int Fill(cli::array <System::Data::DataTable ^> ^ dataTables, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataTable[] dataTables, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
abstract member Fill : System.Data.DataTable[] * System.Data.IDataReader * int * int -> int
override this.Fill : System.Data.DataTable[] * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataTables As DataTable(), dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer

Параметры

dataTables
DataTable[]

Коллекция объектов DataTable для заполнения записями.A collection of DataTable objects to fill with records.

dataReader
IDataReader

Экземпляр IDataReader.An instance of IDataReader.

startRecord
Int32

Индекс (с нуля) начальной записи.The zero-based index of the starting record.

maxRecords
Int32

Целое число, указывающее максимальное количество записей.An integer indicating the maximum number of records.

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

Int32

Количество строк, успешно добавленных или обновленных в объекте DataTable.The number of rows successfully added to or refreshed in the DataTable. Не включает строки, на которые воздействуют операторы, не возвращающие строк.This does not include rows affected by statements that do not return rows.

Комментарии

Дополнительные сведения см. в примечаниях System.Data.Common.DataAdapter.Fill(System.Data.DataSet) .See the remarks for System.Data.Common.DataAdapter.Fill(System.Data.DataSet) for additional information.

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

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

Fill(DataSet, String, IDataReader, Int32, Int32)

Добавляет или обновляет строки в указанном диапазоне в объект DataSet для получения соответствия строкам в источнике данных с использованием имен DataSet и DataTable.Adds or refreshes rows in a specified range in the DataSet to match those in the data source using the DataSet and DataTable names.

protected:
 virtual int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataSet dataSet, string srcTable, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
abstract member Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
override this.Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataSet As DataSet, srcTable As String, dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer

Параметры

dataSet
DataSet

DataSet для заполнения записями.A DataSet to fill with records.

srcTable
String

Строка, указывающая имя исходной таблицы.A string indicating the name of the source table.

dataReader
IDataReader

Экземпляр IDataReader.An instance of IDataReader.

startRecord
Int32

Индекс (с нуля) начальной записи.The zero-based index of the starting record.

maxRecords
Int32

Целое число, указывающее максимальное количество записей.An integer indicating the maximum number of records.

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

Int32

Количество строк, успешно добавленных или обновленных в объекте DataSet.The number of rows successfully added to or refreshed in the DataSet. Не включает строки, на которые воздействуют операторы, не возвращающие строк.This does not include rows affected by statements that do not return rows.

Комментарии

Дополнительные сведения см. в примечаниях System.Data.Common.DataAdapter.Fill(System.Data.DataSet) .See the remarks for System.Data.Common.DataAdapter.Fill(System.Data.DataSet) for additional information.

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

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