Практическое руководство. Заполнение данными набора данных
Обновлен: Ноябрь 2007
Заполнение набора данных фактически означает загрузку данных в отдельные объекты DataTable, составляющие набор данных. Таблицы данных заполняются путем выполнения запросов к адаптеру таблицы TableAdapter или вызова команд адаптера обработки данных (например, SqlDataAdapter).
Необходимость использования объектов TableAdapter или адаптеров обработки данных зависит от способа создания набора данных. При использовании средств разработки в Visual Studio, например Мастер конфигурации источников данных, набор данных содержит адаптеры таблиц TableAdapter. Дополнительные сведения об адаптерах таблиц TableAdapter см. в разделе Общие сведения об адаптере таблиц. Если набор данных был создан программно, то, как правило, для загрузки данных в таблицы необходимо создание адаптеров обработки данных. Дополнительные сведения см. в разделе Знакомство с адаптерами данных.
Примечание. |
---|
При перетаскивании элементов из Окно "Источники данных" на форму код для заполнения таблицы данными автоматически добавляется к обработчику событий Form_Load. Откройте форму в редакторе кода для просмотра точного синтаксиса заполнения отдельных таблиц. Если не требуется выполнять заполнение таблицы при загрузке формы, можно переместить этот код в другой метод или вообще удалить его. |
Заполнение набора данных с помощью адаптера таблицы TableAdapter
Можно вызвать запрос как метод объекта TableAdapter для загрузки данных в таблицы набора данных. Передайте DataTable, которую требуется заполнить, запросу адаптера таблицы TableAdapter. Если запрос использует параметры, также передайте их в метод. Если набор данных содержит несколько таблиц, следует иметь отдельные адаптеры таблиц TableAdapters для каждой таблицы и, следовательно, заполнять каждую таблицу отдельно.
Примечание. |
---|
По умолчанию при каждом выполнении запроса объекта TableAdapter данные в таблице очищаются перед загрузкой результатов запроса в таблицу. Можно сохранить существующие данные в таблице и добавить результаты, присвоив свойству ClearBeforeFill адаптера таблиц TableAdapter значение false. |
Для заполнения набора данных с помощью адаптера таблицы TableAdapter
Откройте форму или компонент в окне Редактор кода.
Добавьте код в любое место в приложении, где необходимо загрузить данные в таблицу. Если запрос не требует параметров, передайте DataTable, которую требуется заполнить. Код может выглядеть следующим образом:
Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet.Customers)
this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
Если запрос использует параметры, передайте 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