Главная страница

КП программаня инженерия. Разработка программы для учета расхода горючего по автомобилям


Скачать 0.52 Mb.
НазваниеРазработка программы для учета расхода горючего по автомобилям
Дата21.02.2023
Размер0.52 Mb.
Формат файлаdocx
Имя файлаКП программаня инженерия.docx
ТипКурсовая
#948993
страница4 из 9
1   2   3   4   5   6   7   8   9

МЕТОДЫ И АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ


Метод в объектно-ориентированном программировании — это функция или процедура, принадлежащая какому-то классу или объекту.

Имеются несколько основных компонент (классов), которые используются для доступа к БД.

Эти классы делятся на две группы:

 невизуальные: DataSet, DataTable, DataView, DataColumn, DataRow, TableAdapter, BindingSource

 визуальные: DataGridView, TextBox, ComboBox, Label

Первая группа включает невизуальные классы, которые используются для управления базами данных, таблицами и связей между базой данных и формой. Эта группа сосредотачивается вокруг компонент типа DataSet, TableAdapter и BindingSource. В Панели Элементов они расположены на странице «Данные».

Вторая важная группа классов - визуальные, которые показывают данные пользователю, и позволяют ему просматривать и модифицировать их. Эта группа классов включает компоненты типа DataGridView, ComboBox, TextBox, Label. В Панели Элементов они расположены на странице «Стандартные Элементы Управления».

Для связи DataGridView и других визуальных элементов формы с источниками данных используются два компонента — это компонент BindingSource и компонент TableAdapter. Первый из них инкапсулирует источник данных для визуальных элементов формы, а второй обеспечивает связь с источником данных. Помещая эти компоненты на форму, необходимо изменить модификатор доступа на public.

Оба компонента позволяют упростить процесс привязки элементов управления к базовым источникам данных и способствуют уменьшению объема программного кода. Вместе с тем они требуют достаточно сложной настройки и имеют ограниченные возможности управления данными.

Компонент BindingSource обеспечивает возможность универсальной привязки всех визуальных элементов управления формы к источникам данных. Если тип данных, содержащихся в источнике, реализует интерфейс NotifyPropertyChanged, то это позволяет компоненту BindingSource автоматически обнаруживать изменения в источнике данных.

Все запросы к пользователю в программе реализованы с помощью пунктов меню.

В таблице 8 отображено назначение обработчиков событий.

Таблица 8 ‑ Назначение обработчиков событий

Название процедуры

Назначение

private void Form1_Load(object sender, EventArgs e)

Инициализация формы

private void button1_Click_1(object sender, EventArgs e)


Обновление БД

private void button3_Click_1(object sender, EventArgs e)

Удаление данных в БД

private void Button4_Click_1(object sender, EventArgs e)

Выход из программы

Для реализации запросов применялись следующие компоненты: DataGridView,Button, BindingSource, DataSet, генерируемые объекты для БД.

Запрос «Расчет разницы расходования горючего» (текст на языке SQL):

SELECT Автомобиль.Марка_автомобиля, Бензин.Марка_горючего, Расход.Расход_по_норме, Бензин.Цена, Расход.Расход_фактический, [Расход_фактический]-[Расход_по_норме] AS Разница_л, Sum(([Расход_фактический]-[Расход_по_норме])*[Цена]) AS Разница_руб

FROM Бензин INNER JOIN (Автомобиль INNER JOIN Расход ON Автомобиль.Номер_автомобиля = Расход.Номер_автомобиля) ON Бензин.Номер_горючего = Расход.Номер_горючего

GROUP BY Автомобиль.Марка_автомобиля, Бензин.Марка_горючего, Расход.Расход_по_норме, Бензин.Цена, Расход.Расход_фактический, [Расход_фактический]-[Расход_по_норме];

Отчёт реализован с помощью компонента reportViewer.

Самый простой способ внедрения функциональных возможностей создания отчетов в приложения Windows Forms – добавить элемент управления ReportViewer в форму приложения. Этот элемент управления непосредственно наделяет приложение возможностями просмотра и обработки отчетов и предоставляет встроенный конструктор отчетов, позволяющий составлять отчеты, используя данные из любого объекта данных ADO.NET. Полнофункциональный API обеспечивает программный доступ к элементу управления и отчетам, позволяя настраивать функциональность, доступную во время выполнения.

ReportViewer – это отдельный, свободно распространяемый элемент управления данными, предоставляющий встроенные возможности обработки и просмотра отчетов. Имеет смысл использовать элемент управления ReportViewer, если требуются следующие функциональные возможности:

– привязка данных к таблицам данных ADO.NET. Можно создавать отчеты, использующие экземпляры объектов DataTable;

свободно распространяемые элементы управления, которые можно включить в приложение;

– функциональные возможности времени выполнения, такие как навигация по страницам, печать, поиск и форматы экспорта. Поддержку этих операций обеспечивает панель инструментов ReportViewer

Источником данных для него служит запрос, созданный в нашей базе данных. Так же в отчете производится группировка данных с подсчетом итогов.

Запрос для отчета 1 «Отчет о расходовании горючего с группировкой по автомобилям» (текст на языке SQL):

SELECT Автомобиль.Марка_автомобиля, Sum([Расход_по_норме]*[Цена]) AS Итого_по_нормативу, Sum([Расход_фактический]*[Цена]) AS Итого_факту

FROM Бензин INNER JOIN (Автомобиль INNER JOIN Расход ON Автомобиль.Номер_автомобиля = Расход.Номер_автомобиля) ON Бензин.Номер_горючего = Расход.Номер_горючего

GROUP BY Автомобиль.Марка_автомобиля;

Запрос для отчета 2 «Отчет о расходовании горючего с группировкой по месяцам» (текст на языке SQL):

SELECT MonthName(Month(Расход![Дата_расхода])) AS Выражение1, Sum([Расход_по_норме]*[Цена]) AS Итого_по_нормативу, Sum([Расход_фактический]*[Цена]) AS Итого_факту

FROM Бензин INNER JOIN (Автомобиль INNER JOIN Расход ON Автомобиль.Номер_автомобиля = Расход.Номер_автомобиля) ON Бензин.Номер_горючего = Расход.Номер_горючего

GROUP BY MonthName(Month(Расход![Дата_расхода]));


1   2   3   4   5   6   7   8   9


написать администратору сайта