Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

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

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

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

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

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

В обычном случае следует указать имя DataTable для загрузки данных. Если передается имя DataSet вместо конкретной таблицы данных, DataTable с именем Table1 будет добавлена в набор данных и загружена с результатами из базы данных.

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

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

Примечание. При создании форм перетаскиванием элементов из окна Источники данных, большинство изменений данных автоматически обрабатываются через элементы управления с привязкой к данным. При изменении значений в элементе управления, новые значения автоматически записываются в набор данных. Чтобы добавить или удалить записи, нажмите кнопку. Добавить новый или Удалить в элементе управления BindingNavigator.

Чтобы добавить новые записи в набор данных, нужно создать новую строку данных и добавить ее в коллекцию DataRow(Rows) набора данных (DataTable).

Вставка новой записи в типизированный набор данных

В этом примере предполагается, что набор имеет DataTableSuppliers, которая имеет столбцаы с именамиCodeSuppliers, Title, City, Country. Типизированные наборы данных предоставляют имена столбцов в виде свойств объекта типизированногоDataRow; в этом случае CustomersRow.

В следующем примере обяъвляется новый экземпляр класса SuppliersRow, назначается ему новая строка, заполняются столбцы данными и добавляется новая строка в коллекциюRows таблицы Suppliers:

Язык C#

static DataSet SuppliersGoods = new DataSet();

suppliersGoods.SuppliersRow newSuppliersRow =

suppliersGoods.Suppliers.NewSuppliersRow();

NewSuppliersRow.CodeSuppliers = "1";

NewSuppliersRow.Title = "Tecnis";

newSuppliersRow.City = "Москва";

newSuppliersRow.Country = "Россия";

suppliersGoods.Suppliers.Rows.Add(NewSuppliersRow);

Вставка новой записи в нетипизированный набор данных

В этом примере предполагается, что нетипизированный набор данных имеет DataTableSuppliers, который содержит столбцы с именамиCodeSuppliers, Title, City, Country. Нетипизированные наборы данных требуют знание имен столбцов или индексов при кодировании. В этом примере используются имена столбцов.

Чтобы добавить запись в нетипизированный набор данных:

Вызовите метод NewRowобъектаDataTable, чтобы создать новую пустую строку. Эта новая строка наследует структуру столбцов из таблицы данныхDataColumnCollection. Следующий код создает новую строку, заполняет ее данными и добавляет ее в коллекциюRows таблицы.

DataRow newSuppliersRow = suppliersGoods.Tables["Suppliers"].NewRow();

newSuppliersRow["CodeSuppliers"] = 1;

newSuppliersRow["Title"] = "Tecnis";

newSuppliersRow["City"] = "Москва";

newSuppliersRow["Country"] = "Россия";