Шаг 4 в организации работы приложения с базой данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Шаг 4 в организации работы приложения с базой данных



При формировании класса DataSetEmployee необходимо учесть то, что первичные ключи таблиц Employee и JobTitle являются суррогатными и автоматически формируются (ключ со свойством автоинкремент) источником данных (например, MS SQL Server). При формировании новых записей в приложении необходимо обеспечить уникальность первичных ключей для таблиц объекта DataSetEmployee. Это можно обеспечить, задав для ключевых колонок таблиц Employee и JobTitle следующие свойства:

AutoIncrement = true;AutoIncrementSeed = -1;AutoIncrementStep = -1;

Столбец со свойством AutoIncrement равным true генерирует последовательность значений, начинающуюся со значения AutoIncrementSeed и имеющую шаг AutoIncrementStep. Это позволяет генерировать уникальные значения целочисленного столбца первичного ключа. В этом случае при добавлении новой записи в таблицу будет генерироваться новое значение первичного ключа, начиная с -1, -2, -3 и т.д., которое никогда не совпадет с первичным ключом источника данных, т.к. в базе данных генерируются положительные первичные ключи. Свойства AutoIncrementSeed и AutoIncrementStep устанавливаются равными -1, чтобы гарантировать, что когда набор данных будет синхронизироваться с источником данных, эти значения не будут конфликтовать со значениями первичного ключа в источнике данных. При синхронизации DataSet с источником данных, когда добавляют новую строку в таблицу MS SQL Server 2005 с первичным автоинкрементным ключом, значение, которое этот ключ имел в таблице DataSet, заменяется значением, сгенерированным СУБД.

Установка свойств AutoIncrement, AutoIncrementSeed и AutoIncrementStep для колонки первичного ключа EmployeeID таблицы Employee приведена на рисунке 8.12.

Рис. 8.12. Установка свойств для колонки EmployeeID

 

Аналогичные установки свойств AutoIncrement, AutoIncrementSeed и AutoIncrementStep необходимо сделать и для колонки JobTitleID таблицы JobTitle.

 

Шаг 5 в организации работы приложения с базой данных

После создания класса DataSetEmployee и адаптера необходимо создать объекты этих классов, добавив следующий код к файлу FormEmployee.cs.

DataSetEmployee dsEmployee = new DataSetEmployee();DataSetEmployeeTableAdapters.EmployeeTableAdapter daEmployee = new Project_К4И_01.DataSetEmployeeTableAdapters.EmployeeTableAdapter();DataSetEmployeeTableAdapters.JobTitleTableAdapter daJobTitle = new Project_К4И_01.DataSetEmployeeTableAdapters.JobTitleTableAdapter();

После того, как созданы объекты адаптеров данных daEmployee и daJobTitle, а также объект класса DataSetEmployee - dsEmployee необходимо создать метод для заполнения объекта dsEmployee из базы данных (в рассматриваемом примере база данных Employee, созданная в СУБД MS SQL Server 2005). Для заполнения данными dsEmployee из базы данных Employee создадим метод EmployeeFill():

public void EmployeeFill(){ daJobTitle.Fill(dsEmployee.JobTitle); daEmployee.Fill(dsEmployee.Employee); MessageBox.Show("Метод Fill отработал");}

В методе EmployeeFill() для объектов класса DataAdapter применяется метод Fill, который производит заполнение таблиц (JobTitle и Employee) объекта dsEmployee данными из базы данных. Метод Fill адаптера данных DataAdapter требует указания в качестве параметров задания соответствующей таблицы DataSet, то есть dsEmployee.JobTitle и dsEmployee.Employee.

Метод MessageBox.Show введен в метод EmployeeFill для первоначального тестирования, после которого его нужно убрать.

Вызов метода EmployeeFill необходимо добавить в обработчик события Load для формы FormEmployee, возникающего при нажатии на пункт меню "Сотрудник".

Задание на лабораторную работу

  1. Изучите теоретический материал.
  2. Создайте класс DataSetEmployee.
  3. Для разрабатываемого приложения создайте объекты dsEmployee, daJobTitle и daEmployee.
  4. Проведите компиляцию проекта и убедитесь в отсутствии ошибок трансляции.
  5. Разработайте метод Fill для заполнение таблиц DataSet.
  6. Протестировать работу приложения.

 

 



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 97; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.243.184 (0.005 с.)