Практическое руководство. Заполнение данными набора данных

Заполнение набора данных фактически означает загрузку данных в отдельные объекты DataTable, составляющие набор данных.Таблицы данных заполняются путем выполнения запросов к адаптеру таблицы TableAdapter или вызова команд адаптера обработки данных (например, SqlDataAdapter).

Необходимость использования объектов TableAdapter или адаптеров обработки данных зависит от способа создания набора данных.При использовании средств разработки в Visual Studio, например мастер настройки источника данных, набор данных содержит адаптеры таблиц TableAdapter.Дополнительные сведения об адаптерах таблиц TableAdapter см. в разделе Общие сведения об адаптере таблиц.Если набор данных был создан программно, то, как правило, для загрузки данных в таблицы необходимо создание адаптеров обработки данных.

ПримечаниеПримечание

При перетаскивании элементов из Окно "Источники данных" на форму код для заполнения таблицы данными автоматически добавляется к обработчику событий Form_Load.Откройте форму в редакторе кода для просмотра точного синтаксиса заполнения отдельных таблиц.Если не требуется выполнять заполнение таблицы при загрузке формы, можно переместить этот код в другой метод или вообще удалить его.

Заполнение набора данных с помощью адаптера таблицы TableAdapter

Можно вызвать запрос как метод объекта TableAdapter для загрузки данных в таблицы набора данных.Передайте DataTable, которую требуется заполнить, запросу адаптера таблицы TableAdapter.Если запрос использует параметры, также передайте их в метод.Если набор данных содержит несколько таблиц, следует иметь отдельные адаптеры таблиц TableAdapters для каждой таблицы и, следовательно, заполнять каждую таблицу отдельно.

ПримечаниеПримечание

По умолчанию при каждом выполнении запроса объекта TableAdapter данные в таблице очищаются перед загрузкой результатов запроса в таблицу.Можно сохранить существующие данные в таблице и добавить результаты, присвоив свойству ClearBeforeFill адаптера таблиц TableAdapter значение false.

Для заполнения набора данных с помощью адаптера таблицы TableAdapter

  1. Откройте форму или компонент в окне Редактор кода.

  2. Добавьте код в любое место в приложении, где необходимо загрузить данные в таблицу.Если запрос не требует параметров, передайте DataTable, которую требуется заполнить.Код может выглядеть следующим образом:

    Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet.Customers)
    
    this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
    
  3. Если запрос использует параметры, передайте DataTable, которую требуется заполнить, и параметры, ожидаемые запросом.В зависимости от фактических параметров в запросе код будет выглядеть аналогично следующим примерам:

    CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")
    CustomersTableAdapter.FillByCityAndState(NorthwindDataSet.Customers, "Seattle", "WA")
    
    customersTableAdapter.FillByCity(northwindDataSet.Customers, "Seattle");
    customersTableAdapter.FillByCityAndState(northwindDataSet.Customers, "Seattle", "WA");
    

Заполнение набора данных с помощью адаптера данных DataAdapter

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

Для заполнения набора данных с помощью адаптера данных DataAdapter

  • Вызовите метод Fill объекта DataAdapter, передав в него DataSet или DataTable для загрузки данных.Примеры.

    sqlDataAdapter1.Fill(dataset1.Tables("Customers"))
    
    sqlDataAdapter1.Fill(dataset1.Tables["Customers"]);
    

    В обычном случае следует указать имя DataTable для загрузки данных.Если передается имя DataSet вместо конкретной таблицы данных, DataTable с именем Table1 будет добавлена в набор данных и загружена с результатами из базы данных (в отличие от загрузки данных в существующую DataTable в наборе данных).Дополнительные сведения см. в разделе Populating a DataSet from a DataAdapter.

См. также

Основные понятия

Заполнение набора данных

Выборка данных в приложение

Подготовка приложения к получению данных

Привязка элементов управления к данным в Visual Studio

Редактирование данных в приложении

Проверка данных

Сохранение данных