- •Часть 1.
- •1. Инструментарий среды Visual Studio 2008 по разработке приложений баз данных
- •1.1. Окно Источники данных
- •1.2. Окно Обозреватель баз данных
- •Создание локальной бд с помощью sql Server Compact 3.5 и Visual Studio
- •Общие сведения о локальных данных
- •Добавление в проект базы данных sql Server Compact 3.5
- •Создание новой базы данных sql Server Compact 3.5
- •Добавление существующей базы данных в проект
- •Создание новых таблиц в базе данных
- •Создание столбца с автоматической генерацией значения
- •Создание ограничения ссылочной целостности между таблицами базы данных
- •Заполнение таблиц данными
- •Подключение к данным в приложениях Windows Forms
- •Отображение данных в элементе управления DataGridView в Windows Forms
- •Отображение данных одной таблицы
- •Отображение данных из нескольких связанных таблиц
- •Создание общей таблицы
- •Создание таблицы подстановок
- •Связывание элементов управления Windows Forms с компонентом BindingSource с помощью конструктора
- •Для привязки элемента управления при разработке выполните следующие действия.
- •Переход между строками с помощью элемента управления BindingNavigator
- •Поиск заданной строки в таблице
- •Поиск строки со значением первичного ключа
- •Поиск строк по значениям столбцов
- •Диалоговое окно Построитель условий поиска
- •Агрегирование
- •Вычисляемые поля
- •Модификация строк в наборах данных
- •Добавление строк в наборы данных
- •Получение определенных версий объекта DataRow
- •Редактирование строк в объекте DataTable
- •Удаление строк из объекта DataTable
- •Сохранение данных в источнике данных
- •Чтобы внести изменения в набор данных вызовите метод AcceptChanges в DataSet, DataTable или DataRow:
- •Получение измененных записей
- •Дополнительные сведения по работе с базами данных в Visual Studio
- •Наборы данных в Visual Studio
- •Описание основных компонентов по работе с базами данных
- •Лабораторная работа №3 Создание базы данных «Автотранспорт»
- •Лабораторная работа №4 Агрегированные и вычисляемые поля
- •Лабораторная работа №5 Подстановочные, агрегированные и вычисляемые поля
- •Лабораторная работа №6 Проверочная
- •Лабораторная работа №7 Редактирование
- •Лабораторная работа №8 Поиск и сортировка данных
Создание общей таблицы
В окне Источник данных в контекстном меню к верхнему узлу источника данных выберите команду Изменить набор данных в конструкторе:
В результате откроется окно Контсруктор данных. В контекстном меню к рабочей области окна Конструктор данных выберите команды Добавить, TableAdapter:
В результате откроется окно Мастер подключения адаптера таблицы и нажмите кнопку Далее:
В следующем окне включите перключатель Использовать инструкцию SQLи нажмите кнопкуДалее:
В следующем окне нажмите кнопку Построитель запросов
В результате откроется окно Построитель запросов:
С помощью кнопки Добавить добавьте две таблицы в окно Построитель запросов и нажмите Закрыть в окне Добавление таблицы.
В результате обе таблицы появятся в поле Построителя запросов. Выберите в таблицах поля, необходимые для отображения в общей таблице:
Нажмите кнопку Выполнить запрос:
Если в таблице отобразились необходимые данные, то нажмите OK.
Далее, отключите опцию Вернуть таблицу данных:
Нажмите кнопку Далее:
В появившемся окне нажмите кнопку Готово. В источнике данных появился новый объект: DateTable1. В конструкторе данных с помощью контекстного меню к DateTable1 выберите команду Переименовать и введите имя общей таблицы.
Результат: Будет создано новое отношение, содержащее поля из обеих таблиц и метод, позволяющий заносить в эти поля данные из обеих таблиц по принципу естественного соединения
Добавьте таблицу на форму.
Создание таблицы подстановок
Термин таблица подстановок обозначает элемент управления, присоединенный к двум связанным таблицам данных. Эти подстановочные элементы управления отображают данные из первой таблицы, базирующиеся на значениях, выбранных во второй таблице.
Таблица подстановки используется для отображения информации из одной таблицы на основе значения поля внешнего ключа другой таблицы. Например, рассмотрим таблицу Worker в базе данных Sotrudnics. Каждая запись в таблице Worker включает значение поля passport, указывающее, сведения о каком сотруднике хранит данная запись. Поле passport является внешним ключом, указывающим на запись о сотруднике в таблице Person. При представлении списка должностей возможно потребуется отобразить не паспорт, а имя сотрудника. Поскольку имя сотрудника находится в другой таблице, а список должностей выбирается из таблицы Workers, необходимо создать таблицу подстановки, которая принимает значение passport в записи Workers и использует это значение для перемещения по связи, а затем возвращает имя сотрудника. Эта концепция называется таблицей подстановок.
Таблица подстановок создается установкой свойств в поле со списком passport подчиненной таблицы.
Примечание. В свойствах таблицы подстановок для правильной работы необходимо сделать слдующие настройки:
Свойство |
Объяснение настройки |
DataSource |
Установите в этом свойстве источник данных BindingSource таблицы, столбец которой необходимо отобразить. |
DisplayMember |
Установите в этом свойстве имя столбца, который необходимо отобразить. |
ValueMember |
Установите в этом свойстве первичный ключ таблицы, столбец которой необходимо отобразить. |
SelectedValue |
Установите в этом свойстве имя столбца внешнего ключа связанной таблицы. |
Для таблиц подстановок требуется, чтобы две связанные таблицы (родитеьская и дочерняя) или два связанных объекта были доступны в окне Источники данных.
Чтобы создать таблицу подстановок и пользовательский интерфейс к ней в виде списка подстановочных значений:
Откройте окно Источники данных.
Найдите в родительской таблице узел, связывающий две таблицы и измените его тип передачи на ComboBox, выбрав ComboBox из списка элементов управления.
Перетащите из окна Источники данных из родительской таблицы узел, связывающий две таблицы на форму.
Внимание.
На форме появится три объекта:
Затем перетащите главный узел дочерней таблицы из окна Источники данных непосредственно на подстановочный элемент управления (ComboBox).
Настройте свойства подстановочного поля, т.е объекта pasportComboBox:
Поле для связи со стороны подчиненной таблицы: ValueMember= pasport;
Поле для связи со стороны родительской таблицы: SelectedValue= personBindingSource - pasport;
Источник данных: DataSource = workerBindingSource$
Поле, отображаемое в объекте pasportComboBox: DisplayMember= work.
Все остальные поля в разделе Данные оставить незаполненными или со значением Нет.
Теперь привязки подстановок установлены.
Смените свойство Text у объекта pasportLabel с Pasport на Должность.
Для отображения второго подстановочного поля необходимо скопировать уже созданное и поменять свойство DisplayMember= salary.
Для добавления поля из родительской таблицы необходимо:
В окне Источник данных установить тип поля: Textbox.
Перетащить поле из окна Источник данных на форму.
Для отображения обычного (не подстановочного) поля из подчиненной таблицы необходимо:
В окне Источник данных установить тип поля: Textbox.
Перетащить поле из окна Источник данных на форму.
Внимание. Навигатор должен быть привязан к источнику данных главной таблицы.
Внимание. Все действия должны проводится со связанными в иерархию «Главная-подчиненная» таблицами. В окне Источник данных эти таблицы отображаются в виде узла и подузла:
Пример подстановочных полей:
При смене в списке Должность должности Иванова автоматически меняется зарплата. При смене значения в списке Зарплата автоматически меняется должность. При смене с помощью навигатора фамилии сотрудника автоматически меняется содержимое всех полей формы.
