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

Обновлен: Ноябрь 2007

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

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

ms171920.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

ms171920.alert_note(ru-ru,VS.90).gifПримечание.

По умолчанию при каждом выполнении запроса объекта 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 в наборе данных). Дополнительные сведения см. в разделе Заполнение DataSet из DataAdapter (ADO.NET).

См. также

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

Общие сведения о заполнении наборов данных и запросе данных

Другие ресурсы

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

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

Отображение данных на форме в приложениях Windows

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

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

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