Лекция Работа с базой данных 
2. Подключение к БД
3. Интерфейс главного окна
4. Авторизация
5. Регистрация
6. Отображение в сетке содержимого таблицы БД
7. Организация списка по таблице-справочнику
8. Добавление записи с введенными значениями в таблицу БД
Добавление записи в таблицу Журнал
9. Список по выбранному ключу
10. Отображение в сетке содержимого таблицы
11. Фильтрация содержимого сетки DataGrid
Вызвать данный метод в нужных обработчиках событий:
12. Столбец с кнопками в DataGrid
14. Редактирование данных в сетке
15. Сохранение вида страницы в формате pdf
16. Обновление данных на странице без обновления приложения
17. Использование вспомогательного класса для добавления данных в таблицу БД
18. Удаление записи из таблицы БД
19. Применение MVC
20. Экспорт данных в Excel
2.24M
Category: softwaresoftware

Работа с базой данных

1. Лекция Работа с базой данных 

Лекция
Работа с базой данных

2.

Создать БД и модель
Создать таблицы БД, организовать связи между ними в MS
Management Studio
В проекте организовать папку для модели БД
Добавить в нее элемент - модель ADO.NET.EDM
Создать соединение:
1.
написать имя сервера
выбрать вариант входа на сервер
выбрать имя базы данных
выбрать версию Framework
выбрать таблицы БД

3.

4. 2. Подключение к БД

Добавить класс (AppConnect)
Написать в нем подключение
Подключить ту же самую модель как объект к главному окну
MainWindow

5. 3. Интерфейс главного окна

Для организации переходов между страницами разместить в
разметке фрейм, отключить в нем панель навигации
Добавить класс (AppFrame)
Прописать фрейм в коде главного окна
Для каждой добавляемой страницы приложения организовать в
проекте отдельную папку

6.

Переход к странице
Переход Назад
Заголовок страницы в соответствии с содержимым (TextBlock)

7.

Обращение к БД выполняется посредством созданного ранее
класса AppConnect
Модель (modelOdb) видит входящие в БД таблицы в качестве
атрибутов

8.

9. 4. Авторизация

LINQ-запрос
Возвращаем в переменную userObj все значения из таблицы
User, которые совпали по введенным в текстовые поля логину и
паролю
Метод LINQ-запроса FirstOrDefault
элемент последовательности
возвращает
первый

10.

11. 5. Регистрация

метод Count LINQ-запроса
удовлетворяющих условию
определяет
число
записей,
Добавление нового пользователя (запись в таблицу User):
Создаем новый объект UserObj класса User и присваиваем его свойствам
значения из компонентов страницы Регистрация
Записываем созданный объект в таблицу БД User

12. 6. Отображение в сетке содержимого таблицы БД

Разместить компонент DataGrid
Организовать в нем колонки, привязать их к полям нужной
таблицы (Binding):
Передать данные из таблицы БД (ItemsSource)

13. 7. Организация списка по таблице-справочнику

Компонент ComboBox

14. 8. Добавление записи с введенными значениями в таблицу БД

Создать объект нужного класса, заполнить его поля значениями
Добавить запись в таблицу БД, сохранить изменения

15. Добавление записи в таблицу Журнал

16.

17. 9. Список по выбранному ключу

18.

Компонент ComboBox (выбор студента)
Событие SelectionChanged списка групп:

19.

20.

21. 10. Отображение в сетке содержимого таблицы

DataGrid:
В нем создаем
DataGrid.Columns
Прописываем нужное число
колонок нужного типа
Каждую колонку
привязываем к полю
нужной таблицы

22.

В коде достаточно указать основную таблицу – источник данных
для данной сетки

23.

24.

25. 11. Фильтрация содержимого сетки DataGrid

можно написать в обработчике события:
Click для кнопки Button
SelectionChanged для списка ComboBox

26.

Формирование списка групп
из БД
Фильтрация по группе

27.

Формирование списка форм
обучения из БД
Фильтрация по форме
обучения
можно написать в обработчике события:
Click для кнопки Button
SelectionChanged для списка ComboBox

28.

Фильтрация по ФИО
в обработчике события:
TextChanged для поля TextBox

29.

Фильтрация по нескольким параметрам: создать метод с фильтрами

30. Вызвать данный метод в нужных обработчиках событий:

31. 12. Столбец с кнопками в DataGrid

Добавить в DataGrid колонку DataGridTemplateColumn
Организовать в ней разметку с помощью тегов:
Внутри разметки добавить кнопку

32.

Щелчок по кнопке Оценки будет открывать новую страницу (PageStudentJournal), на
которой отобразятся оценки выбранного студента (то есть содержимое таблицы,
подчиненной к таблице Студенты)

33.

13. Отображение данных из подчиненной таблицы
В сетке DataGrid нужно сделать такие же настройки как на странице Список студентов, создать
две колонки, установить им ширину (*), задать заголовки, и установить привязку к
соответствующим полям таблиц БД (Binding)
В код этой страницы внести изменения:

34.

35. 14. Редактирование данных в сетке

Защитить столбец сетки от редактирования данных
Сохранить изменения в таблице БД

36. 15. Сохранение вида страницы в формате pdf

Дать имя контейнеру компоновки
страницы (например GridAll)
Код для команды Печать:
Grid
соответствующей
Открывается диалог сохранения файла, предлагается формат
pdf, содержимое файла полностью передает вид страницы

37.

Чтобы скрыть в документе нежелательные компоненты, в код
вывода на печать добавим строки:

38.

Можно использовать одну кнопку для организации заголовка
документа:

39. 16. Обновление данных на странице без обновления приложения

Создать таймер - объект DispatcherTimer
Указать интервал обновления
Создать обработчик события Tick для таймера

40.

41. 17. Использование вспомогательного класса для добавления данных в таблицу БД

Создать вспомогательный класс
На нужной странице передать значение из текущей записи
Создать объект нужного класса и добавить его в таблицу БД

42. 18. Удаление записи из таблицы БД

43. 19. Применение MVC

44.

45.

46. 20. Экспорт данных в Excel

Подключаем библиотеку для работы с Excel

47.

Добавляем кнопку экспорта
Подключаем пространство имен для работы с Excel

48.

49.

Формируем список записей для экспорта
Создаем проект Excel, книгу и лист
Определяем диапазон ячеек шапки, задаем параметры форматирования
Выводим заголовки столбцов

50.

Процесс экспорта выполняется в цикле, который перебирает все
элементы сформированного списка

51.

Наполняем тело цикла (экспортом данных о каждом отдельном
студенте Spisok[i])

52.

Для каждого студента нужно вывести оценки из таблицы Journal
Формируем список оценок конкретного студента
Дополнительным циклом выводим оценки

53.

Для вывода названия дисциплины находим ее в таблице
Disciplina
Рассчитываем средний балл студента и выводим его в нужную
ячейку листа книги Excel
Отображаем отчет на экране
English     Русский Rules